diff --git a/README.md b/README.md index 238fbd9..e7da452 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 **1504** questions +:bar_chart:  There are currently **1509** questions :books:  To learn more about DevOps and SRE, check the resources in [devops-resources](https://github.com/bregman-arie/devops-resources) repository @@ -31,7 +31,7 @@ Terraform
Terraform
- coding
Coding
+ programming
Programming
Python
Python
go
Go
Bash
Shell Scripting
@@ -181,6 +181,10 @@ With "configuration->deployment" model for example, where you build one image to * Testing/Staging environment should be a clone of production environment +
+You are given a pipeline and a pool with 3 workers: virtual machine, baremetal and a container. How will you decide on which one of them to run the pipeline?
+
+
Where do you store CI/CD pipelines? Why?
@@ -5910,12 +5914,19 @@ You can learn more [here](https://submariner-io.github.io) What is Istio? What is it used for?
-## Coding +## Programming
What programming language do you prefer to use for DevOps related tasks? Why specifically this one?
+
+What are static typed (or simply typed) languages?
+ +In static typed languages the variable type is known at compile-time instead of at run-time. +Such languages are: C, C++ and Java +
+
Explain expressions and statements
@@ -5957,6 +5968,14 @@ SOLID is: * Dependency Inversion - High level modules should depend on abstractions, not low level modules
+
+What is YAGNI? What is your opinion on it?
+
+ +
+What is DRY? What is your opinion on it?
+
+
What are the four pillars of object oriented programming?
@@ -5973,6 +5992,12 @@ SOLID is: Explain Dependency Injection
+
+True or False? In Dynamically typed languages the variable type is known at run-time instead of at compile-time
+ +True +
+
Explain what are design patterns and describe three of them in detail
@@ -6102,8 +6127,6 @@ def find_triplets_sum_to_zero(li): 5. The python package manager is called PIP "pip installs packages", having more than 200.000 available packages. 6. Python comes with pip installed and a big standard library that offers the programmer many precooked solutions. 7. In python **Everything** is an object. - -There are many other characteristics but these are the main ones that every python programmer should know. ```
@@ -6148,10 +6171,10 @@ The immutable data types are: * 1 == 'one' * 2 > 'one'
-* False -* True -* False -* TypeError + * False + * True + * False + * TypeError
@@ -6173,7 +6196,7 @@ The immutable data types are:
What is the result of `bool("")`? What about `bool(" ")`? Explain
-bool("") -> evaluates to False +bool("") -> evaluates to False
bool(" ") -> evaluates to True
@@ -6920,6 +6943,14 @@ with open('file.txt', 'w') as file: How do you execute shell commands using Python?
+
+How do you join path components? for example /home and luig will result in /home/luigi
+
+ +
+How do you remove non-empty directory?
+
+ #### Python Regex
@@ -8228,11 +8259,11 @@ as key-value pair, document-oriented, etc. ## OpenShift
-What is OpenShift? What experience do you have with OpenShift?
+What is OpenShift?
-Can you explain the difference between OpenShift and Kubernetes?
+How OpenShift is related to Kubernetes?
@@ -8242,23 +8273,41 @@ False. OpenShift is a PaaS (platform as a service) solution.
-Define Pods and explain what are stateful pods
+What would be the best way to run and manage multiple OpenShift environments?
+ +Federation +
+ +#### OpenShift Federation + +
+What is OpenShift Federation?
+ +Management and deployment of services and workloads accross multiple independent clusters from a single API
-What types of build strategies are you familiar with?
+Explain the following in regards to Federation: + + * Multi Cluster + * Federated Cluster + * Host Cluster + * Member Cluster +
+ + * Multi Cluster - Multiple clusters deployed independently, not being aware of each other + * Federated Cluster - Multiple clusters managed by the OpenShift Federation Control Plane + * Host Cluster - The cluster that runs the Federation Control Plane + * Member Cluster - Cluster that is part of the Federated Cluster and connected to Federation Control Plane
-
-Explain what are labels and what they are used for
-
+#### OpenShift Azure
-Explain what are annotations and how they are different from labels
-
+What is "OpenShift on Azure" and "Azure Red Hat OpenShift"?
-
-Explain what is Downward API
+OpenShift on Aazure (OCP) is installed and managed by the customer itself as opposed to Azure Red Hat OpenShift (ARO) which is a managed service by Red Hat and Microsoft. +Also, OCP is purchased from Red Hat and ARO is purchased from Azure.
## Storage @@ -8291,11 +8340,6 @@ Answer: Magnetic is about 10ms and SSD is somewhere between 0.08 and 0.16ms ## Shell Scripting -
-Tell me about your experience with shell scripting
- -
-
What this line in scripts mean?: #!/bin/bash
@@ -8979,10 +9023,6 @@ As it does not support stateful applications or sticky sessions, it is suitable ## OpenStack -
-Tell me about your experience with OpenStack. What do you think are the advantages and disadvantages of OpenStack?
-
-
What components/projects of OpenStack are you familiar with?
@@ -9214,7 +9254,7 @@ Not by default. Object Storage API limits the maximum to 5GB per object but it c False. Two objects can have the same name if they are in different containers.
-#### OpenStack - Swift +#### OpenStack - Cinder
Explain Cinder in detail
@@ -10464,13 +10504,13 @@ percentage ratio
True or False? HTTP is stateful
-False. Server doesn't maintain state for incoming request. +False. It doesn't maintain state for incoming request.
How HTTP request looks like?
-It consits of: +It consists of: * Request line - request type * Headers - content info like length, enconding, etc. @@ -10516,6 +10556,12 @@ TODO: explain what is actually a Cookie What is HTTP Pipelining?
+
+You get "504 Gateway Timeout" error from an HTTP server. What does it mean?
+ +The server didn't receive a response from another server it communicates with in a timely manner. +
+
What is a proxy?
@@ -11398,6 +11444,11 @@ Below you can find several exercises * [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md) * [Cloud Slack bot](exercises/cloud_slack_bot.md) +## Other DevOps Projects + +

+

+ ## Credits Thanks to all of our amazing [contributors](https://github.com/bregman-arie/devops-exercises/graphs/contributors) who make it easy for everyone to learn new things :) diff --git a/images/devops_resources.png b/images/devops_resources.png new file mode 100644 index 0000000..1781280 Binary files /dev/null and b/images/devops_resources.png differ diff --git a/images/how_they_devops.png b/images/how_they_devops.png new file mode 100644 index 0000000..3d8c11d Binary files /dev/null and b/images/how_they_devops.png differ diff --git a/images/coding.png b/images/programming.png similarity index 100% rename from images/coding.png rename to images/programming.png