diff --git a/README.md b/README.md index 6f0774a..2cd45b6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ :information_source:  This repository contains interview questions on various DevOps related topics -:bar_chart:  There are currently **350** questions +:bar_chart:  There are currently **382** questions + :warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :) @@ -20,29 +21,30 @@ - - - - - - - - - - - - + - - - - + + + + + + + + + + + + + + + - + +
DevOps
DevOps

Beginner :baby:
Advanced :star:
Jenkins
Jenkins

Beginner :baby:
Advanced :star:
AWS
AWS

Beginner :baby:
Network
Network

Beginner :baby:
Advanced :star:
Linux
Linux

Beginner :baby:
Advanced :star:
Ansible
Ansible

Beginner :baby:
Advanced :star:
Terraform
Terraform

Beginner :baby:
Advanced :star:
Docker
Docker

Beginner :baby:
kubernetes
Kubernetes

Beginner :baby:
Python
Python

Beginner :baby:
Advanced :star:
Prometheus
Prometheus

Beginner :baby:
Jenkins
Jenkins

Beginner :baby:
Advanced :star:
Git
Git

Beginner :baby:
Advanced :star:
Go
Go

Beginner :baby:
Mongo
Mongo

Beginner :baby:
OpenShift
OpenShift

Beginner :baby:
Bash
Shell Scripting

Beginner :baby:
Advanced :star:
Linux
Linux

Beginner :baby:
Advanced :star:
Network
Network

Beginner :baby:
Advanced :star:
Ansible
Ansible

Beginner :baby:
Advanced :star:
Terraform
Terraform

Beginner :baby:
Advanced :star:
Docker
Docker

Beginner :baby:
Advanced :star:
Python
Python

Beginner :baby:
Advanced :star:
Go
Go

Beginner :baby:
Bash
Shell Scripting

Beginner :baby:
Advanced :star:
kubernetes
Kubernetes

Beginner :baby:
Prometheus
Prometheus

Beginner :baby:
Mongo
Mongo

Beginner :baby:
sql
SQL

Beginner :baby:
Advanced :star:
OpenShift
OpenShift

Beginner :baby:
AWS
AWS

Beginner :baby:
azure
Azure

Beginner :baby:
openstack
OpenStack

Beginner :baby:
openstack
OpenStack

Beginner :baby:
Advanced :star:
security
Security

Beginner :baby:
puppet
Puppet

