diff --git a/README.md b/README.md
index 2ca28f8..ac22ce4 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,7 @@
:information_source: This repository contains questions on various DevOps and SRE related topics
-:bar_chart: There are currently **786** questions
-
-:books: To learn more about DevOps check the resources in [DevOpsBit.com](https://devopsbit.com)
+:bar_chart: There are currently **800** questions
: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
@@ -888,6 +886,10 @@ CSMA/CD algorithm:
* hub
+
+How does a router works?
+
+
What is NAT?
@@ -1169,8 +1171,6 @@ systemd has many features such as user processes control/tracking, snapshot supp
If we visualize the unix/linux system in layers, systemd would fall directly after the linux kernel.
Hardware -> Kernel -> Daemons, System Libraries, Server Display.
-
-
@@ -1188,7 +1188,7 @@ Hardware -> Kernel -> Daemons, System Libraries, Server Display.
How do you kill a process in D state?
-##### Debugging
+##### Debugging (Beginner)
What are you using for troubleshooting and debugging network issues?
@@ -1223,11 +1223,16 @@ Hardware -> Kernel -> Daemons, System Libraries, Server Display.
-You get a call saying "my system is slow" - how would you deal with it?
+You get a call from someone claiming "my system is SLOW". What do yo do?
-1. Check with top
if anything consumes your CPU or RAM.
-2. Run dstat -t
to check if it's related to disk or network.
-3. Check I/O stats with iostat
+* Check with `top` for anything unusual
+* Run `dstat -t` to check if it's related to disk or network.
+* Check if it's network related with `sar`
+* Check I/O stats with `iostat`
+
+
+
+Explain iostat output
@@ -1238,10 +1243,20 @@ Hardware -> Kernel -> Daemons, System Libraries, Server Display.
What kind of information one can find in /proc?
+
+What is the difference between CPU load and utilization?
+
+
How you measure time execution of a program?
+#### Kernel
+
+
+How do you find out which Kernel version your system is using?
+
+
What is a Linux kernel module and how do you load a new module?
@@ -1309,7 +1324,7 @@ Each number has different meaning, based on how the application was developed.
I consider this as a good blog post to read more about it: https://shapeshed.com/unix-exit-codes
-##### Storage & Filesystem
+##### Storage & Filesystem (Beginner)
What's an inode?
@@ -1621,6 +1636,17 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
What is a network namespace? What is it used for?
+
+How to check if a certain port is being used?
+
+One of the following would work:
+
+```
+netstat -tnlp | grep
+lsof -i -n -P | grep
+```
+
+
How can you turn your Linux server into a router?
@@ -1629,6 +1655,12 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file
What is a virtual IP? In what situation would you use it?
+
+Can you have more than one default gateway in a given system?
+
+Technically, yes.
+
+
Which port is used in each of the following protocols?:
@@ -1808,7 +1840,11 @@ If wait is not used by a parent process then a child process might become a zomb
-What happens when you execute ls
?. Provide a detailed answer
+What happens when you execute ls
?
+
+
+
+What happens when you execute ls -l *.log
?
#### Linux Filesystem & Files
@@ -1862,7 +1898,7 @@ These system calls are reading the file /my/file
and 5 is the file
-What traceroute
command does? How it works?
+What the traceroute
command does? How does it works?
Another common way to task this questions is "what part of the tcp header does traceroute modify?"
@@ -2031,11 +2067,17 @@ Role – Ansible roles allows you to group resources based on certain functional
-Which Ansible best practices are you familiar with?. Name at least three
+How Ansible is different from other Automation tools?
+
+Ansible is:
+
+* Agent-less
+* Minimal run requirements (Python & SSH) and simple to use
+* Default mode is "push" (it supports also pull)
-What is an inventory file and how you define one?
+What is an inventory file and how do you define one?
An inventory file defines hosts and/or groups of hosts on which Ansible tasks executed upon.
@@ -2092,6 +2134,10 @@ spun up and shut down, without you tracking every change in these sources.
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.
+
+Which Ansible best practices are you familiar with?. Name at least three
+
+
Write a playbook to install ‘zlib’ and ‘vim’ on all hosts if the file ‘/tmp/mario’ exists on the system.
@@ -2185,7 +2231,6 @@ A full list can be found at the link above. Also, note there is a significant di
What is ansible-pull? How it’s different compared to ansible-playbook?
-
#### :star: Advanced
@@ -2638,6 +2683,14 @@ Statements are instructions executed by the interpreter like variable assignment
What is Object Oriented Programming? Why is it important?
+
+Are you familiar with SOLID design principals?
+
+SOLID design principals are about:
+
+* Make it easier to extend functionality
+
+
What are the four pillars of object oriented programming?
@@ -3383,6 +3436,10 @@ Detailed answer can be found here: http://codingshell.com/python-all-string-perm
Count the number of spaces in a string
+
+Given a string, find the N most repeated words
+
+
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)
@@ -3602,12 +3659,20 @@ What would be the result of is_int(2) and is_int(False)?
Implement Hash table in Python
-##### Tests
+##### Python Testing
What is your experience with writing tests in Python?
+
+How would you check if two strings are equal? What about booleans?
+
+
+
+How to test if an exception was raised?
+
+
What assert
does in Python?
@@ -5529,6 +5594,20 @@ TODO: explain what is actually a Cookie
What is faster than RAM?
+
+What is your favorite protocol?
+
+SSH
+HTTP
+DHCP
+DNS
+...
+
+
+
+What is Cache API?
+
+
What is the C10K problem? Is it relevant today?
@@ -5640,6 +5719,12 @@ You can use and elaborate on one or all of the following:
* Creativity (be able to support it with some actual examples)
+#### Team Lead
+
+
+How would you improve productivity in your team?
+
+
## Questions you CAN ask