You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
:information_source: This repository contains questions on various DevOps and SRE related topics
4
4
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
8
6
9
7
: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
10
8
@@ -888,6 +886,10 @@ CSMA/CD algorithm:
888
886
* hub</summary><br><b>
889
887
</b></details>
890
888
889
+
<details>
890
+
<summary>How does a router works?</summary><br><b>
891
+
</b></details>
892
+
891
893
<details>
892
894
<summary>What is NAT?</summary><br><b>
893
895
</b></details>
@@ -1169,8 +1171,6 @@ systemd has many features such as user processes control/tracking, snapshot supp
1169
1171
If we visualize the unix/linux system in layers, systemd would fall directly after the linux kernel.
1170
1172
1171
1173
Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
1172
-
1173
-
1174
1174
</b>
1175
1175
</details>
1176
1176
@@ -1188,7 +1188,7 @@ Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
1188
1188
<summary>How do you kill a process in D state?</summary><br><b>
1189
1189
</b></details>
1190
1190
1191
-
##### Debugging
1191
+
##### Debugging (Beginner)
1192
1192
1193
1193
<details>
1194
1194
<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.
1223
1223
</b></details>
1224
1224
1225
1225
<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>
1227
1233
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>
1231
1236
</b></details>
1232
1237
1233
1238
<details>
@@ -1238,10 +1243,20 @@ Hardware -> Kernel -> <u>Daemons</u>, System Libraries, Server Display.
1238
1243
<summary>What kind of information one can find in /proc?</summary><br><b>
1239
1244
</b></details>
1240
1245
1246
+
<details>
1247
+
<summary>What is the difference between CPU load and utilization?</summary><br><b>
1248
+
</b></details>
1249
+
1241
1250
<details>
1242
1251
<summary>How you measure time execution of a program?</summary><br><b>
1243
1252
</b></details>
1244
1253
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
+
1245
1260
<details>
1246
1261
<summary>What is a Linux kernel module and how do you load a new module?</summary><br><b>
1247
1262
</b></details>
@@ -1309,7 +1324,7 @@ Each number has different meaning, based on how the application was developed.
1309
1324
I consider this as a good blog post to read more about it: https://shapeshed.com/unix-exit-codes
1310
1325
</b></details>
1311
1326
1312
-
##### Storage & Filesystem
1327
+
##### Storage & Filesystem (Beginner)
1313
1328
1314
1329
<details>
1315
1330
<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
1621
1636
<summary>What is a network namespace? What is it used for?</summary><br><b>
1622
1637
</b></details>
1623
1638
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
+
1624
1650
<details>
1625
1651
<summary>How can you turn your Linux server into a router?</summary><br><b>
1626
1652
</b></details>
@@ -1629,6 +1655,12 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
1629
1655
<summary>What is a virtual IP? In what situation would you use it?</summary><br><b>
1630
1656
</b></details>
1631
1657
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
+
1632
1664
<details>
1633
1665
<summary>Which port is used in each of the following protocols?:
1634
1666
@@ -1808,7 +1840,11 @@ If wait is not used by a parent process then a child process might become a zomb
1808
1840
</b></details>
1809
1841
1810
1842
<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>
1812
1848
</b></details>
1813
1849
1814
1850
#### Linux Filesystem & Files
@@ -1862,7 +1898,7 @@ These system calls are reading the file <code>/my/file</code> and 5 is the file
1862
1898
</b></details>
1863
1899
1864
1900
<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>
1866
1902
1867
1903
Another common way to task this questions is "what part of the tcp header does traceroute modify?"
1868
1904
</b></details>
@@ -2031,11 +2067,17 @@ Role – Ansible roles allows you to group resources based on certain functional
2031
2067
</b></details>
2032
2068
2033
2069
<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)
2035
2077
</b></details>
2036
2078
2037
2079
<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>
2039
2081
2040
2082
An inventory file defines hosts and/or groups of hosts on which Ansible tasks executed upon.
2041
2083
@@ -2092,6 +2134,10 @@ spun up and shut down, without you tracking every change in these sources.
2092
2134
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.
2093
2135
</b></details>
2094
2136
2137
+
<details>
2138
+
<summary>Which Ansible best practices are you familiar with?. Name at least three</summary><br><b>
2139
+
</b></details>
2140
+
2095
2141
<details>
2096
2142
<summary>Write a playbook to install ‘zlib’ and ‘vim’ on all hosts if the file ‘/tmp/mario’ exists on the system.</summary><br><b>
2097
2143
@@ -2185,7 +2231,6 @@ A full list can be found at the link above. Also, note there is a significant di
2185
2231
<summary>What is ansible-pull? How it’s different compared to ansible-playbook?</summary><br><b>
2186
2232
</b></details>
2187
2233
2188
-
2189
2234
<aname="ansible-advanced"></a>
2190
2235
#### :star: Advanced
2191
2236
@@ -2638,6 +2683,14 @@ Statements are instructions executed by the interpreter like variable assignment
2638
2683
<summary>What is Object Oriented Programming? Why is it important?</summary><br><b>
2639
2684
</b></details>
2640
2685
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
+
2641
2694
<details>
2642
2695
<summary>What are the four pillars of object oriented programming?</summary><br><b>
2643
2696
</b></details>
@@ -3383,6 +3436,10 @@ Detailed answer can be found here: http://codingshell.com/python-all-string-perm
3383
3436
<summary>Count the number of spaces in a string</summary><br><b>
3384
3437
</b></details>
3385
3438
3439
+
<details>
3440
+
<summary>Given a string, find the N most repeated words</summary><br><b>
3441
+
</b></details>
3442
+
3386
3443
<details>
3387
3444
<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>
3388
3445
@@ -3602,12 +3659,20 @@ What would be the result of is_int(2) and is_int(False)?
3602
3659
<summary>Implement Hash table in Python</summary><br><b>
3603
3660
</b></details>
3604
3661
3605
-
##### Tests
3662
+
##### Python Testing
3606
3663
3607
3664
<details>
3608
3665
<summary>What is your experience with writing tests in Python?</summary><br><b>
3609
3666
</b></details>
3610
3667
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
+
3611
3676
<details>
3612
3677
<summary>What <code>assert</code> does in Python?</summary><br><b>
3613
3678
</b></details>
@@ -5529,6 +5594,20 @@ TODO: explain what is actually a Cookie
5529
5594
<summary>What is faster than RAM?</summary><br><b>
5530
5595
</b></details>
5531
5596
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
+
5532
5611
<details>
5533
5612
<summary>What is the C10K problem? Is it relevant today?</summary><br><b>
5534
5613
@@ -5640,6 +5719,12 @@ You can use and elaborate on one or all of the following:
5640
5719
* Creativity (be able to support it with some actual examples)
5641
5720
</b></details>
5642
5721
5722
+
#### Team Lead
5723
+
5724
+
<details>
5725
+
<summary>How would you improve productivity in your team?</summary><br><b>
0 commit comments