Skip to content

Commit fc26d95

Browse files
author
abregman
committed
Add a couple of questions and a new exercise
1 parent 01ae9c5 commit fc26d95

File tree

7 files changed

+117
-36
lines changed

7 files changed

+117
-36
lines changed

Diff for: README.md

+89-13
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
:information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
44

5-
:bar_chart:  There are currently **1386** questions
5+
:bar_chart:  There are currently **1402** questions
66

77
: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
88

@@ -72,7 +72,6 @@
7272
<td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a></td>
7373
<td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a></td>
7474
<td align="center"><a href="#storage"><img src="images/storage.png" width="75px;" height="75px;" alt="Storage"/><br /><b>Storage</b></a></td>
75-
<td align="center"><a href="#packer"><img src="images/packer.png" width="75px;" height="75px;" alt="Packer"/><br /><b>Packer</b></a></td>
7675
<td align="center"><a href="#HR"><img src="images/HR.png" width="110px;" height="75px;" alt="HR"/><br /><b>HR</b></a></td>
7776
<td align="center"><a href="#exercises"><img src="images/exercises.png" width="110px;" height="75px;" alt="Exercises"/><br /><b>Exercises</b></a></td>
7877
</tr>
@@ -6163,6 +6162,10 @@ Using the re module
61636162

61646163
#### Python Strings
61656164

6165+
<details>
6166+
<summary>Find the first repeated character in a string</summary><br><b>
6167+
</b></details>
6168+
61666169
<details>
61676170
<summary>How to extract the unique characters from a string? for example given the input "itssssssameeeemarioooooo" the output will be "mrtisaoe"</summary><br><b>
61686171

