Add a couple of questions and a new exercise

This commit is contained in:
abregman 2021-01-03 11:54:31 +02:00
parent 01ae9c59bc
commit fc26d95145
7 changed files with 117 additions and 36 deletions

102
README.md
View File

@ -2,7 +2,7 @@
:information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :) :information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
:bar_chart:  There are currently **1386** questions :bar_chart:  There are currently **1402** questions
:busts_in_silhouette:  [Join](https://www.facebook.com/groups/538897960007080) our [Facebook group](https://www.facebook.com/groups/538897960007080) for additional exercises, articles and more resources on DevOps :busts_in_silhouette:  [Join](https://www.facebook.com/groups/538897960007080) our [Facebook group](https://www.facebook.com/groups/538897960007080) for additional exercises, articles and more resources on DevOps
@ -72,7 +72,6 @@
<td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a></td> <td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a></td>
<td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a></td> <td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a></td>
<td align="center"><a href="#storage"><img src="images/storage.png" width="75px;" height="75px;" alt="Storage"/><br /><b>Storage</b></a></td> <td align="center"><a href="#storage"><img src="images/storage.png" width="75px;" height="75px;" alt="Storage"/><br /><b>Storage</b></a></td>
<td align="center"><a href="#packer"><img src="images/packer.png" width="75px;" height="75px;" alt="Packer"/><br /><b>Packer</b></a></td>
<td align="center"><a href="#HR"><img src="images/HR.png" width="110px;" height="75px;" alt="HR"/><br /><b>HR</b></a></td> <td align="center"><a href="#HR"><img src="images/HR.png" width="110px;" height="75px;" alt="HR"/><br /><b>HR</b></a></td>
<td align="center"><a href="#exercises"><img src="images/exercises.png" width="110px;" height="75px;" alt="Exercises"/><br /><b>Exercises</b></a></td> <td align="center"><a href="#exercises"><img src="images/exercises.png" width="110px;" height="75px;" alt="Exercises"/><br /><b>Exercises</b></a></td>
</tr> </tr>
@ -6163,6 +6162,10 @@ Using the re module
#### Python Strings #### Python Strings
<details>
<summary>Find the first repeated character in a string</summary><br><b>
</b></details>
<details> <details>
<summary>How to extract the unique characters from a string? for example given the input "itssssssameeeemarioooooo" the output will be "mrtisaoe"</summary><br><b> <summary>How to extract the unique characters from a string? for example given the input "itssssssameeeemarioooooo" the output will be "mrtisaoe"</summary><br><b>
@ -6262,6 +6265,10 @@ def reverse_string(string):
``` ```
</b></details> </b></details>
<details>
<summary>Reverse each word in a string (while keeping the order)</summary><br><b>
</b></details>
<details> <details>
<summary>What is the output of the following code: <code>"".join(["a", "h", "m", "a", "h", "a", "n", "q", "r", "l", "o", "i", "f", "o", "o"])[2::3]</code></summary><br><b> <summary>What is the output of the following code: <code>"".join(["a", "h", "m", "a", "h", "a", "n", "q", "r", "l", "o", "i", "f", "o", "o"])[2::3]</code></summary><br><b>
@ -7442,6 +7449,17 @@ as key-value pair, document-oriented, etc.
<summary>Explain this query: <code>db.books.find().sort({x:1})</code></summary><br><b> <summary>Explain this query: <code>db.books.find().sort({x:1})</code></summary><br><b>
</b></details> </b></details>
<details>
<summary>What is the difference between find() and find_one()?</code></summary><br><b>
</b></details>
<details>
<summary>How can you export data from Mongo DB?</code></summary><br><b>
* mongoexport
* programming languages
</b></details>
## OpenShift ## OpenShift
<details> <details>
@ -9762,14 +9780,7 @@ Relax, there is no wrong or right answer here...I think.
</b></details> </b></details>
<details> <details>
<summary>Where do you see yourself in 5 years?</summary><br><b> <summary>Where do you see yourself 5 years down the line?</summary><br><b>
Some ideas (some of them bad and should not be used):
* Senior DevOps
* Manager
* Retirement
* Your manager
</b></details> </b></details>
<details> <details>
@ -10360,6 +10371,70 @@ A programming model for large-scale data processing
* Namenode controls all metadata * Namenode controls all metadata
</b></details> </b></details>
## Ceph
<details>
<summary>Explain what is Ceph</summary><br><b>
</b></details>
<details>
<summary>True or False? Ceph favor consistency and correctness over performances</summary><br><b>
True
</b></details>
<details>
<summary>Which services or types of storage Ceph supports?</summary><br><b>
* Object (RGW)
* Block (RBD)
* File (CephFS)
</b></details>
<details>
<summary>What is RADOS?</summary><br><b>
* Reliable Autonomic Distributed Object Storage
* Provides low-level data object storage service
* Strong Consistency
* Simplifies design and implementation of higher layers (block, file, object)
</b></details>
<details>
<summary>Describe RADOS software components</summary><br><b>
* Monitor
* Central authority for authentication, data placement, policy
* Coordination point for all other cluster components
* Protect critical cluster state with Paxos
* Manager
* Aggregates real-time metrics (throughput, disk usage, etc.)
* Host for pluggable management functions
* 1 active, 1+ standby per cluster
* OSD (Object Storage Daemon)
* Stores data on an HDD or SSD
* Services client IO requests
</b></details>
<details>
<summary>What is the workflow of retrieving data from Ceph?</summary><br><b>
</b></details>
<details>
<summary>What is the workflow of retrieving data from Ceph?</summary><br><b>
</b></details>
<details>
<summary>What are "Placement Groups"?</summary><br><b>
</b></details>
<details>
<summary>Describe in the detail the following: Objects -> Pool -> Placement Groups -> OSDs</summary><br><b>
</b></details>
<details>
<summary>What is OMAP?</summary><br><b>
</b></details>
## Packer ## Packer
<details> <details>
@ -10413,9 +10488,10 @@ Below you can find several exercises
* [CI for open source project](exercises/ci_for_open_source_project.md) * [CI for open source project](exercises/ci_for_open_source_project.md)
#### Python #### Programming
* [grep before and after](exercises/grep_berfore_and_after.md) * [grep before and after](exercises/programming/grep_berfore_and_after.md)
* [web scrapper](exercises/programming/web_scraper.md)
#### Mixed #### Mixed
@ -10424,7 +10500,7 @@ Below you can find several exercises
#### Misc #### Misc
* [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md) * [Elasticsearch & Kibana on AWS](exercises/misc/elk_kibana_aws.md)
* [ELK & Filebeat](exercises/eflk.md) * [ELK & Filebeat](exercises/eflk.md)
* [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md) * [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md)
* [Cloud Slack bot](exercises/cloud_slack_bot.md) * [Cloud Slack bot](exercises/cloud_slack_bot.md)

View File

@ -1,21 +0,0 @@
# Elasticsearch, Kibana and AWS
Your task is to build an elasticsearch cluster along with Kibana dashboard on one of the following clouds:
* AWS
* OpenStack
* Azure
* GCP
You have to describe in details (preferably with some drawings) how you are going to set it up.
Please describe in detail:
- How you scale it up or down
- How you quickly (less 20 minutes) provision the cluster
- How you apply security policy for access control
- How you transfer the logs from the app to ELK
- How you deal with multi apps running in different regions
## Solution
One Possible solution can be found [here](solutions/elk_kibana_aws.md)

View File

@ -1,4 +1,22 @@
# Elasticsearch, Kibana and AWS - Solution # Elasticsearch, Kibana and AWS
Your task is to build an elasticsearch cluster along with Kibana dashboard on one of the following clouds:
* AWS
* OpenStack
* Azure
* GCP
You have to describe in details (preferably with some drawings) how you are going to set it up.
Please describe in detail:
- How you scale it up or down
- How you quickly (less 20 minutes) provision the cluster
- How you apply security policy for access control
- How you transfer the logs from the app to ELK
- How you deal with multi apps running in different regions
# Solution
This one out of many possible solutions. This solution is relying heavily on AWS. This one out of many possible solutions. This solution is relying heavily on AWS.

View File

@ -0,0 +1,8 @@
## Web Scraper
1. Pick a web site to scrape
2. Using any language you would like, write a web scraper to save some data from the site you chose
3. Save the results to a database (doesn't matter which database, just pick one)
* Note: if you don't know which site to pick up have a look [here](http://toscrape.com)

BIN
images/containers.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -2,4 +2,4 @@
# We dont care about non alphanumerics filenames so we just ls | grep to shorten the script. # We dont care about non alphanumerics filenames so we just ls | grep to shorten the script.
echo $(( $(ls ./exercises/ | grep ".*md" -c) + $(grep \</summary\> -c README.md) )) echo $(( $(ls -R ./exercises/ | grep ".*md" -c) + $(grep \</summary\> -c README.md) ))