Add 20 new questions
This commit is contained in:
parent
cf03070b43
commit
4921318f7d
113
README.md
113
README.md
@ -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 **230** questions
|
:bar_chart: There are currently **250** 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 :)
|
||||||
|
|
||||||
@ -24,7 +24,7 @@
|
|||||||
<td align="center"><a href="#devops"><img src="images/devops.png" width="75px;" height="75px;" alt="DevOps" /><br /><b>DevOps</b></a><br /><sub><a href="#devops-beginner">Beginner :baby:</a></sub><br><sub><a href="#devops-advanced">Advanced :star:</a></sub></td>
|
<td align="center"><a href="#devops"><img src="images/devops.png" width="75px;" height="75px;" alt="DevOps" /><br /><b>DevOps</b></a><br /><sub><a href="#devops-beginner">Beginner :baby:</a></sub><br><sub><a href="#devops-advanced">Advanced :star:</a></sub></td>
|
||||||
<td align="center"><a href="#jenkins"><img src="images/jenkins.png" width="75px;" height="85px;" alt="Jenkins"/><br /><b>Jenkins</b></a><br /><sub><a href="#jenkins-beginner">Beginner :baby:</a></sub><br><sub><a href="#jenkins-advanced">Advanced :star:</a></sub></td>
|
<td align="center"><a href="#jenkins"><img src="images/jenkins.png" width="75px;" height="85px;" alt="Jenkins"/><br /><b>Jenkins</b></a><br /><sub><a href="#jenkins-beginner">Beginner :baby:</a></sub><br><sub><a href="#jenkins-advanced">Advanced :star:</a></sub></td>
|
||||||
<td align="center"><a href="#aws"><img src="images/aws.png" width="120px;" height="75px;" alt="AWS"/><br /><b>AWS</b></a><br /><sub><a href="#aws-beginner">Beginner :baby:</a></sub><br><sub></td>
|
<td align="center"><a href="#aws"><img src="images/aws.png" width="120px;" height="75px;" alt="AWS"/><br /><b>AWS</b></a><br /><sub><a href="#aws-beginner">Beginner :baby:</a></sub><br><sub></td>
|
||||||
<td align="center"><a href="#Network"><img src="images/network.png" width="75x;" height="75px;" alt="Network"/><br /><b>Network</b></a><br /><sub><a href="#network-beginner">Beginner :baby:</a></sub><br><sub></td>
|
<td align="center"><a href="#Network"><img src="images/network.png" width="75x;" height="75px;" alt="Network"/><br /><b>Network</b></a><br /><sub><a href="#network-beginner">Beginner :baby:</a></sub><br><sub><a href="#network-advanced">Advanced :star:</a></sub></td>
|
||||||
<td align="center"><a href="#linux"><img src="images/linux.png" width="75x;" height="75px;" alt="Linux"/><br /><b>Linux</b></a><br /><sub><a href="#linux-beginner">Beginner :baby:</a></sub><br><sub><a href="#linux-advanced">Advanced :star:</a></sub></td>
|
<td align="center"><a href="#linux"><img src="images/linux.png" width="75x;" height="75px;" alt="Linux"/><br /><b>Linux</b></a><br /><sub><a href="#linux-beginner">Beginner :baby:</a></sub><br><sub><a href="#linux-advanced">Advanced :star:</a></sub></td>
|
||||||
<td align="center"><a href="#ansible"><img src="images/ansible.png" width="75px;" height="75px;" alt="Ansible"/><br /><b>Ansible</b></a><br /><sub><a href="#ansible-beginner">Beginner :baby:</a></sub><br><sub></td>
|
<td align="center"><a href="#ansible"><img src="images/ansible.png" width="75px;" height="75px;" alt="Ansible"/><br /><b>Ansible</b></a><br /><sub><a href="#ansible-beginner">Beginner :baby:</a></sub><br><sub></td>
|
||||||
<td align="center"><a href="#terraform"><img src="images/terraform.png" width="75px;" height="75px;" alt="Terraform"/><br /><b>Terraform</b></a><br /><sub><a href="#terraform-beginner">Beginner :baby:</a></sub><br><sub></td>
|
<td align="center"><a href="#terraform"><img src="images/terraform.png" width="75px;" height="75px;" alt="Terraform"/><br /><b>Terraform</b></a><br /><sub><a href="#terraform-beginner">Beginner :baby:</a></sub><br><sub></td>
|
||||||
@ -277,6 +277,10 @@ Note: cross-dependency is when you have two or more changes to separate projects
|
|||||||
<summary>How to secure Jenkins?</summary><br><b>
|
<summary>How to secure Jenkins?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Can you describe some of Jenkins best practices?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<a name="jenkins-advanced"></a>
|
<a name="jenkins-advanced"></a>
|
||||||
#### :star: Advanced
|
#### :star: Advanced
|
||||||
|
|
||||||
@ -297,7 +301,7 @@ Note: cross-dependency is when you have two or more changes to separate projects
|
|||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What are some of Jenkins limitations?<summary><br><b>
|
<summary>What are some of Jenkins limitations?</summary><br><b>
|
||||||
|
|
||||||
* Testing cross-dependencies (changes from multiple projects together)
|
* Testing cross-dependencies (changes from multiple projects together)
|
||||||
* Starting builds from any stage (although cloudbees implemented something called checkpoints)
|
* Starting builds from any stage (although cloudbees implemented something called checkpoints)
|
||||||
@ -501,6 +505,35 @@ CSMA/CD algorithm:
|
|||||||
<summary>What is NAT? How it works?</summary><br><b>
|
<summary>What is NAT? How it works?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<a name="network-advanced"></a>
|
||||||
|
#### :star: Advanced
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Explain Spanning Tree Protocol (STP)</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is link aggregation? Why is it used?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is Asymmetric Routing? How do deal with it?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is GRE? How it works?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Explain OSPF</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Using Hammind code, what would be the code word for the following data word 100111010001101?</summary><br><b>
|
||||||
|
|
||||||
|
00110011110100011101
|
||||||
|
</b></details>
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
|
|
||||||
<a name="linux-beginner"></a>
|
<a name="linux-beginner"></a>
|
||||||
@ -515,6 +548,7 @@ CSMA/CD algorithm:
|
|||||||
* grep
|
* grep
|
||||||
* wc
|
* wc
|
||||||
* touch
|
* touch
|
||||||
|
* man
|
||||||
* df</summary><br><b>
|
* df</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
@ -555,6 +589,10 @@ The tasks are stored in a cron file.
|
|||||||
<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>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>On a system which uses systemd, how would display the logs?</summary>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What commands are you using for troubleshooting issues? specifically:
|
<summary>What commands are you using for troubleshooting issues? specifically:
|
||||||
|
|
||||||
@ -700,6 +738,10 @@ SIGKILL - a signal which cannot caught or ignored
|
|||||||
To view all available signals run `kill -l`
|
To view all available signals run `kill -l`
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What happens when you press ctrl + c?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What are daemons?</summary><br><b>
|
<summary>What are daemons?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
@ -714,6 +756,10 @@ Terminated
|
|||||||
Zombie
|
Zombie
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is a zombie process? How do you get rid of it?</summary>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is the init process?</summary><br><b>
|
<summary>What is the init process?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
@ -746,7 +792,7 @@ You can use the <code>split</code> command this way: <code>split -l 25 some_file
|
|||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is a file descriptor? What file descriptors are you familiar with?</summary><br><b>
|
<summary>What is a file descriptor? What file descriptors are you familiar with?</summary><br><b>
|
||||||
|
Kerberos
|
||||||
File descriptor, also known as file handler, is a unique number which identifies an open file in the operating system.
|
File descriptor, also known as file handler, is a unique number which identifies an open file in the operating system.
|
||||||
|
|
||||||
In Linux (and Unix) the first three file descriptors are:
|
In Linux (and Unix) the first three file descriptors are:
|
||||||
@ -776,6 +822,10 @@ related to the file like its size, owner, permissions, etc.
|
|||||||
<summary>What is SELiunx?</summary><br><b>
|
<summary>What is SELiunx?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is Kerberos?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is nftables?</summary><br><b>
|
<summary>What is nftables?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
@ -784,6 +834,16 @@ related to the file like its size, owner, permissions, etc.
|
|||||||
<summary>What firewalld daemon is responsible for?</summary><br><b>
|
<summary>What firewalld daemon is responsible for?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
##### Network
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>How can you turn your Linux server into a router?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is the routing table? How do you view it?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
##### DNS
|
##### DNS
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
@ -829,6 +889,8 @@ While an A record points a domain name to an IP address, a PTR record does the o
|
|||||||
<summary>How processes are being created?</summary><br><b>
|
<summary>How processes are being created?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
##### Network
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>When you run <code>ip a</code> you see there is a device called 'lo'. What is it and why do we need it?</summary><br><b>
|
<summary>When you run <code>ip a</code> you see there is a device called 'lo'. What is it and why do we need it?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
@ -838,7 +900,7 @@ While an A record points a domain name to an IP address, a PTR record does the o
|
|||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is the routing table? How do you view it?</summary><br><b>
|
<summary>What is network bonding? What types are you familiar with?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
@ -880,6 +942,9 @@ This is a good article about the topic: https://ops.tips/blog/how-linux-creates-
|
|||||||
|
|
||||||
## Ansible
|
## Ansible
|
||||||
|
|
||||||
|
<a name="ansible-beginner"></a>
|
||||||
|
#### :baby: Beginner
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Describe each of the following components in Ansible, including the relationship between them:
|
<summary>Describe each of the following components in Ansible, including the relationship between them:
|
||||||
|
|
||||||
@ -899,6 +964,10 @@ Playbook – One or more plays. Each play can be executed on the same or differe
|
|||||||
Role – Ansible roles allows you to group resources based on certain functionality/service such that they can be easily reused. In a role, you have directories for variables, defaults, files, templates, handlers, tasks, and metadata. You can then use the role by simply specifying it in your playbook.
|
Role – Ansible roles allows you to group resources based on certain functionality/service such that they can be easily reused. In a role, you have directories for variables, defaults, files, templates, handlers, tasks, and metadata. You can then use the role by simply specifying it in your playbook.
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What are some of Ansible best practices?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>What is an inventory file and how you define one?</summary><br><b>
|
<summary>What is an inventory file and how you define one?</summary><br><b>
|
||||||
|
|
||||||
@ -1085,6 +1154,10 @@ The benefits of Terraform over the other tools:
|
|||||||
You use it this way: <code>variable “my_var” {}</code>
|
You use it this way: <code>variable “my_var” {}</code>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Give an example of several Terraform best practices</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
@ -1300,6 +1373,10 @@ Shortest way is: <code>my_string[::-1]</code> but it doesn't mean it's the most
|
|||||||
<summary>Explain what is GIL</summary><br><b>
|
<summary>Explain what is GIL</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is a generator? Why using generators?</summary>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<a name="python-advanced"></a>
|
<a name="python-advanced"></a>
|
||||||
#### :star: Advanced
|
#### :star: Advanced
|
||||||
|
|
||||||
@ -1327,13 +1404,18 @@ Shortest way is: <code>my_string[::-1]</code> but it doesn't mean it's the most
|
|||||||
<summary>Explain Descriptors</summary><br><b>
|
<summary>Explain Descriptors</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>You create a web page where a user can upload a document. But the function which reads the uploaded files, runs for a long time, based on the document size. How can you overcome this?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
## Prometheus
|
## Prometheus
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Describe the following Prometheus components:
|
<summary>Describe the following Prometheus components:
|
||||||
- Prometheus server
|
|
||||||
- Push Gateway
|
* Prometheus server
|
||||||
- Alert Manager</summary><br><b>
|
* Push Gateway
|
||||||
|
* Alert Manager</summary><br><b>
|
||||||
|
|
||||||
Prometheus server responsible for scraping the storing the data<br>
|
Prometheus server responsible for scraping the storing the data<br>
|
||||||
Push gateway is used for short-lived jobs<br>
|
Push gateway is used for short-lived jobs<br>
|
||||||
@ -1601,6 +1683,9 @@ Depends on the language and settings used but in Bash for example, by default th
|
|||||||
<summary>How do you check variable length?</summary><br><b>
|
<summary>How do you check variable length?</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is the difference between single and double quotes?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
<a name="shell-scripting-advanced"></a>
|
<a name="shell-scripting-advanced"></a>
|
||||||
#### Advanced
|
#### Advanced
|
||||||
@ -1613,6 +1698,18 @@ Depends on the language and settings used but in Bash for example, by default th
|
|||||||
</summary><br><b>
|
</summary><br><b>
|
||||||
</b></details>
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Can you give an example to some Bash best practices?</summary><br><b>
|
||||||
|
</b></details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What is the ternary operator? How do you use it in bash?</summary><br><b>
|
||||||
|
|
||||||
|
A short way of using if/else. An example:
|
||||||
|
|
||||||
|
[[ $a = 1 ]] && b="yes, equal" || b="nope"
|
||||||
|
</b></details>
|
||||||
|
|
||||||
## Scenarios
|
## Scenarios
|
||||||
|
|
||||||
Scenarios are questions which don't have verbal answer and require you one of the following:
|
Scenarios are questions which don't have verbal answer and require you one of the following:
|
||||||
|
Loading…
Reference in New Issue
Block a user