Skip to content

Commit e78e594

Browse files
author
abregman
committed
Add a couple of questions
1 parent 0f4c627 commit e78e594

File tree

2 files changed

+179
-10
lines changed

2 files changed

+179
-10
lines changed

README.md

Lines changed: 179 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
:information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
44

5-
:bar_chart:  There are currently **1013** questions
5+
:bar_chart:  There are currently **1035** questions
66

77
:warning:  You can use these for preparing for an interview but most of the questions and exercises don't represent an actual interview. Please read [Q&A](common-qa.md) for more details
88

@@ -64,6 +64,7 @@
6464
<td align="center"><a href="#databases"><img src="images/databases.png" width="75px;" height="75px;" alt="Databases"/><br /><b>Databases</b></a></td>
6565
<td align="center"><a href="#regex"><img src="images/regex.png" width="75ph;" height="75px;" alt="RegEx"/><br /><b>Regex</b></a><br /><sub><a href="#regex-beginner">Beginner :baby:</a></sub><br><sub></td>
6666
<td align="center"><a href="#design"><img src="images/design.png" width="110px;" height="75px;" alt="Design"/><br /><b>Design</b></a></td>
67+
<td align="center"><a href="#hardware"><img src="images/hardware.png" width="110px;" height="75px;" alt="Hardware"/><br /><b>Hardware</b></a></td>
6768
<td align="center"><a href="#questions-you-ask"><img src="images/you.png" width="110px;" height="75px;" alt="you"/><br /><b>Questions you ask</b></a></td>
6869
<td align="center"><a href="#exercises"><img src="images/exercises.png" width="110px;" height="75px;" alt="Exercises"/><br /><b>Exercises</b></a></td>
6970
</tr>
@@ -1873,7 +1874,15 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
18731874
<summary>Do you have experience with hardening servers? Can you describe the process?</summary><br><b>
18741875
</b></details>
18751876

1876-
##### Network
1877+
##### Linux - Networking
1878+
1879+
<details>
1880+
<summary>How to list all interfaces?</summary><br><b>
1881+
</b></details>
1882+
1883+
<details>
1884+
<summary>How to disable an interface?</summary><br><b>
1885+
</b></details>
18771886

18781887
<details>
18791888
<summary>What is a network namespace? What is it used for?</summary><br><b>
@@ -1898,6 +1907,12 @@ lsof -i -n -P | grep <port_number>
18981907
<summary>What is a virtual IP? In what situation would you use it?</summary><br><b>
18991908
</b></details>
19001909

1910+
<details>
1911+
<summary>True or False? The MAC address of an interface is assigned/set by the OS</summary><br><b>
1912+
1913+
False
1914+
</b></details>
1915+
19011916
<details>
19021917
<summary>Can you have more than one default gateway in a given system?</summary><br><b>
19031918

@@ -2032,6 +2047,12 @@ Upstart: add Upstart init script at /etc/init/service.conf
20322047
<summary>What is CUPS?</summary><br><b>
20332048
</b></details>
20342049

2050+
<details>
2051+
<summary>What types of web servers are you familiar with?</summary><br><b>
2052+
2053+
Nginx, Apache httpd.
2054+
</b></details>
2055+
20352056
##### Users
20362057

20372058
<details>
@@ -2046,12 +2067,16 @@ Upstart: add Upstart init script at /etc/init/service.conf
20462067
<summary>How do you change/set the password of a user?</summary><br><b>
20472068
</b></details>
20482069

2070+
<details>
2071+
<summary>Which file stores users passwords? Is it visible for everyone?</summary><br><b>
2072+
</b></details>
2073+
20492074
<details>
20502075
<summary>Do you know how to create a new user without using adduser/useradd command?</summary><br><b>
20512076
</b></details>
20522077

20532078
<details>
2054-
<summary>What information is stored in /etc/passwd?</summary><br><b>
2079+
<summary>What information is stored in /etc/passwd? explain each field</summary><br><b>
20552080
</b></details>
20562081

20572082
<details>
@@ -2068,6 +2093,10 @@ su command.
20682093
Use su - to switch to root
20692094
</b></details>
20702095

2096+
<details>
2097+
<summary>What is the UID the root user? What about a regular user?</summary><br><b>
2098+
</b></details>
2099+
20712100
<details>
20722101
<summary>What can you do if you lost/forogt the root password?</summary><br><b>
20732102

@@ -2078,6 +2107,10 @@ Re-install the OS IS NOT the right answer :)
20782107
<summary>What is sudo? How do you set it up?</summary><br><b>
20792108
</b></details>
20802109

2110+
<details>
2111+
<summary>What is /etc/skel?</summary><br><b>
2112+
</b></details>
2113+
20812114
<details>
20822115
<summary>How to see a list of who logged-in to the system?</summary><br><b>
20832116

