Add a couple of new questions

This commit is contained in:
abregman 2019-10-22 17:30:04 +03:00
parent e2ea087109
commit c5639e3b02

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 **382** questions :bar_chart:  There are currently **399** 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 :)
@ -34,7 +34,7 @@
<td align="center"><a href="#go"><img src="images/go.png" width="75px;" height="75px;" alt="Go"/><br /><b>Go</b></a><br /><sub><a href="#go-beginner">Beginner :baby:</a></sub><br><sub></td> <td align="center"><a href="#go"><img src="images/go.png" width="75px;" height="75px;" alt="Go"/><br /><b>Go</b></a><br /><sub><a href="#go-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#shell-scripting"><img src="images/bash.png" width="75px;" height="75px;" alt="Bash"/><br /><b>Shell Scripting</b></a><br /><sub><a href="#shell-scripting-beginner">Beginner :baby:</a></sub><br><sub><a href="#shell-scripting-advanced">Advanced :star:</a></sub></td> <td align="center"><a href="#shell-scripting"><img src="images/bash.png" width="75px;" height="75px;" alt="Bash"/><br /><b>Shell Scripting</b></a><br /><sub><a href="#shell-scripting-beginner">Beginner :baby:</a></sub><br><sub><a href="#shell-scripting-advanced">Advanced :star:</a></sub></td>
<td align="center"><a href="#kubernetes"><img src="images/kubernetes.png" width="75px;" height="75px;" alt="kubernetes"/><br /><b>Kubernetes</b></a><br /><sub><a href="#kubernetes-beginner">Beginner :baby:</a></sub><br></td> <td align="center"><a href="#kubernetes"><img src="images/kubernetes.png" width="75px;" height="75px;" alt="kubernetes"/><br /><b>Kubernetes</b></a><br /><sub><a href="#kubernetes-beginner">Beginner :baby:</a></sub><br></td>
<td align="center"><a href="#prometheus"><img src="images/prometheus.png" width="75px;" height="75px;" alt="Prometheus"/><br /><b>Prometheus</b></a><br /><sub><a href="#prometheus-beginner">Beginner :baby:</a></sub><br></td> <td align="center"><a href="#prometheus"><img src="images/prometheus.png" width="75px;" height="75px;" alt="Prometheus"/><br /><b>Prometheus</b></a><br /><sub><a href="#prometheus-beginner">Beginner :baby:</a></sub><br><a href="#prometheus-advanced">Advanced :star:</a></sub></td>
<td align="center"><a href="#mongo"><img src="images/mongo.png" width="75px;" height="75px;" alt="Mongo"/><br /><b>Mongo</b></a><br /><sub><a href="#mongo-beginner">Beginner :baby:</a></sub><br><sub></td> <td align="center"><a href="#mongo"><img src="images/mongo.png" width="75px;" height="75px;" alt="Mongo"/><br /><b>Mongo</b></a><br /><sub><a href="#mongo-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a><br /><sub><a href="#sql-beginner">Beginner :baby:</a></sub><br><sub><a href="#sql-advanced">Advanced :star:</a></sub></td> <td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a><br /><sub><a href="#sql-beginner">Beginner :baby:</a></sub><br><sub><a href="#sql-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>
@ -1835,7 +1835,7 @@ Generally, every compiling process have a two steps.
<summary>Write a program which will revert a string (e.g. pizza -> azzip)</summary><br><b> <summary>Write a program which will revert a string (e.g. pizza -> azzip)</summary><br><b>
``` ```
Shortest way is <code>str[::-1]</code> but not the most efficient. Shortest way is str[::-1] but not the most efficient.
"Classic" way: "Classic" way:
@ -1850,6 +1850,10 @@ for char in 'pizza':
</b></details> </b></details>
<details>
<summary>Write a function to return the sum of one or more numbers. The user will decide how many numbers to use.</summary><br><b>
</b></details>
<details> <details>
<summary>How to merge two sorted lists into one sorted list?</summary><br><b> <summary>How to merge two sorted lists into one sorted list?</summary><br><b>
</b></details> </b></details>
@ -1877,13 +1881,28 @@ for char in 'pizza':
with open('file.txt', 'w') as file: with open('file.txt', 'w') as file:
file.write("My insightful comment") file.write("My insightful comment")
``` ```
</b></details> </b></details>
<details> <details>
<summary>How to reverse a file?</summary><br><b> <summary>How to reverse a file?</summary><br><b>
</b></details> </b></details>
#### Regex
<details>
<summary>How do you perform regular expressions related operations in Python? (match patterns, substitute strings, etc.)</summary><br><b>
Using the re module
</b></details>
<details>
<summay>How to substitute the string "green" with "blue"?</summary><br><b>
</b></details>
<details>
<summay>How to find all the IP addresses in a variable? How to find them in a file?</summary><br><b>
</b></details>
<details> <details>
<summary>Sort a list of lists by the second item of each nested list</summary><br><b> <summary>Sort a list of lists by the second item of each nested list</summary><br><b>
@ -1894,6 +1913,10 @@ sorted(x, key=lambda l: l[1])
``` ```
</b></details> </b></details>
<details>
<summary>Can you write a function which will print all the file in a given directory? including sub-directories</summary><br><b>
</b></details>
<details> <details>
<summary>You have the following list: <code>[{'name': 'Mario', 'food': ['mushrooms', 'goombas']}, {'name': 'Luigi', 'food': ['mushrooms', 'turtles']}]</code> <summary>You have the following list: <code>[{'name': 'Mario', 'food': ['mushrooms', 'goombas']}, {'name': 'Luigi', 'food': ['mushrooms', 'turtles']}]</code>
Extract all type of foods. Final output should be: {'mushrooms', 'goombas', 'turtles'}</summary><br><b> Extract all type of foods. Final output should be: {'mushrooms', 'goombas', 'turtles'}</summary><br><b>
@ -1953,6 +1976,10 @@ def reverse_string(string):
<summary>Explain data serialization and how do you perform it with Python</summary><br><b> <summary>Explain data serialization and how do you perform it with Python</summary><br><b>
</b></details> </b></details>
<details>
<summary>How do you handle argument parsing in Python?</summary><br><b>
</b></details>
<details> <details>
<summary>Explain what is GIL</summary><br><b> <summary>Explain what is GIL</summary><br><b>
</b></details> </b></details>
@ -1973,6 +2000,10 @@ def reverse_string(string):
<summary>How to reverse a list?</summary><br><b> <summary>How to reverse a list?</summary><br><b>
</b></details> </b></details>
<details>
<summary>What empty <code>return</code> returns?</summary><br><b>
</b></details>
##### Time Complexity ##### Time Complexity
<details> <details>
@ -2038,6 +2069,21 @@ def reverse_string(string):
## Prometheus ## Prometheus
<a name="prometheus-beginner"></a>
#### :baby: Beginner
<details>
<summary>What is Prometheus? What its benefits?</summary><br><b>
</b></details>
<details>
<summary>Describe Prometheus architecture</summary><br><b>
</b></details>
<details>
<summary>Can you compare Prometheus to other solutions like Zabbix for example?</summary><br><b>
</b></details>
<details> <details>
<summary>Describe the following Prometheus components: <summary>Describe the following Prometheus components:
@ -2050,10 +2096,33 @@ Push gateway is used for short-lived jobs<br>
Alert manager is responsible for alerts ;) Alert manager is responsible for alerts ;)
</b></details> </b></details>
<details>
<summary>What core metrics types Prometheus supports?</summary><br><b>
</b></details>
<details> <details>
<summary>What is an exporter? What is it used for?</summary><br><b> <summary>What is an exporter? What is it used for?</summary><br><b>
</b></details> </b></details>
<details>
<summary>How to get total requests in a given period of time?</summary><br><b>
</b></details>
<a name="prometheus-advanced"></a>
#### :star: Advanced
<details>
<summary>How do you join two metrics?</summary><br><b>
</b></details>
<details>
<summary>How to write a query that returns the value of a label?</summary><br><b>
</b></details>
<details>
<summary>How do you convert cpu_user_seconds to cpu usage in percentage?</summary><br><b>
</b></details>
## Git ## Git
<a name="git-beginner"></a> <a name="git-beginner"></a>
@ -2136,6 +2205,15 @@ This page explains it the best: https://git-scm.com/docs/merge-strategies
<code>git diff</code> <code>git diff</code>
</b></details> </b></details>
<details>
<summary>How do you revert a specific file to previous commit?</summary><br><b>
```
git checkout HEAD~1 -- /path/of/the/file
```
</b></details>
<a name="git-advanced"></a> <a name="git-advanced"></a>
#### :star: Advanced #### :star: Advanced
@ -2177,6 +2255,12 @@ The result is the same, a variable with the value 2.
with <code>var x int = 2</code> we are setting the variable type to integer while with <code>x := 2</code> we are letting Go figure out by itself the type. with <code>var x int = 2</code> we are setting the variable type to integer while with <code>x := 2</code> we are letting Go figure out by itself the type.
</b></details> </b></details>
<details>
<summary>True or False? In Go we can redeclare variables and once declared we must use it.</summary>
False. We can't redeclare variables but yes, we must used declared variables.
</b></details>
<details> <details>
<summary>What libraries of Go have you used?</summary><br><b> <summary>What libraries of Go have you used?</summary><br><b>