Skip to content

Commit 5d4942a

Browse files
author
abregman
committed
800 questions milestone
1 parent d4cd1e2 commit 5d4942a

File tree

1 file changed

+102
-17
lines changed

1 file changed

+102
-17
lines changed

README.md

Lines changed: 102 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
:information_source:  This repository contains questions on various DevOps and SRE related topics
44

5-
:bar_chart:  There are currently **786** questions
6-
7-
:books:  To learn more about DevOps check the resources in [DevOpsBit.com](https://devopsbit.com)
5+
:bar_chart:  There are currently **800** questions
86

97
:warning:  The purpose of this repo is to help you test your knowledge and prepare for interviews. It doesn't represents a DevOps interview. Please read [Q&A](common-qa.md) for more details
108

@@ -888,6 +886,10 @@ CSMA/CD algorithm:
888886
* hub</summary><br><b>
889887
</b></details>
890888

889+
<details>
890+
<summary>How does a router works?</summary><br><b>
891+
</b></details>
892+
891893
<details>
892894
<summary>What is NAT?</summary><br><b>
893895
</b></details>
@@ -1169,8 +1171,6 @@ systemd has many features such as user processes control/tracking, snapshot supp
11691171
If we visualize the unix/linux system in layers, systemd would fall directly after the linux kernel.
11701172

11711173
Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
1172-
1173-
11741174
</b>
11751175
</details>
11761176

@@ -1188,7 +1188,7 @@ Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
11881188
<summary>How do you kill a process in D state?</summary><br><b>
11891189
</b></details>
11901190

1191-
##### Debugging
1191+
##### Debugging (Beginner)
11921192

11931193
<details>
11941194
<summary>What are you using for troubleshooting and debugging <b>network</b> issues?</summary><br><b>
@@ -1223,11 +1223,16 @@ Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
12231223
</b></details>
12241224

12251225
<details>
1226-
<summary>You get a call saying "my system is slow" - how would you deal with it?</summary><br><b>
1226+
<summary>You get a call from someone claiming "my system is SLOW". What do yo do?</summary><br><b>
1227+
1228+
* Check with `top` for anything unusual
1229+
* Run `dstat -t` to check if it's related to disk or network.
1230+
* Check if it's network related with `sar`
1231+
* Check I/O stats with `iostat`
1232+
</b></details>
12271233

1228-
1. Check with <code>top</code> if anything consumes your CPU or RAM.
1229-
2. Run <code>dstat -t</code> to check if it's related to disk or network.
1230-
3. Check I/O stats with <code>iostat</code>
1234+
<details>
1235+
<summary>Explain iostat output</summary><br><b>
12311236
</b></details>
12321237

12331238
<details>
@@ -1238,10 +1243,20 @@ Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
12381243
<summary>What kind of information one can find in /proc?</summary><br><b>
12391244
</b></details>
12401245

1246+
<details>
1247+
<summary>What is the difference between CPU load and utilization?</summary><br><b>
1248+
</b></details>
1249+
12411250
<details>
12421251
<summary>How you measure time execution of a program?</summary><br><b>
12431252
</b></details>
12441253

1254+
#### Kernel
1255+
1256+
<details>
1257+
<summary>How do you find out which Kernel version your system is using?</summary><br><b>
1258+
</b></details>
1259+
12451260
<details>
12461261
<summary>What is a Linux kernel module and how do you load a new module?</summary><br><b>
12471262
</b></details>
@@ -1309,7 +1324,7 @@ Each number has different meaning, based on how the application was developed.
13091324
I consider this as a good blog post to read more about it: https://shapeshed.com/unix-exit-codes
13101325
</b></details>
13111326

1312-
##### Storage & Filesystem
1327+
##### Storage & Filesystem (Beginner)
13131328

13141329
<details>
13151330
<summary>What's an inode?</summary><br><b>
@@ -1621,6 +1636,17 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
16211636
<summary>What is a network namespace? What is it used for?</summary><br><b>
16221637
</b></details>
16231638

1639+
<details>
1640+
<summary>How to check if a certain port is being used?</summary><br><b>
1641+
1642+
One of the following would work:
1643+
1644+
```
1645+
netstat -tnlp | grep <port_number>
1646+
lsof -i -n -P | grep <port_number>
1647+
```
1648+
</b></details>
1649+
16241650
<details>
16251651
<summary>How can you turn your Linux server into a router?</summary><br><b>
16261652
</b></details>
@@ -1629,6 +1655,12 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
16291655
<summary>What is a virtual IP? In what situation would you use it?</summary><br><b>
16301656
</b></details>
16311657

1658+
<details>
1659+
<summary>Can you have more than one default gateway in a given system?</summary><br><b>
1660+
1661+
Technically, yes.
1662+
</b></details>
1663+
16321664
<details>
16331665
<summary>Which port is used in each of the following protocols?:
16341666

@@ -1808,7 +1840,11 @@ If wait is not used by a parent process then a child process might become a zomb
18081840
</b></details>
18091841

18101842
<details>
1811-
<summary>What happens when you execute <code>ls</code>?. Provide a detailed answer</summary><br><b>
1843+
<summary>What happens when you execute <code>ls</code>?</summary><br><b>
1844+
</b></details>
1845+
1846+
<details>
1847+
<summary>What happens when you execute <code>ls -l *.log</code>?</summary><br><b>
18121848
</b></details>
18131849

18141850
#### Linux Filesystem & Files
@@ -1862,7 +1898,7 @@ These system calls are reading the file <code>/my/file</code> and 5 is the file
18621898
</b></details>
18631899

18641900
<details>
1865-
<summary>What <code>traceroute</code> command does? How it works?</summary><br><b>
1901+
<summary>What the <code>traceroute</code> command does? How does it works?</summary><br><b>
18661902

18671903
Another common way to task this questions is "what part of the tcp header does traceroute modify?"
18681904
</b></details>
@@ -2031,11 +2067,17 @@ Role – Ansible roles allows you to group resources based on certain functional
20312067
</b></details>
20322068

20332069
<details>
2034-
<summary>Which Ansible best practices are you familiar with?. Name at least three</summary><br><b>
2070+
<summary>How Ansible is different from other Automation tools?</summary><br><b>
2071+
2072+
Ansible is:
2073+
2074+
* Agent-less
2075+
* Minimal run requirements (Python & SSH) and simple to use
2076+
* Default mode is "push" (it supports also pull)
20352077
</b></details>
20362078

20372079
<details>
2038-
<summary>What is an inventory file and how you define one?</summary><br><b>
2080+
<summary>What is an inventory file and how do you define one?</summary><br><b>
20392081

20402082
An inventory file defines hosts and/or groups of hosts on which Ansible tasks executed upon.
20412083

@@ -2092,6 +2134,10 @@ spun up and shut down, without you tracking every change in these sources.
20922134
When given a written code, always inspect it thoroughly. If your answer is “this will fail” then you are right. We are using a fact (ansible_hostname), which is a gathered piece of information from the host we are running on. But in this case, we disabled facts gathering (gather_facts: no) so the variable would be undefined which will result in failure.
20932135
</b></details>
20942136

2137+
<details>
2138+
<summary>Which Ansible best practices are you familiar with?. Name at least three</summary><br><b>
2139+
</b></details>
2140+
20952141
<details>
20962142
<summary>Write a playbook to install ‘zlib’ and ‘vim’ on all hosts if the file ‘/tmp/mario’ exists on the system.</summary><br><b>
20972143

@@ -2185,7 +2231,6 @@ A full list can be found at the link above. Also, note there is a significant di
21852231
<summary>What is ansible-pull? How it’s different compared to ansible-playbook?</summary><br><b>
21862232
</b></details>
21872233

2188-
21892234
<a name="ansible-advanced"></a>
21902235
#### :star: Advanced
21912236

@@ -2638,6 +2683,14 @@ Statements are instructions executed by the interpreter like variable assignment
26382683
<summary>What is Object Oriented Programming? Why is it important?</summary><br><b>
26392684
</b></details>
26402685

2686+
<details>
2687+
<summary>Are you familiar with SOLID design principals?</summary><br><b>
2688+
2689+
SOLID design principals are about:
2690+
2691+
* Make it easier to extend functionality
2692+
</b></details>
2693+
26412694
<details>
26422695
<summary>What are the four pillars of object oriented programming?</summary><br><b>
26432696
</b></details>
@@ -3383,6 +3436,10 @@ Detailed answer can be found here: http://codingshell.com/python-all-string-perm
33833436
<summary>Count the number of spaces in a string</summary><br><b>
33843437
</b></details>
33853438

3439+
<details>
3440+
<summary>Given a string, find the N most repeated words</summary><br><b>
3441+
</b></details>
3442+
33863443
<details>
33873444
<summary>Given the string (which represents a matrix) "1 2 3\n4 5 6\n7 8 9" create rows and colums variables (should contain integers, not strings)</summary><br><b>
33883445

@@ -3602,12 +3659,20 @@ What would be the result of is_int(2) and is_int(False)?
36023659
<summary>Implement Hash table in Python</summary><br><b>
36033660
</b></details>
36043661

3605-
##### Tests
3662+
##### Python Testing
36063663

36073664
<details>
36083665
<summary>What is your experience with writing tests in Python?</summary><br><b>
36093666
</b></details>
36103667

3668+
<details>
3669+
<summary>How would you check if two strings are equal? What about booleans?</summary><br><b>
3670+
</b></details>
3671+
3672+
<details>
3673+
<summary>How to test if an exception was raised?</summary><br><b>
3674+
</b></details>
3675+
36113676
<details>
36123677
<summary>What <code>assert</code> does in Python?</summary><br><b>
36133678
</b></details>
@@ -5529,6 +5594,20 @@ TODO: explain what is actually a Cookie
55295594
<summary>What is faster than RAM?</summary><br><b>
55305595
</b></details>
55315596

5597+
<details>
5598+
<summary>What is your favorite protocol?</summary><br><b>
5599+
5600+
SSH
5601+
HTTP
5602+
DHCP
5603+
DNS
5604+
...
5605+
</b></details>
5606+
5607+
<details>
5608+
<summary>What is Cache API?</summary><br><b>
5609+
</b></details>
5610+
55325611
<details>
55335612
<summary>What is the C10K problem? Is it relevant today?</summary><br><b>
55345613

@@ -5640,6 +5719,12 @@ You can use and elaborate on one or all of the following:
56405719
* Creativity (be able to support it with some actual examples)
56415720
</b></details>
56425721

5722+
#### Team Lead
5723+
5724+
<details>
5725+
<summary>How would you improve productivity in your team?</summary><br><b>
5726+
</b></details>
5727+
56435728
## Questions you CAN ask
56445729

56455730
<a name="questions-you-ask"></a>

0 commit comments

Comments
 (0)