@@ -6262,6 +6265,10 @@ def reverse_string(string):
62626265
```
62636266
</b></details>
62646267

6268+
<details>
6269+
<summary>Reverse each word in a string (while keeping the order)</summary><br><b>
6270+
</b></details>
6271+
62656272
<details>
62666273
<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>
62676274

@@ -7442,6 +7449,17 @@ as key-value pair, document-oriented, etc.
74427449
<summary>Explain this query: <code>db.books.find().sort({x:1})</code></summary><br><b>
74437450
</b></details>
74447451

7452+
<details>
7453+
<summary>What is the difference between find() and find_one()?</code></summary><br><b>
7454+
</b></details>
7455+
7456+
<details>
7457+
<summary>How can you export data from Mongo DB?</code></summary><br><b>
7458+
7459+
* mongoexport
7460+
* programming languages
7461+
</b></details>
7462+
74457463
## OpenShift
74467464

74477465
<details>
@@ -9762,14 +9780,7 @@ Relax, there is no wrong or right answer here...I think.
97629780
</b></details>
97639781

97649782
<details>
9765-
<summary>Where do you see yourself in 5 years?</summary><br><b>
9766-
9767-
Some ideas (some of them bad and should not be used):
9768-
9769-
* Senior DevOps
9770-
* Manager
9771-
* Retirement
9772-
* Your manager
9783+
<summary>Where do you see yourself 5 years down the line?</summary><br><b>
97739784
</b></details>
97749785

97759786
<details>
@@ -10360,6 +10371,70 @@ A programming model for large-scale data processing
1036010371
* Namenode controls all metadata
1036110372
</b></details>
1036210373

10374+
## Ceph
10375+
10376+
<details>
10377+
<summary>Explain what is Ceph</summary><br><b>
10378+
</b></details>
10379+
10380+
<details>
10381+
<summary>True or False? Ceph favor consistency and correctness over performances</summary><br><b>
10382+
True
10383+
</b></details>
10384+
10385+
<details>
10386+
<summary>Which services or types of storage Ceph supports?</summary><br><b>
10387+
10388+
* Object (RGW)
10389+
* Block (RBD)
10390+
* File (CephFS)
10391+
</b></details>
10392+
10393+
<details>
10394+
<summary>What is RADOS?</summary><br><b>
10395+
10396+
* Reliable Autonomic Distributed Object Storage
10397+
* Provides low-level data object storage service
10398+
* Strong Consistency
10399+
* Simplifies design and implementation of higher layers (block, file, object)
10400+
</b></details>
10401+
10402+
<details>
10403+
<summary>Describe RADOS software components</summary><br><b>
10404+
10405+
* Monitor
10406+
* Central authority for authentication, data placement, policy
10407+
* Coordination point for all other cluster components
10408+
* Protect critical cluster state with Paxos
10409+
* Manager
10410+
* Aggregates real-time metrics (throughput, disk usage, etc.)
10411+
* Host for pluggable management functions
10412+
* 1 active, 1+ standby per cluster
10413+
* OSD (Object Storage Daemon)
10414+
* Stores data on an HDD or SSD
10415+
* Services client IO requests
10416+
</b></details>
10417+
10418+
<details>
10419+
<summary>What is the workflow of retrieving data from Ceph?</summary><br><b>
10420+
</b></details>
10421+
10422+
<details>
10423+
<summary>What is the workflow of retrieving data from Ceph?</summary><br><b>
10424+
</b></details>
10425+
10426+
<details>
10427+
<summary>What are "Placement Groups"?</summary><br><b>
10428+
</b></details>
10429+
10430+
<details>
10431+
<summary>Describe in the detail the following: Objects -> Pool -> Placement Groups -> OSDs</summary><br><b>
10432+
</b></details>
10433+
10434+
<details>
10435+
<summary>What is OMAP?</summary><br><b>
10436+
</b></details>
10437+
1036310438
## Packer
1036410439

1036510440
<details>
@@ -10413,9 +10488,10 @@ Below you can find several exercises
1041310488

1041410489
* [CI for open source project](exercises/ci_for_open_source_project.md)
1041510490

10416-
#### Python
10491+
#### Programming
1041710492

10418-
* [grep before and after](exercises/grep_berfore_and_after.md)
10493+
* [grep before and after](exercises/programming/grep_berfore_and_after.md)
10494+
* [web scrapper](exercises/programming/web_scraper.md)
1041910495

1042010496
#### Mixed
1042110497

@@ -10424,7 +10500,7 @@ Below you can find several exercises
1042410500

1042510501
#### Misc
1042610502

10427-
* [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md)
10503+
* [Elasticsearch & Kibana on AWS](exercises/misc/elk_kibana_aws.md)
1042810504
* [ELK & Filebeat](exercises/eflk.md)
1042910505
* [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md)
1043010506
* [Cloud Slack bot](exercises/cloud_slack_bot.md)

Diff for: exercises/elk_kibana_aws.md

-21
This file was deleted.

Diff for: exercises/solutions/elk_kibana_aws.md renamed to exercises/misc/elk_kibana_aws.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
1-
# Elasticsearch, Kibana and AWS - Solution
1+
# Elasticsearch, Kibana and AWS
2+
3+
Your task is to build an elasticsearch cluster along with Kibana dashboard on one of the following clouds:
4+
5+
* AWS
6+
* OpenStack
7+
* Azure
8+
* GCP
9+
10+
You have to describe in details (preferably with some drawings) how you are going to set it up.
11+
Please describe in detail:
12+
13+
- How you scale it up or down
14+
- How you quickly (less 20 minutes) provision the cluster
15+
- How you apply security policy for access control
16+
- How you transfer the logs from the app to ELK
17+
- How you deal with multi apps running in different regions
18+
19+
# Solution
220

321
This one out of many possible solutions. This solution is relying heavily on AWS.
422

Diff for: exercises/programming/web_scraper.md

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

Diff for: images/containers.png

1.24 KB
Loading

Diff for: scripts/count_questions.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
# We dont care about non alphanumerics filenames so we just ls | grep to shorten the script.
44

5-
echo $(( $(ls ./exercises/ | grep ".*md" -c) + $(grep \</summary\> -c README.md) ))
5+
echo $(( $(ls -R ./exercises/ | grep ".*md" -c) + $(grep \</summary\> -c README.md) ))

0 commit comments

Comments
 (0)