diff --git a/README.md b/README.md index 493d6f7..32806c5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ :information_source:  This repository contains interview questions on various DevOps related topics -:bar_chart:  There are currently **282** questions +:bar_chart:  There are currently **291** questions :warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :) @@ -53,7 +53,7 @@
What is Continuous Integration?
-A development practice where developers integrate code into a shared repository frequently. It can range from a couple of changes every day or week to a couple of changes in one hour in larger scales. +A development practice where developers integrate code into a shared repository frequently. It can range from a couple of changes every day or a week to a couple of changes in one hour in larger scales. Each piece of code (change/patch) is verified, to make the change is safe to merge. Today, it's a common practice to test the change using an automated build that makes sure the code can integrated. It can be one build which runs several tests in different levels (unit, functional, etc.) or several separate builds that all or some has to pass in order for the change to be merged into the repository.
@@ -452,7 +452,11 @@ CSMA/CD algorithm:
-Describe the following network devices and the difference between them: router, switch and hub
+Describe the following network devices and the difference between them: + + * router + * switch + * hub
@@ -463,10 +467,22 @@ CSMA/CD algorithm: What is the difference between TCP and UDP?
+
+How TCP works? What is the 3 way handshake?
+
+
What is ARP? How it works?
+
+What is a MAC address? What is it used for?
+
+ +
+What is TTL?
+
+
What is DHCP? How it works?
@@ -549,11 +565,17 @@ CSMA/CD algorithm: * rmdir (can you achieve the same result by using rm?) * grep * wc + * curl * touch * man + * nslookup or dig * df
+
+Running the command df you get "command not found". What could be wrong and how to fix it?
+
+
How to make sure a service will start on a OS of your choice?
@@ -609,16 +631,15 @@ The tasks are stored in a cron file. What are you using for troubleshooting and debugging network issues?
dstat -t is great for identifying network and disk issues. +netstat -tnlaup can be used to see which processes are running on which ports. +lsof -i -P can be used for the same purpose as netstat.
-What are you using for troubleshooting and debugging disk issues?
+What are you using for troubleshooting and debugging disk & filesystem issues?
dstat -t is great for identifying network and disk issues. -
- -
-What are you using for troubleshooting and debugging networking issues?
+opensnoop can be used to see which files are being opened on the system (in real time).
@@ -730,6 +751,10 @@ hard link can be created only within the same file system. * /usr/local
+
+What can you find in /etc/services
+
+ ##### Processes
@@ -741,14 +766,7 @@ execution or run forever
-Are you familiar with the following process monitoring tools and commands?: - - * top - * ps - * htop - * atop - * lsof -Can you explain when are you using each one?
+How can you find how much memory a specific process consumes?
@@ -875,6 +893,10 @@ related to the file like its size, owner, permissions, etc. ##### Network +
+What is a network namespace? What is it used for?
+
+
How can you turn your Linux server into a router?
@@ -883,6 +905,10 @@ related to the file like its size, owner, permissions, etc. What is the routing table? How do you view it?
+
+What are packet sniffers? Have you used one in the past? If yes, which packet sniffers have you used and for what purpose?
+
+ ##### DNS
@@ -954,6 +980,10 @@ those are system calls for reading the file /my/file and 5 is the f What is network bonding? What types are you familiar with?
+
+How to link two separate network namespaces so you can ping an interface on one namespace from the second one?
+
+
What are cgroups? In what scenario would you use them?
@@ -1499,10 +1529,16 @@ Shortest way is str[::-1] 3. As a general purpose "throwaway" variable name. For example: x, y, _ = get_data() (x and y are used but since we don't care about third variable, we "threw it away").
+##### Files +
How to write to a file?
+
+How to reverse a file?
+
+
Sort a list of lists by the second item of each nested list
@@ -1710,6 +1746,12 @@ theirs This page explains it the best: https://git-scm.com/docs/merge-strategies
+
+How can you see which changes have done before committing them?
+ +git diff +
+ #### :star: Advanced