Skip to content

Commit 38aaea8

Browse files
author
abregman
committed
Add a couple of questions
1 parent 90a6170 commit 38aaea8

File tree

4 files changed

+144
-54
lines changed

4 files changed

+144
-54
lines changed

README.md

Lines changed: 98 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
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>
@@ -47,15 +47,15 @@
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>
@@ -65,7 +65,7 @@
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)
835835
Glacier 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
43334378
3. 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
```
46874715
OR
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``
62356264
False. 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+
83108332
DNS 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)

certificates/cka.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,42 @@
1313

1414
`kubectl get pods --all-namespaces`
1515
</b></details>
16+
17+
<details>
18+
<summary>How to list all namespaces?</code></summary><br><b>
19+
20+
`kubectl get namespaces`
21+
</b></details>
22+
23+
<details>
24+
<summary>How to create a deployment?</code></summary><br><b>
25+
26+
```
27+
cat << EOF | kubectl create -f -
28+
> apiVersion: v1
29+
> kind: Pod
30+
> metadata:
31+
> name: nginx
32+
> spec:
33+
> containers:
34+
> - name: nginx
35+
> image: nginx
36+
> EOF
37+
```
38+
</b></details>
39+
40+
<details>
41+
<summary>How to print information on a specific pod?</code></summary><br><b>
42+
43+
`kubectl describe pod pod_name`
44+
</b></details>
45+
46+
<details>
47+
<summary>How to delete a pod?</code></summary><br><b>
48+
49+
`kubectl delete pod pod_name`
50+
</b></details>
51+
52+
<details>
53+
<summary>How to check the status of all the components?</code></summary><br><b>
54+
</b></details>

certificates/cloud-practitioner.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,12 @@ More on storage classes [here](https://aws.amazon.com/s3/storage-classes)
316316
Glacier Deep Archive
317317
</b></details>
318318

319+
<details>
320+
<summary>What Glacier retrieval options are available for the user?</summary><br><b>
321+
322+
Expedited, Standard and Bulk
323+
</b></details>
324+
319325
<details>
320326
<summary>True or False? Each AWS account can store up to 500 PetaByte of data. Any additional storage will cost double</summary><br><b>
321327

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Implement the following grep command in Python (numbers can be different): `grep error -A 2 -B 2 some_file`

0 commit comments

Comments
 (0)