2424 <tr >
2525 <td align="center"><a href="#devops"><img src="images/devops.png" width="70px;" height="75px;" alt="DevOps" /><br /><b>DevOps</b></a><br /><sub><a href="#devops-beginner">Beginner :baby:</a></sub><br><sub><a href="#devops-advanced">Advanced :star:</a></sub></td>
2626 <td align="center"><a href="#jenkins"><img src="images/jenkins.png" width="85px;" height="85px;" alt="Jenkins"/><br /><b>Jenkins</b></a><br /><sub><a href="#jenkins-beginner">Beginner :baby:</a></sub><br><sub><a href="#jenkins-advanced">Advanced :star:</a></sub></td>
27- <td align="center"><a href="#git"><img src="images/git.png" width="80px;" height="75px;" alt="Git"/><br /><b>Git</b></a><br /><sub><a href="#git-beginner">Beginner :baby:</a></sub><br><sub><a href="#git-advanced">Advanced :star:</a></sub>< /td>
27+ <td align="center"><a href="#git"><img src="images/git.png" width="80px;" height="75px;" alt="Git"/><br /><b>Git</b></a></td>
2828 <td align="center"><a href="#ansible"><img src="images/ansible.png" width="75px;" height="75px;" alt="ansible"/><br /><b>Ansible</b></a></td>
2929 <td align="center"><a href="#Network"><img src="images/network.png" width="80x;" height="75px;" alt="Network"/><br /><b>Network</b></a><br /><sub><a href="#network-beginner">Beginner :baby:</a></sub><br><sub><a href="#network-advanced">Advanced :star:</a></sub></td>
3030 <td align="center"><a href="#linux"><img src="images/linux.png" width="75x;" height="75px;" alt="Linux"/><br /><b>Linux</b></a><br /><sub><a href="#linux-beginner">Beginner :baby:</a></sub><br><sub><a href="#linux-advanced">Advanced :star:</a></sub></td>
4747 <td align="center"><a href="#azure"><img src="images/azure.png" width="75px;" height="75px;" alt="azure"/><br /><b>Azure</b></a><br /><sub><a href="#azure-beginner">Beginner :baby:</a></sub><br><sub></td>
4848 <td align="center"><a href="#gcp"><img src="images/googlecloud.png" width="80px;" height="75px;" alt="Google Cloud Platform"/><br /><b>Google Cloud Platform</b></a><br /><sub><a href="#gcp-beginner">Beginner :baby:</a></sub><br><sub></td>
4949 <td align="center"><a href="#openstack"><img src="images/openstack.png" width="75px;" height="75px;" alt="openstack"/><br /><b>OpenStack</b></a><br /><sub><a href="#openstack-beginner">Beginner :baby:</a></sub><br><sub><a href="#openstack-advanced">Advanced :star:</a></sub></td>
50- <td align="center"><a href="#security"><img src="images/security.png" width="75px;" height="75px;" alt="security"/><br /><b>Security</b></a><br /><sub><a href="#security-beginner">Beginner :baby:</a></sub><br><sub><a href="#security-advanced">Advanced :star:</a></sub>< /td>
50+ <td align="center"><a href="#security"><img src="images/security.png" width="75px;" height="75px;" alt="security"/><br /><b>Security</b></a></td>
5151 <td align="center"><a href="#puppet"><img src="images/puppet.png" width="75px;" height="75px;" alt="puppet"/><br /><b>Puppet</b></a><br /><sub><a href="#puppet-beginner">Beginner :baby:</a></sub><br><sub><a href="#puppet-advanced">Advanced :star:</a></sub></td>
5252 <td align="center"><a href="#openshift"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a><br /><sub><a href="#openshift-beginner">Beginner :baby:</a></sub><br><sub></td>
5353 </tr >
5454 <tr >
5555 <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>
5656 <td align="center"><a href="#elastic"><img src="images/elastic.png" width="110px;" height="75px;" alt="Elastic"/><br /><b>Elastic</b></a></td>
5757 <td align="center"><a href="#virtualization"><img src="images/virtualization.png" width="75px;" height="75px;" alt="Virtualization"/><br /><b>Virtualization</b></a><br /><sub><a href="#virtualization-beginner">Beginner :baby:</a></sub><br><sub></td>
58- <td align="center"><a href="#dns"><img src="images/dns.png" width="75px;" height="75px;" alt="DNS"/><br /><b>DNS</b></a><br /><sub><a href="#dns-beginner">Beginner :baby:</a></sub><br><sub>< /td>
58+ <td align="center"><a href="#dns"><img src="images/dns.png" width="75px;" height="75px;" alt="DNS"/><br /><b>DNS</b></a></td>
5959 <td align="center"><a href="#operating-system"><img src="images/os.png" width="75px;" height="75px;" alt="Operating System"/><br /><b>Operating System</b></a></td>
6060 <td align="center"><a href="#distributed"><img src="images/distributed.png" width="110px;" height="75px;" alt="Distributed"/><br /><b>Distributed</b></a></td>
6161 <td align="center"><a href="#general"><img src="images/general.png" width="110px;" height="75px;" alt="General"/><br /><b>General</b></a><br /><sub><a href="#general-beginner">Beginner :baby:</a></sub><br><sub></td>
6565 <td align="center"><a href="#testing"><img src="images/testing.png" width="75px;" height="75px;" alt="Testing"/><br /><b>Testing</b></a></td>
6666 <td align="center"><a href="#databases"><img src="images/databases.png" width="75px;" height="75px;" alt="Databases"/><br /><b>Databases</b></a></td>
6767 <td align="center"><a href="#regex"><img src="images/regex.png" width="75ph;" height="75px;" alt="RegEx"/><br /><b>Regex</b></a><br /><sub><a href="#regex-beginner">Beginner :baby:</a></sub><br><sub></td>
68- <td align="center"><a href="#design"><img src="images/design.png" width="110px;" height="75px;" alt="Design"/><br /><b>Design</b></a></td>
68+ <td align="center"><a href="#system- design"><img src="images/design.png" width="110px;" height="75px;" alt="Design"/><br /><b>System Design</b></a></td>
6969 <td align="center"><a href="#hardware"><img src="images/hardware.png" width="110px;" height="75px;" alt="Hardware"/><br /><b>Hardware</b></a></td>
7070 <td align="center"><a href="#big-data"><img src="images/big-data.png" width="110px;" height="75px;" alt="Big Data"/><br /><b>Big Data</b></a></td>
7171 <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>
@@ -835,6 +835,12 @@ More on storage classes [here](https://aws.amazon.com/s3/storage-classes)
835835Glacier Deep Archive
836836</b ></details >
837837
838+ <details >
839+ <summary >What Glacier retrieval options are available for the user?</summary ><br ><b >
840+
841+ Expedited, Standard and Bulk
842+ </b ></details >
843+
838844<details >
839845<summary >True or False? Each AWS account can store up to 500 PetaByte of data. Any additional storage will cost double</summary ><br ><b >
840846
@@ -4240,6 +4246,10 @@ False. A Kubernetes cluster consists of at least 1 master and 0 or more workers.
42404246 * Container runtime - the engine runs the containers (Podman, Docker, ...)
42414247</b ></details >
42424248
4249+ <details >
4250+ <summary >What is kubectl?</summary ><br ><b >
4251+ </b ></details >
4252+
42434253#### Basic Commands
42444254
42454255<details >
@@ -4254,6 +4264,41 @@ False. A Kubernetes cluster consists of at least 1 master and 0 or more workers.
42544264` kubectl get pods --all-namespaces `
42554265</b ></details >
42564266
4267+ <details >
4268+ <summary >How to list all namespaces?</code ></summary ><br ><b >
4269+
4270+ ` kubectl get namespaces `
4271+ </b ></details >
4272+
4273+ <details >
4274+ <summary >How to create a deployment?</code ></summary ><br ><b >
4275+
4276+ ```
4277+ cat << EOF | kubectl create -f -
4278+ > apiVersion: v1
4279+ > kind: Pod
4280+ > metadata:
4281+ > name: nginx
4282+ > spec:
4283+ > containers:
4284+ > - name: nginx
4285+ > image: nginx
4286+ > EOF
4287+ ```
4288+ </b ></details >
4289+
4290+ <details >
4291+ <summary >How to print information on a specific pod?</code ></summary ><br ><b >
4292+
4293+ ` kubectl describe pod pod_name `
4294+ </b ></details >
4295+
4296+ <details >
4297+ <summary >How to delete a pod?</code ></summary ><br ><b >
4298+
4299+ ` kubectl delete pod pod_name `
4300+ </b ></details >
4301+
42574302<details >
42584303<summary >Describe in detail what the following command does <code >kubectl create deployment kubernetes-httpd --image=httpd</code ></summary ><br ><b >
42594304</b ></details >
@@ -4333,7 +4378,6 @@ open source toolkit used to manage k8s native applications, called operators, in
433343783 . Operator Metering - Enables usage reporting for operators that provide specialized services
43344379</b ></details >
43354380
4336-
43374381<details >
43384382<summary >Describe in detail what is the Operator Lifecycle Manager</summary ><br ><b >
43394383
@@ -4349,26 +4393,6 @@ It includes:
43494393 * olm-operator - Deploys applications defined by ClusterServiceVersion resource
43504394</b ></details >
43514395
4352- #### Kubernetes Commands
4353-
4354- <details >
4355- <summary >What is kubectl?</summary ><br ><b >
4356- </b ></details >
4357-
4358- <details >
4359- <summary >How do you:
4360-
4361- * Check the cluster status?
4362- * Check the status of the nodes?</summary ><br ><b >
4363- </b ></details >
4364-
4365- <details >
4366- <summary >What the following commands do?
4367-
4368- * kubectl get nodes
4369- * kubectl get pods --all-namespaces</summary ><br ><b >
4370- </b ></details >
4371-
43724396<details >
43734397<summary >What is kubconfig? What do you use it for?</summary ><br ><b >
43744398</b ></details >
@@ -4637,10 +4661,10 @@ You can usually use the function hash() to check an object mutability. If an obj
46374661 * 1 == 'one'
46384662 * 2 > 'one'</summary ><br ><b >
46394663
4640- * False
4641- * True
4642- * False
4643- * TypeError
4664+ * False
4665+ * True
4666+ * False
4667+ * TypeError
46444668</b ></details >
46454669
46464670<details >
@@ -4652,15 +4676,18 @@ You can usually use the function hash() to check an object mutability. If an obj
46524676 * "abc"* True
46534677 * "abc"* False</summary ><br ><b >
46544678
4655- * abcabcabc
4656- * TypeError
4657- * TypeError
4658- * "abc"
4659- * ""
4679+ * abcabcabc
4680+ * TypeError
4681+ * TypeError
4682+ * "abc"
4683+ * ""
46604684</b ></details >
46614685
46624686<details >
46634687<summary >What is the result of `bool("")`? What about `bool(" ")`?</summary ><br ><b >
4688+
4689+ bool("") -> evaluates to False
4690+ bool(" ") -> evaluates to True
46644691</b ></details >
46654692
46664693<details >
@@ -4681,19 +4708,20 @@ if char == "a" or char == "y" or char == "o" or char == "e" or char =="u" or ch
46814708</summary ><br ><b >
46824709
46834710```
4684- if lower(input("Insert a character: ")[0]) in "aieou": # Takes care of multiple characters and small/Capital cases
4711+ char = input("Insert a character: ") # For readablity
4712+ if lower(char[0]) in "aieou": # Takes care of multiple characters and separate cases
46854713 print("It's a vowel!")
46864714```
46874715OR
46884716```
4689- char = input("Insert a character: ") # For readablity
4690- if lower(char[0]) in "aieou": # Takes care of multiple characters and separate cases
4717+ if lower(input("Insert a character: ")[0]) in "aieou": # Takes care of multiple characters and small/Capital cases
46914718 print("It's a vowel!")
46924719```
46934720</b ></details >
46944721
46954722<details >
46964723<summary >How to define a function with Python?</summary ><br ><b >
4724+ Using the ` def ` keyword
46974725</b ></details >
46984726
46994727<details >
@@ -6097,9 +6125,6 @@ Alert manager is responsible for alerts ;)
60976125
60986126## Git
60996127
6100- <a name =" git-beginner " ></a >
6101- #### :baby : Beginner
6102-
61036128<details >
61046129<summary >What is the difference between <code >git pull</code > and <code >git fetch</code >?</summary ><br ><b >
61056130
@@ -6185,6 +6210,10 @@ git checkout HEAD~1 -- /path/of/the/file
61856210```
61866211</b ></details >
61876212
6213+ <details >
6214+ <summary >How to squash last two commits?</summary ><br ><b >
6215+ </b ></details >
6216+
61886217<details >
61896218<summary >What is the <code >.git</code > directory? What can you find there?</summary ><br ><b >
61906219 The <code>.git</code> folder contains all the information that is necessary for your project in version control and all the information about commits, remote repository address, etc. All of them are present in this folder. It also contains a log that stores your commit history so that you can roll back to history.
@@ -6235,9 +6264,6 @@ If you would like to also discard the changes you `git reset --hard``
62356264False. If you would like to keep a file on your filesystem, use ` git reset <file_name> `
62366265</b ></details >
62376266
6238- <a name =" git-advanced " ></a >
6239- #### :star : Advanced
6240-
62416267<details >
62426268<summary >Explain Git octopus merge</summary ><br ><b >
62436269
@@ -7050,7 +7076,7 @@ An availability set is a logical grouping of VMs that allows Azure to understand
70507076<summary >What storage options Azure supports?</summary ><br ><b >
70517077</b ></details >
70527078
7053- #### Security
7079+ #### Azure Security
70547080
70557081<details >
70567082<summary >What is the Azure Security Center? What are some of its features?</summary ><br ><b >
@@ -7602,9 +7628,6 @@ A list of services and their endpoints
76027628
76037629## Security
76047630
7605- <a name =" security-beginner " ></a >
7606- #### :baby : Beginner
7607-
76087631<details >
76097632<summary >Can you describe the DevSecOps core principals? (or what is DevSecOps)</summary ><br ><b >
76107633</b ></details >
@@ -7720,6 +7743,10 @@ You can test by using a stored procedure, so the application must be sanitize th
77207743<summary >What is DDoS attack? How do you deal with it?</summary ><br ><b >
77217744</b ></details >
77227745
7746+ <details >
7747+ <summary >What is port scanning? When is it used?</summary ><br ><b >
7748+ </b ></details >
7749+
77237750<details >
77247751<summary >What is the difference between asynchronous and synchronous encryption?</summary ><br ><b >
77257752</b ></details >
@@ -7840,9 +7867,6 @@ A buffer overflow (or buffer overrun) occurs when the volume of data exceeds the
78407867<summary >Explain what is Docker Bench</summary ><br ><b >
78417868</b ></details >
78427869
7843- <a name =" security-advanced " ></a >
7844- #### :baby : Advanced
7845-
78467870<details >
78477871<summary >Explain MAC flooding attack</summary ><br ><b >
78487872
@@ -8236,9 +8260,6 @@ You can generate certificates with the provided elastic utils and change configu
82368260
82378261## DNS
82388262
8239- <a name =" dns-beginner " ></a >
8240- #### :baby : Beginner
8241-
82428263<details >
82438264<summary >What is DNS? What is it used for?</summary ><br ><b >
82448265
@@ -8307,6 +8328,7 @@ MX (Mail Exchange) Specifies a mail exchange server for the domain, which allows
83078328
83088329<details >
83098330<summary >Is DNS using TCP or UDP?</summary ><br ><b >
8331+
83108332DNS uses UDP port 53 for resolving queries either regular or reverse. DNS uses TCP for zone transfer.
83118333</b ></details >
83128334
@@ -8612,6 +8634,10 @@ In Copyleft, any derivative work must use the same licensing while in permissive
86128634<summary >How a search engine works?</summary ><br ><b >
86138635</b ></details >
86148636
8637+ <details >
8638+ <summary >How auto completion works?</summary ><br ><b >
8639+ </b ></details >
8640+
86158641<details >
86168642<summary >What is faster than RAM?</summary ><br ><b >
86178643</b ></details >
@@ -8935,7 +8961,7 @@ Bonus: extract the last word of each line
89358961<summary >Replace 'red' with 'green'</summary ><br ><b >
89368962</b ></details >
89378963
8938- ## Design
8964+ ## System Design
89398965
89408966#### Architecture
89418967
@@ -9046,6 +9072,20 @@ DNS redirection
90469072<summary >Explain "Branch by Abstraction" technique</summary ><br ><b >
90479073</b ></details >
90489074
9075+ #### Design a system
9076+
9077+ <details >
9078+ <summary >Can you design a video streaming website?</summary ><br ><b >
9079+ </b ></details >
9080+
9081+ <details >
9082+ <summary >Can you design a photo upload website?</summary ><br ><b >
9083+ </b ></details >
9084+
9085+ <details >
9086+ <summary >How would you build a URL shortener?</summary ><br ><b >
9087+ </b ></details >
9088+
90499089## Hardware
90509090
90519091<details >
@@ -9181,6 +9221,10 @@ Below you can find several exercises
91819221
91829222* [ CI for open source project] ( exercises/ci_for_open_source_project.md )
91839223
9224+ #### Python
9225+
9226+ * [ grep before and after] ( exercises/grep_berfore_and_after.md )
9227+
91849228#### Mixed
91859229
91869230* [ Flask, Containers and CI] ( exercises/flask_container_ci/README.md )
0 commit comments