Add a couple of questions

This commit is contained in:
abregman 2019-10-25 02:33:16 +03:00
parent d3eb6f85fa
commit 9b33651416
3 changed files with 112 additions and 5 deletions

115
README.md
View File

@ -3,7 +3,7 @@
:information_source:  This repository contains interview questions on various DevOps related topics :information_source:  This repository contains interview questions on various DevOps related topics
:bar_chart:  There are currently **416** questions :bar_chart:  There are currently **434** questions
:warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :) :warning:  You don't need to know how to answer all the questions in this repo. DevOps is not about knowing all :)
@ -52,6 +52,9 @@
<td align="center"><a href="#puppet"><img src="images/puppet.png" width="75px;" height="75px;" alt="puppet"/><br /><b>Puppet</b></a><br /><sub><a href="#puppet-beginner">Beginner :baby:</a></sub><br><sub><a href="#puppet-advanced">Advanced :star:</a></sub></td> <td align="center"><a href="#puppet"><img src="images/puppet.png" width="75px;" height="75px;" alt="puppet"/><br /><b>Puppet</b></a><br /><sub><a href="#puppet-beginner">Beginner :baby:</a></sub><br><sub><a href="#puppet-advanced">Advanced :star:</a></sub></td>
<td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a><br /><sub><a href="#openshift-beginner">Beginner :baby:</a></sub><br><sub></td> <td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a><br /><sub><a href="#openshift-beginner">Beginner :baby:</a></sub><br><sub></td>
</tr> </tr>
<tr>
<td align="center"><a href="#scenarios"><img src="images/scenarios.png" width="110px;" height="75px;" alt="Scenarios"/><br /><b>Scenarios</b></a></td>
</tr>
</table> </table>
</center> </center>
<!-- markdownlint-enable --> <!-- markdownlint-enable -->
@ -65,6 +68,27 @@
<details> <details>
<summary>What is DevOps? What DevOps helps us to achieve?</summary><br><b> <summary>What is DevOps? What DevOps helps us to achieve?</summary><br><b>
There are many good answers to this question. I like Amazon's description of DevOps:
"DevOps is the combination of cultural philosophies, practices, and tools that increases an organizations ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market."
You can find more details here: https://aws.amazon.com/devops/what-is-devops
</b></details>
<details>
<summary>What are the benefits of DevOps? What it can help us to achieve?</summary><br><b>
You should mention some or all of the following:
* Collaboration
* Improved delivery
* Security
* Speed
* Scale
* Reliability
Detailed answer can be found here: https://aws.amazon.com/devops/what-is-devops
</b></details> </b></details>
<details> <details>
@ -485,7 +509,15 @@ Stop the instance, the type of the instance to match the desired RAM and start t
</b></details> </b></details>
<details> <details>
<summary>What is an IP address? What is a subnet?</summary><br><b> <summary>What is an IP address?</summary><br><b>
</b></details>
<details>
<summary>Explain subnet mask and given an example</summary><br><b>
</b></details>
<details>
<summary>What is a private IP address? What do we need it for?</summary><br><b>
</b></details> </b></details>
<details> <details>
@ -500,6 +532,18 @@ Data link: provides a link between two directly connected nodes (MAC is here)
Physical: the electrical and physical spec the data connection (Bits are here) Physical: the electrical and physical spec the data connection (Bits are here)
</b></details> </b></details>
<details>
<summary>For each of the following determine to which OSI layer it belongs:
* Error correction
* Packets routing
* Cables and electrical signals
* MAC address
* IP address
* Sessions between applications
* 3 way handshake</summary><br><b>
</b></details>
<details> <details>
<summary>What delivery schemes are you familiar with?</summary><br><b> <summary>What delivery schemes are you familiar with?</summary><br><b>
@ -539,12 +583,20 @@ CSMA/CD algorithm:
<summary>What is NAT?</summary><br><b> <summary>What is NAT?</summary><br><b>
</b></details> </b></details>
<details>
<summary>What is a proxy? How it works? What do we need it for?</summary><br><b>
</b></details>
<details> <details>
<summary>What is the difference between TCP and UDP?</summary><br><b> <summary>What is the difference between TCP and UDP?</summary><br><b>
TCP establishes a connection between the client and the server to guarantee the order of the packages, on the other hand, UDP does not establish a connection between client and server and doesn't handle package order. This makes UDP more lightweight than TCP and a perfect candidate for streaming services. TCP establishes a connection between the client and the server to guarantee the order of the packages, on the other hand, UDP does not establish a connection between client and server and doesn't handle package order. This makes UDP more lightweight than TCP and a perfect candidate for streaming services.
</b></details> </b></details>
<details>
<summary>Explain "default gateway"</summary><br><b>
</b></details>
<details> <details>
<summary>How TCP works? What is the 3 way handshake?</summary><br><b> <summary>How TCP works? What is the 3 way handshake?</summary><br><b>
</b></details> </b></details>
@ -713,6 +765,10 @@ Using the `chmod` command.
<summary>Explain what is setgid, setuid and sticky bit</summary><br><b> <summary>Explain what is setgid, setuid and sticky bit</summary><br><b>
</b></details> </b></details>
<details>
<summary>You try to delete a file but it fails. Name at least three different reason as to why it could happen</summary><br><b>
</b></details>
<details> <details>
<summary>How to add a new user to the system without providing him the ability to log-in into the system?</summary><br><b> <summary>How to add a new user to the system without providing him the ability to log-in into the system?</summary><br><b>
@ -823,7 +879,7 @@ I consider this as a good blog post to read more about it: https://shapeshed.com
</b></details> </b></details>
<details> <details>
<summary>What is the different between a soft link and hard link?</summary><br><b> <summary>What is the difference between a soft link and hard link?</summary><br><b>
hard link is the same file, using the same inode. hard link is the same file, using the same inode.
soft link is a shortcut to another file, using a different inode. soft link is a shortcut to another file, using a different inode.
@ -832,6 +888,10 @@ soft links can be created between different file systems while
hard link can be created only within the same file system. hard link can be created only within the same file system.
</b></details> </b></details>
<details>
<summary>What happens when you delete the original file in case of soft link and hard link?</summary><br><b>
</b></details>
<details> <details>
<summary>What is a swap partition? What is it used for?</summary><br><b> <summary>What is a swap partition? What is it used for?</summary><br><b>
</b></details> </b></details>
@ -1035,6 +1095,19 @@ related to the file like its size, owner, permissions, etc.
<summary>How can you turn your Linux server into a router?</summary><br><b> <summary>How can you turn your Linux server into a router?</summary><br><b>
</b></details> </b></details>
<details>
<summary>What is a virtual IP? In what situation would you use it?</summary><br><b>
</b></details>
<details>
<summary>Which port is used in each of the following protocols?:
* SSH
* HTTP
* DNS
* HTTPS</summary><br><b>
</b></details>
<details> <details>
<summary>What is the routing table? How do you view it?</summary><br><b> <summary>What is the routing table? How do you view it?</summary><br><b>
</b></details> </b></details>
@ -2829,6 +2902,10 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then
<a name="azure-beginner"></a> <a name="azure-beginner"></a>
#### :baby: Beginner #### :baby: Beginner
<details>
<summary>Explain Azure's architecture</summary><br><b>
</b></details>
<details> <details>
<summary>Explain availability sets and availability zones</summary><br><b> <summary>Explain availability sets and availability zones</summary><br><b>
</b></details> </b></details>
@ -2846,6 +2923,10 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then
<a name="gcp-beginner"></a> <a name="gcp-beginner"></a>
#### :baby: Beginner #### :baby: Beginner
<details>
<summary>Explain GCP's architecture</summary><br><b>
</b></details>
<details> <details>
<summary>What are the main components and services of GCP?</summary><br><b> <summary>What are the main components and services of GCP?</summary><br><b>
</b></details> </b></details>
@ -2970,7 +3051,33 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then
</b></details> </b></details>
<details> <details>
<summary>What is Privilege Restriction?</summary><br><b> <summary>Explain "Privilege Restriction"</summary><br><b>
</b></details>
<details>
<summary>What is DDoS attach? How do you deal with it?</summary><br><b>
</b></details>
<details>
<summary>Explain Man-in-the-middle attach</summary><br><b>
</b></details>
<details>
<summary>Explain CVE and CVSS</summary><br><b>
</b></details>
<details>
<summary>Describe how do you secure public repositories</summary>
</b></details>
##### Containers
<details>
<summary>What security measures are you taking when dealing with containers?</summary><br><b>
</b></details>
<details>
<summary>Explain what is Docker Bench</summary><br><b>
</b></details> </b></details>
## Puppet ## Puppet

BIN
images/scenarios.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,6 +1,6 @@
## Ansible, Minikube and Docker ## Ansible, Minikube and Docker
* Write a simple program in any language you want that outputs "I'm on <HOSTNAME>" * Write a simple program in any language you want that outputs "I'm on %HOSTNAME%" (HOSTNAME should be the actual host name on which the app is running)
* Write a Dockerfile which will run your app * Write a Dockerfile which will run your app
* Create the YAML files required for deploying the pods * Create the YAML files required for deploying the pods
* Write and run an Ansible playbook which will install Docker, Minikube and kubectl and then create a deployment in minikube with your app running. * Write and run an Ansible playbook which will install Docker, Minikube and kubectl and then create a deployment in minikube with your app running.