Beginner :baby:
Advanced :star:
@@ -60,6 +62,10 @@ What is DevOps? What DevOps helps us to achieve?
+
+What are the anti-patterns of DevOps?
+
+
What is Continuous Integration?
@@ -80,10 +86,6 @@ Each piece of code (change/patch) is verified, to make the change is safe to mer What do you consider as best practices for CI/CD?
-
-What are the anti-patterns of DevOps?
-
-
What systems and/or tools are you using for the following?: @@ -181,10 +183,6 @@ which follows the immutable infrastructure paradigm. How would you structure/implement CD for an application which depends on several other applications?
-
-How do you manage dependencies?
-
-
Explain what are design patterns. Which design patterns are you familiar with?
@@ -441,6 +439,22 @@ Stop the instance, the type of the instance to match the desired RAM and start t #### :baby: Beginner +
+What is Ethernet?
+
+ +
+What is a MAC address? What is it used for?
+
+ +
+When this MAC address is used?: ff:ff:ff:ff:ff:ff
+
+ +
+What is an IP address? What is a subnet?
+
+
Explain the OSI model. What layers there are? What each layer is responsible for?
@@ -504,10 +518,6 @@ CSMA/CD algorithm: What is ARP? How it works?
-
-What is a MAC address? What is it used for?
-
-
What is TTL?
@@ -541,7 +551,7 @@ CSMA/CD algorithm:
-What is ICMP?
+What is ICMP? What is it used for?
@@ -563,14 +573,30 @@ CSMA/CD algorithm: What is Asymmetric Routing? How do deal with it?
+
+What overlay (tunnel) protocols are you familiar with?
+
+
What is GRE? How it works?
+
+What is VXLAN? How it works?
+
+ +
+What is SNAT?
+
+
Explain OSPF
+
+Explain Spine & Leaf
+
+
Using Hammind code, what would be the code word for the following data word 100111010001101?
@@ -1439,6 +1465,10 @@ List #### :baby: beginner +
+What is Docker? What are you using it for?
+
+
How containers are different from VMs?
@@ -1460,7 +1490,11 @@ You should choose containers when:
-What happens when you run `docker run hello-world`?
+Explain Docker architecture
+
+ +
+Describe in detail what happens when you run `docker run hello-world`?
Docker CLI passes your request to Docker daemon. Docker daemon downloads the image from Docker Hub @@ -1473,7 +1507,7 @@ Docker daemon redirects output from container to Docker CLI which redirects it t
-What do you see when you run `docker ps`?
+What best practices are you familiar related to working with containers?
@@ -1484,6 +1518,30 @@ Docker daemon redirects output from container to Docker CLI which redirects it t How would you transfer data from one container into another?
+
+What happens to data of the container when a container exists?
+
+ +
+Explain what each of the following commands do: + + * docker run + * docker rm + * docker ps + * docker build + * docker commit
+
+ +
+How do you remove old, non running, containers?
+
+ +##### Dockerfile + +
+What is Dockerfile
+
+
What is the difference between ADD and COPY in Dockerfile?
@@ -1515,10 +1573,29 @@ you with more options/features compared to Docker Hub. One example is Swarm management which means you can create new swarms in Docker Cloud.
+
+Where Docker images are stored?
+
+
Explain image layers
+ +#### :star: Advanced + +
+How do you manage persistent storage in Docker?
+
+ +
+How can you connect from the inside of your container to the localhost of your host, where the container runs?
+
+ +
+How do you copy files from Docker container to the host and vice versa?
+
+ ## Kubernetes @@ -1733,7 +1810,6 @@ Shortest way is: my_string[::-1] but it doesn't mean it's the most * Radix Sort
- #### :star: Advanced @@ -1939,6 +2015,27 @@ func main() {
+
+The following block of code tries to convert the integer 101 to a string but instead we get "e". Why is that? How to fix it? + +``` +package main + +import "fmt" + +func main() { + var x int = 101 + var y string + y = string(x) + fmt.Println(y) +} +``` +
+ +It looks what unicode value is set at 101 and uses it for converting the integer to a string. +If you want to get "101" you should use the package "strconv" and repalce y = string(x) with y = strconv.Itoa(x) +
+ ## Mongo @@ -2339,10 +2436,6 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then What types of networks OpenStack supports?
-
-How do you debug OpenStack networking issues? (tools, logs, ...)
-
-
How do you debug OpenStack storage issues? (tools, logs, ...)
@@ -2355,6 +2448,45 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then Are you familiar with TripleO? What benefits it has?
+##### Networking + +
+What is a provider network?
+
+ +
+What components and services exist in L2 and L3?
+
+ +
+What is the ML2 plug-in? Explain its architecture
+
+ +
+What is the L2 agent? How it works and what is it responsible for?
+
+ +
+What is the L3 agent? How it works and what is it responsible for?
+
+ +
+Explain what the Metadata agent is responsible for
+
+ +
+How do you debug OpenStack networking issues? (tools, logs, ...)
+
+ + +#### :baby: Advanced + +##### Networking + +
+Explain BGP dynamic routing +
+ ## Security @@ -2384,6 +2516,50 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then What is Privilege Restriction?
+## Puppet + + +#### :baby: Beginner + +
+What is Puppet? How it works?
+
+ +
+Explain Puppet architecture
+
+ +
+Can you compare Puppet to other configuration management tools? Why did you chose to use Puppet?
+
+ +
+Explain the following: + + * Module + * Manifest + * Node
+
+ +
+Explain Facter
+
+ +
+What is MCollective?
+
+ + +#### :baby: Advanced + +
+Do you have experience with writing modules? Which module have you created and for what?
+
+ +
+Explain what is Hiera
+
+ ## Scenarios diff --git a/images/puppet.png b/images/puppet.png new file mode 100644 index 0000000..88ab6ff Binary files /dev/null and b/images/puppet.png differ