From fc26d95145786f979c7b4c1d10ceb79cdb875584 Mon Sep 17 00:00:00 2001 From: abregman Date: Sun, 3 Jan 2021 11:54:31 +0200 Subject: [PATCH] Add a couple of questions and a new exercise --- README.md | 102 +++++++++++++++--- exercises/elk_kibana_aws.md | 21 ---- .../{solutions => misc}/elk_kibana_aws.md | 20 +++- .../grep_berfore_and_after.md | 0 exercises/programming/web_scraper.md | 8 ++ images/containers.png | Bin 0 -> 1266 bytes scripts/count_questions.sh | 2 +- 7 files changed, 117 insertions(+), 36 deletions(-) delete mode 100644 exercises/elk_kibana_aws.md rename exercises/{solutions => misc}/elk_kibana_aws.md (64%) rename exercises/{ => programming}/grep_berfore_and_after.md (100%) create mode 100644 exercises/programming/web_scraper.md create mode 100644 images/containers.png diff --git a/README.md b/README.md index 54fea3b..de2c733 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ :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 @@ -72,7 +72,6 @@ sql
SQL
OpenShift
OpenShift
Storage
Storage
- Packer
Packer
HR
HR
Exercises
Exercises
@@ -6163,6 +6162,10 @@ Using the re module #### Python Strings +
+Find the first repeated character in a string
+
+
How to extract the unique characters from a string? for example given the input "itssssssameeeemarioooooo" the output will be "mrtisaoe"
@@ -6262,6 +6265,10 @@ def reverse_string(string): ```
+
+Reverse each word in a string (while keeping the order)
+
+
What is the output of the following code: "".join(["a", "h", "m", "a", "h", "a", "n", "q", "r", "l", "o", "i", "f", "o", "o"])[2::3]
@@ -7442,6 +7449,17 @@ as key-value pair, document-oriented, etc. Explain this query: db.books.find().sort({x:1})
+
+What is the difference between find() and find_one()?
+
+ +
+How can you export data from Mongo DB?
+ +* mongoexport +* programming languages +
+ ## OpenShift
@@ -9762,14 +9780,7 @@ Relax, there is no wrong or right answer here...I think.
-Where do you see yourself in 5 years?
- -Some ideas (some of them bad and should not be used): - -* Senior DevOps -* Manager -* Retirement -* Your manager +Where do you see yourself 5 years down the line?
@@ -10360,6 +10371,70 @@ A programming model for large-scale data processing * Namenode controls all metadata
+## Ceph + +
+Explain what is Ceph
+
+ +
+True or False? Ceph favor consistency and correctness over performances
+True +
+ +
+Which services or types of storage Ceph supports?
+ +* Object (RGW) +* Block (RBD) +* File (CephFS) +
+ +
+What is RADOS?
+ +* Reliable Autonomic Distributed Object Storage +* Provides low-level data object storage service +* Strong Consistency +* Simplifies design and implementation of higher layers (block, file, object) +
+ +
+Describe RADOS software components
+ +* 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 +
+ +
+What is the workflow of retrieving data from Ceph?
+
+ +
+What is the workflow of retrieving data from Ceph?
+
+ +
+What are "Placement Groups"?
+
+ +
+Describe in the detail the following: Objects -> Pool -> Placement Groups -> OSDs
+
+ +
+What is OMAP?
+
+ ## Packer
@@ -10413,9 +10488,10 @@ Below you can find several exercises * [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 @@ -10424,7 +10500,7 @@ Below you can find several exercises #### 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) * [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md) * [Cloud Slack bot](exercises/cloud_slack_bot.md) diff --git a/exercises/elk_kibana_aws.md b/exercises/elk_kibana_aws.md deleted file mode 100644 index 799b448..0000000 --- a/exercises/elk_kibana_aws.md +++ /dev/null @@ -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) diff --git a/exercises/solutions/elk_kibana_aws.md b/exercises/misc/elk_kibana_aws.md similarity index 64% rename from exercises/solutions/elk_kibana_aws.md rename to exercises/misc/elk_kibana_aws.md index 186023d..bfccdd3 100644 --- a/exercises/solutions/elk_kibana_aws.md +++ b/exercises/misc/elk_kibana_aws.md @@ -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. diff --git a/exercises/grep_berfore_and_after.md b/exercises/programming/grep_berfore_and_after.md similarity index 100% rename from exercises/grep_berfore_and_after.md rename to exercises/programming/grep_berfore_and_after.md diff --git a/exercises/programming/web_scraper.md b/exercises/programming/web_scraper.md new file mode 100644 index 0000000..a08f212 --- /dev/null +++ b/exercises/programming/web_scraper.md @@ -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) diff --git a/images/containers.png b/images/containers.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0a0208f59643aea89c694459c450142cd35065 GIT binary patch literal 1266 zcmVF3&w4GOZ+%rLjQ7A8cUk)U1} zy?2<1$gPPNqKT+5NJ{t+<1Wx>;*~cBO!!DlFyTXkfFcZ>lfmWyWiYzA4*D@zxAwF> zuNTVC-0O`Z(}>NsJ#<5+U12S$2!Ijfq?d%K5XsE3;Xnc@E40tVpp1P4AVh zJKm7UDSJ*FTGqV6YO!`S`Wo<7*US;e|GI#X?~0vU&OHFog%cXdJ!`pn6pW1KZ0 zd>e*tgEYo+0svS|CKLey)ynDL&fxKQXbJ>y*zCodM`L7e4RAFY#igoL+Z-q})p#s6 z%tFCAI?jm`r?}M9Lnf1*opE9edjBTW)64NtKRx&27;++%_X|9%TDy~xv`+YDKes{y zG(OpYx4N2X@3V9o28Kx9j&LRtCZ?yRq!bJ=sXC{NxSpo7^CCBH_R|#b<94|pOfn1@ zjxZh?g@I(eGMYrXjD>ab`Q^hg|aaEO26QM&KN$QY7< zyCQF|q5vl4G@Gf=G;EPLKlPtriNlFqF>~$S2#IWAH}Z^|a3+}q)Hx@XKpK+a^Z@Wlm>qfK)Qwe<2!)^(RK>#MoxFvdH%Y%l-b`0Bf&y+!;w{miCQ}ei2S4vv*Q@ zNdX#t4J4v*em&Qo8vx+-?z7P~m)kca^z75uMn`_p4TJI79yWROd*`3r4G#k{Kft6~ zdd_yXbhp2d%B0txx-&EYf~?G4_^2`oKoN4vCKMoBy3c<%ri|4a$Q{SR1F4KON@iSU zR#{c)VX@tD26N&{-oIddS65=qrS`2!nOQ0&-~JJglFSyrESjPaa98m1f<^x>wAkOK z*|%C8KAitHoYZSw?IB?O0e|y1AU_{WjxSS%KozEfj0NB{tGw!|)-@r%#-wf)NA}+3 z_(Z(mlW@)Db0>rF6phcUL(uk^)iJ-E=_jW77AsBedAL<=VnqLO-;@!(s8MHcU{!@C z(?OFE@06>Wd3Du7j)X(h*c>D>8DeQ2zpEUt-T4 -c README.md) )) +echo $(( $(ls -R ./exercises/ | grep ".*md" -c) + $(grep \ -c README.md) ))