Extend prepare_for_interview file

This commit is contained in:
abregman
2019-12-09 01:06:05 +02:00
parent d0a768915a
commit 74da454ada
3 changed files with 108 additions and 15 deletions

View File

@ -2,12 +2,14 @@
:information_source:  This repository contains questions on various DevOps and SRE related topics
:bar_chart:  There are currently **596** questions
:bar_chart:  There are currently **605** questions
:books:  To learn more about DevOps check the resources in [DevOpsBit.com](https://devopsbit.com)
:warning:  The purpose of this repo is to help you test your knowledge and prepare for interviews. It doesn't represents a DevOps interview. Please read [Q&A](common-qa.md) for more details
:thought_balloon:  If you wonder how to prepare to your DevOps Interview, we added a couple of suggestions [here](prepare_for_interview.md)
:pencil:  You can add more questions & answers by submitting pull requests :) You can read more about it [here](CONTRIBUTING.md)
:cn:  You can find a [中文](README-zh_CN.md) Chinese translation right [here](README-zh_CN.md)
@ -53,6 +55,7 @@
<td align="center"><a href="#monitoring"><img src="images/monitoring.png" width="75px;" height="75px;" alt="Monitoring"/><br /><b>Monitoring</b></a><br /><sub><a href="#monitoring-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#elastic"><img src="images/elastic.png" width="110px;" height="75px;" alt="Elastic"/><br /><b>Elastic</b></a><br /><sub><a href="#elastic-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#dns"><b>DNS</b></a><br /><sub><a href="#dns-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#virtualization"><b>Virtualization</b></a><br /><sub><a href="#virtualization-beginner">Beginner :baby:</a></sub><br><sub></td>
<td align="center"><a href="#general"><img src="images/general.png" width="110px;" height="75px;" alt="General"/><br /><b>General</b></a></td>
<td align="center"><a href="#scenarios"><img src="images/scenarios.png" width="110px;" height="75px;" alt="Scenarios"/><br /><b>Scenarios</b></a></td>
</tr>
@ -1137,6 +1140,12 @@ Soft links can be created between different file systems while hard link can be
##### Processes
<details>
<summary>Can you explain what is a process?</summary><br><b>
A process is a running program. A program is one or more instructions and the program (or process) is executed by the operating system.
</b></details>
<details>
<summary>How to run a process in the background and why to do that in the first place?</summary><br><b>
@ -1150,7 +1159,7 @@ execution or run forever
</b></details>
<details>
<summary>What signal is used when you run 'kill <process id>'?</summary><br><b>
<summary>What signal is used by default when you run 'kill <process id>'?</summary><br><b>
<pre>
The default signal is SIGTERM (15). This signal kills
process gracefully which means it allows it to save current
@ -1183,11 +1192,12 @@ To view all available signals run `kill -l`
<details>
<summary>What are the possible states of a process in Linux?</summary><br><b>
<pre>
Running
Waiting
Stopped
Terminated
Zombie
Running (R)
Uninterruptible Sleep (D) - The process is waiting for I/O
Interruptible Sleep (S)
Stopped (T)
Dead (x)
Zombie (z)
</pre>
</b></details>
@ -1441,6 +1451,10 @@ These system calls are reading the file <code>/my/file</code> and 5 is the file
<summary>What is the difference between a process and a thread?</summary><br><b>
</b></details>
<details>
<summary>You found there is a server with high CPU load but you didn't find a process with high CPU. How is that possible?</summary><br><b>
</b></details>
##### Network
<details>
@ -1501,6 +1515,15 @@ This is a good article about the topic: https://ops.tips/blog/how-linux-creates-
<summary>You executed a script and while still running, it got accidentally removed. Is it possible to restore the script while it's still running?</summary><br><b>
</b></details>
## Virtualization
<details>
<summary>Explain what is Virtualization</summary><br><b>
</b></details>
<details>
<summary>What is "time sharing"?</summary><br><b>
</b></details>
## Ansible
@ -2168,6 +2191,27 @@ The average performance of the above algorithm is O(log n). Best performance can
<summary>Name 3 design patterns. Do you know how to implement (= provide an example) these design pattern in any language you'll choose?</summary><br><b>
</b></details>
<details>
<summary>Given an array/list of integers, find 3 integers which are adding up to 0 (in any language you would like)</summary><br><b>
```
def find_triplets_sum_to_zero(li):
li = sorted(li)
for i, val in enumerate(li):
low, up = 0, len(li)-1
while low < i < up:
tmp = var + li[low] + li[up]
if tmp > 0:
up -= 1
elif tmp < 0:
low += 1
else:
yield li[low], val, li[up]
low += 1
up -= 1
```
</b></details>
## Python
<a name="python-beginner"></a>
@ -4191,10 +4235,19 @@ In general the process is as follows:
<details>
<summary>What types of DNS records are there?</summary><br><b>
* A
* PTR
* MX
* AAAA
</b></details>
<details>
<summary>What is a "A record"?</summary><br><b>
<summary>What is a A record?</summary><br><b>
</b></details>
<details>
<summary>What is a AAAA record?</summary><br><b>
</b></details>
<details>