@@ -2297,7 +2330,7 @@ These system calls are reading the file <code>/my/file</code> and 5 is the file
22972330
<summary>You found there is a server with high CPU load but you didn't find a process with high CPU. How is that possible?</summary><br><b>
22982331
</b></details>
22992332

2300-
##### Linux Networking
2333+
##### Linux Advanced - Networking
23012334

23022335
<details>
23032336
<summary>When you run <code>ip a</code> you see there is a device called 'lo'. What is it and why do we need it?</summary><br><b>
@@ -6027,7 +6060,7 @@ startap-script
60276060
* Manage virtual instances
60286061
</summary><br><b>
60296062

6030-
* Glance - Copy or snapshot instances
6063+
* Glance - Images Service. Also used for copying or snapshot instances
60316064
* Horizon - GUI for viewing and modifying resources
60326065
* Cinder - Block Storage
60336066
* Nova - Manage virtual instances
@@ -6065,8 +6098,16 @@ startap-script
60656098
<summary>How do you debug OpenStack compute issues? (tools, logs, ...)</summary><br><b>
60666099
</b></details>
60676100

6101+
#### OpenStack Deployment & TripleO
6102+
6103+
<details>
6104+
<summary>Have you deployed OpenStack in the past? If yes, can you describe how you did it?</summary><br><b>
6105+
</b></details>
6106+
60686107
<details>
6069-
<summary>Are you familiar with TripleO? How is it different from Devstack?</summary><br><b>
6108+
<summary>Are you familiar with TripleO? How is it different from Devstack or Packstack?</summary><br><b>
6109+
6110+
You can read about TripleO right [here](https://docs.openstack.org/tripleo-docs/latest)
60706111
</b></details>
60716112

60726113
#### OpenStack Compute
@@ -6122,6 +6163,20 @@ startap-script
61226163
* neutron-server - exposes networking API and passes requests to other plugins if required
61236164
</b></details>
61246165

6166+
<details>
6167+
<summary>Explain these network types:
6168+
6169+
* Management Network
6170+
* Guest Network
6171+
* API Network
6172+
* External Network</summary><br><b>
6173+
6174+
* Management Network - used for internal communication between OpenStack components. Any IP address in this network is accessible only within the datacetner
6175+
* Guest Network - used for communication between instances/VMs
6176+
* API Network - used for services API communication. Any IP address in this network is publicly accessible
6177+
* External Network - used for public communication. Any IP address in this network is accessible by anyone on the internet
6178+
</b></details>
6179+
61256180
<details>
61266181
<summary>What is a provider network?</summary><br><b>
61276182
</b></details>
@@ -6154,6 +6209,80 @@ startap-script
61546209
<summary>How do you debug OpenStack networking issues? (tools, logs, ...)</summary><br><b>
61556210
</b></details>
61566211

6212+
#### OpenStack - Glance
6213+
6214+
<details>
6215+
<summary>Explain Glance in detail</summary><br><b>
6216+
6217+
* Glance is the OpenStack image service
6218+
* It handles requests related to instances disks and images
6219+
* Glance also used for creating snapshots for quick instances backups
6220+
* Users can use Glance to create new images or upload existing ones
6221+
</b></details>
6222+
6223+
<details>
6224+
<summary>Describe Glance architecture</summary><br><b>
6225+
6226+
* glance-api - responsible for handling image API calls such as retrieval and storage. It consists of two APIs: 1. registry-api - responsible for internal requests 2. user API - can be accessed publicly
6227+
* glance-registry - responsible for handling image metadata requests (e.g. size, type, etc). This component is private which means it's not available publicly
6228+
* metadata definition service - API for custom metadata
6229+
* database - for storing images metadata
6230+
* image repository - for storing images. This can be a filesystem, swift object storage, HTTP, etc.
6231+
</b></details>
6232+
6233+
#### OpenStack - Swift
6234+
6235+
<details>
6236+
<summary>Explain Swift in detail</summary><br><b>
6237+
6238+
* Swift is Object Store service and is an highly available, distributed and consistent store designed for storing a lot of data
6239+
* Swift is distributing data across multiple servers while writing it to multiple disks
6240+
* One can choose to add additional servers to scale the cluster. All while swift maintaining integrity of the information and data replications.
6241+
</b></details>
6242+
6243+
<details>
6244+
<summary>Can users store by default an object of 100GB in size?</summary><br><b>
6245+
6246+
Not by default. Object Storage API limits the maximum to 5GB per object but it can be adjusted.
6247+
</b></details>
6248+
6249+
<details>
6250+
<summary>Explain the following in regards to Swift:
6251+
6252+
* Container
6253+
* Account
6254+
* Object </summary><br><b>
6255+
6256+
* Container - Defines a namespace for objects.
6257+
* Account - Defines a namespace for containers
6258+
* Object - Data content (e.g. image, document, ...)
6259+
</b></details>
6260+
6261+
<details>
6262+
<summary>True or False? there can be two objects with the same name in the same container but not in two different containers</summary><br><b>
6263+
6264+
False. Two objects can have the same name if they are in different containers.
6265+
</b></details>
6266+
6267+
#### OpenStack - Swift
6268+
6269+
<details>
6270+
<summary>Explain Cinder in detail</summary><br><b>
6271+
6272+
* Cinder is OpenStack Block Storage service
6273+
* It basically provides used with storage resources they can consume with other services such as Nova
6274+
* One of the most used implementations of storage supported by Cinder is LVM
6275+
* From user perspective this is transparent which means the user doesn't know where, behind the scenes, the storage is located or what type of storage is used
6276+
</b></details>
6277+
6278+
<details>
6279+
<summary>Describe Cinder's components</summary><br><b>
6280+
6281+
* cinder-api - receives API requests
6282+
* cinder-volume - manages attached block devices
6283+
* cinder-scheduler - responsible for storing volumes
6284+
</b></details>
6285+
61576286
#### OpenStack - Keystone
61586287

61596288
<details>
@@ -6210,25 +6339,29 @@ A list of services and their endpoints
62106339
* Swift
62116340
* Sahara
62126341
* Ironic
6342+
* Trove
62136343
* Aodh
62146344
* Ceilometer</summary><br><b>
62156345

62166346
* Swift - highly available, distributed, eventually consistent object/blob store
62176347
* Sahara - Manage Hadoop Clusters
62186348
* Ironic - Bare Metal Provisioning
6349+
* Trove - Database as a service that runs on OpenStack
62196350
* Aodh - Alarms Service
62206351
* Ceilometer - Track and monitor usage
62216352
</b></details>
62226353

62236354
<details>
62246355
<summary>Identify the service/project used for each of the following:
62256356

6357+
* Database as a service which runs on OpenStack
62266358
* Bare Metal Provisioning
62276359
* Track and monitor usage
62286360
* Alarms Service
62296361
* Manage Hadoop Clusters
62306362
* highly available, distributed, eventually consistent object/blob store</summary><br><b>
62316363

6364+
* Database as a service which runs on OpenStack - Trove
62326365
* Bare Metal Provisioning - Ironic
62336366
* Track and monitor usage - Ceilometer
62346367
* Alarms Service - Aodh
@@ -7718,6 +7851,30 @@ DNS redirection
77187851
<summary>Explain "Branch by Abstraction" technique</summary><br><b>
77197852
</b></details>
77207853

7854+
## Hardware
7855+
7856+
<details>
7857+
<summary>What is a processor?</summary><br><b>
7858+
</b></details>
7859+
7860+
<details>
7861+
<summary>What is RAM?</summary><br><b>
7862+
</b></details>
7863+
7864+
<details>
7865+
<summary>What is an embedded system?</summary><br><b>
7866+
</b></details>
7867+
7868+
<details>
7869+
<summary>Can you give an example of an embedded system?</summary><br><b>
7870+
7871+
Raspberry Pi
7872+
</b></details>
7873+
7874+
<details>
7875+
<summary>What types of storage are there?</summary><br><b>
7876+
</b></details>
7877+
77217878
## Exercises
77227879

77237880
Exercises are all about:
@@ -7729,17 +7886,29 @@ Exercises are all about:
77297886

77307887
Below you can find several exercises
77317888

7889+
#### Containers
77327890
* [Writing a Dockerfile and running a container](exercises/write_dockerfile_run_container.md)
7733-
* [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md)
7734-
* [ELK & Filebeat](exercises/eflk.md)
7735-
* [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md)
7736-
* [Cloud Slack bot](exercises/cloud_slack_bot.md)
7891+
7892+
#### Jenkins
7893+
77377894
* [Jenkins: writing scripts](exercises/jenkins_scripts.md)
77387895
* [Jenkins: writing pipelines](exercises/jenkins_pipelines.md)
7896+
7897+
#### CI
7898+
77397899
* [CI for open source project](exercises/ci_for_open_source_project.md)
7900+
7901+
#### Mixed
7902+
77407903
* [Flask, Containers and CI](exercises/flask_container_ci/README.md)
77417904
* [Flask, Containers and CI 2](exercises/flask_container_ci2/README.md)
77427905

7906+
#### Misc
7907+
7908+
* [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md)
7909+
* [ELK & Filebeat](exercises/eflk.md)
7910+
* [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md)
7911+
* [Cloud Slack bot](exercises/cloud_slack_bot.md)
77437912

77447913
## Credits
77457914

images/hardware.png

3.32 KB
Loading

0 commit comments

Comments
 (0)