Skip to content

Commit

Permalink
Add a couple of questions
Browse files Browse the repository at this point in the history
  • Loading branch information
abregman committed Jan 6, 2020
1 parent 7c2a922 commit 8638107
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 2 deletions.
77 changes: 75 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

:information_source:  This repository contains questions on various DevOps and SRE related topics

:bar_chart:  There are currently **770** questions
:bar_chart:  There are currently **781** questions

:books:  To learn more about DevOps check the resources in [DevOpsBit.com](https://devopsbit.com)

Expand Down Expand Up @@ -63,6 +63,7 @@
</tr>
<tr>
<td align="center"><a href="#design"><img src="images/design.png" width="110px;" height="75px;" alt="Design"/><br /><b>Design</b></a></td>
<td align="center"><a href="#questions-you-ask"><img src="images/you.png" width="110px;" height="75px;" alt="you"/><br /><b>Questions you ask</b></a></td>
<td align="center"><a href="#challenges"><img src="images/challenges.png" width="110px;" height="75px;" alt="Challenges"/><br /><b>Challenges</b></a></td>
</tr>
</table>
Expand Down Expand Up @@ -1308,7 +1309,7 @@ Each number has different meaning, based on how the application was developed.
I consider this as a good blog post to read more about it: https://shapeshed.com/unix-exit-codes
</b></details>

##### Storage, Filesystem
##### Storage & Filesystem

<details>
<summary>What's an inode?</summary><br><b>
Expand Down Expand Up @@ -1404,6 +1405,10 @@ True
<summary>What is lazy umount?</summary><br><b>
</b></details>

<details>
<summary>What is tmpfs?</summary><br><b>
</b></details>

<details>
<summary>Fix the following commands:

Expand Down Expand Up @@ -1896,6 +1901,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>

#### Memory

<details>
<summary>What is the difference between MemFree and MemAvailable in /proc/meminfo?</summary><br><b>

MemFree - The amount of unused physical RAM in your system
MemAvailable - The amount of available memory for new workloads (without pushing system to use swap) based on MemFree, Active(file), Inactive(file), and SReclaimable.
</b></details>

## Operating System

<a name="operating-system-beginner"></a>
Expand Down Expand Up @@ -1961,6 +1975,15 @@ False. It was true in the past but today's operating systems perform lazy loadin
<summary>Explain what is Semaphore and what its role in operating systems</summary><br><b>
</b></details>

#### Memory

<details>
<summary>What is cache? What is buffer?</summary><br><b>

Buffer: Reserved place in RAM which is used to hold data for temporary purposes
Cache: Cache is usually used when processes reading and writing to the disk to make the process faster by making similar data used by different programs easily accessible.
</b></details>

## Virtualization

<a name="virtualization-beginner"></a>
Expand Down Expand Up @@ -2775,6 +2798,10 @@ The immutable data types are:
You can usually use the function hash() to check an object mutability. If an object is hashable, it is immutable (although this does not always work as intended as user defined objects might be mutable and hashable).
</b></details>

<details>
<summary>Explain set and frozenset types. What would you use them for?</summary><br><b>
</b></details>

<details>
<summary>In Python, functions are first-class objects. What does it mean?</summary><br><b>

Expand Down Expand Up @@ -2956,6 +2983,10 @@ Generally, every compiling process have a two steps.
<summary>Explain what is GIL</summary><br><b>
</b></details>

<details>
<summary>Explain the @property decorator</summary><br><b>
</b></details>

<details>
<summary>What is Lambda? How is it used?</summary><br><b>
</b></details>
Expand Down Expand Up @@ -3022,6 +3053,20 @@ some_list[:3]
```
</b></details>

<details>
<summary>How to sort list be the length of items?</summary><br><b>

```
sorted_li = sorted(li, key=len)
```

Or without creating a new list:

```
li.sort(key=len)
```
</b></details>

<details>
<summary>Do you know what is the difference between list.sort() and sorted(list)?</summary><br><b>

Expand Down Expand Up @@ -4991,6 +5036,10 @@ Authorization is the process of identifying what level of access the service or
<summary>What is air-gapped network (or air-gapped environment)? What its advantages and disadvantages?</summary><br><b>
</b></details>
<details>
<summary>Explain what is Buffer Overflow</summary><br><b>
</b></details>
##### Containers
<details>
Expand Down Expand Up @@ -5462,6 +5511,12 @@ TODO: explain what is actually a Cookie
<summary>What is faster than RAM?</summary><br><b>
</b></details>
<details>
<summary>What is the C10K problem? Is it relevant today?</summary><br><b>
https://idiallo.com/blog/c10k-2016
</b></details>
## HR
Although the following questions are not DevOps related, they are still quite common and part of the DevOps interview process so it's better to prepare for them as well.
Expand Down Expand Up @@ -5569,6 +5624,8 @@ You can use and elaborate on one or all of the following:
## Questions you CAN ask
<a name="questions-you-ask"></a>
A list of questions you as a candidate can ask the interviewer during or after the interview.
These are only a suggestion, use them carefully. Not every interviewer will be able to answer these (or happy to) which should be perhaps a red flag warning for your regarding working in such place but that's really up to you.
Expand Down Expand Up @@ -5632,6 +5689,22 @@ Vertical Scaling is the process of adding resources to increase power of existin
Horizontal Scaling is the process of adding more resources that will be able handle requests as one unit
</b></details>
<details>
<summary>How would you update each of the services in the following drawing without having app (foo.com) downtime?<br>
<img src="images/design/cdn-no-downtime.png" width="200x;" height="300px;"/>
</summary><br><b>
</b></details>
<details>
<summary>Users report that there is huge spike in process time when adding little bit more data to process as an input. What might be the problem?<br>
<img src="images/design/input-process-output.png" width="300x;" height="200px;"/>
</summary><br><b>
</b></details>
<details>
<summary>How would you scale the architecture from the previous question to hundreds of users?</summary><br><b>
</b></details>
## Challenges
Challenges require you one of the following:
Expand Down
1 change: 1 addition & 0 deletions credits.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ Linux, Kubernetes and Prometheus logos are trademarks of The Linux Foundation®<
Mongo logo is a trademark of <a href="www.mongodb.com">Mongo®</a><br>
Distributed logo by <a href="https://www.iconfinder.com/Flatart">Flatart</a><br>
Challenge icon by Elizabeth Arostegui in Technology Mix
"Question you ask" icon (man raising hand) by [Webalys](https://www.iconfinder.com/webalys)
Binary file added images/design/cdn-no-downtime.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/design/input-process-output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/you.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 8638107

Please sign in to comment.