Skip to content

Commit

Permalink
Add more questions
Browse files Browse the repository at this point in the history
  • Loading branch information
abregman committed Jan 22, 2021
1 parent acead18 commit 5be1cc1
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 22 deletions.
72 changes: 53 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

:bar_chart:  There are currently **1435** 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

:warning:  You can use these for preparing for an interview but most of the questions and exercises don't represent an actual interview. Please read [Q&A](common-qa.md) for more details

:thought_balloon:  If you wonder "How to prepare for a DevOps interview?", you might want to read some of my suggestions [here](prepare_for_interview.md)
Expand All @@ -14,6 +12,8 @@

:books:  To learn more about DevOps and SRE, check the resources in [devops-resources](https://github.com/bregman-arie/devops-resources) repository

: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

****

<!-- ALL-TOPICS-LIST:START -->
Expand Down Expand Up @@ -4739,12 +4739,12 @@ The workers are the nodes which run the applications and workloads.
</b></details>

<details>
<summary>True or False? Every cluster must have 0 or more master nodes and 1 or more workers</summary><br><b>
<summary>True or False? Every cluster must have 0 or more master nodes and at least on e worker</summary><br><b>

False. A Kubernetes cluster consists of at least 1 master and 0 or more workers.
False. A Kubernetes cluster consists of at least 1 master and can have 0 workers (although that wouldn't be very useful...)
</b></details>

#### Pod
#### Kubernetes Pod

<details>
<summary>Explain what is a pod</summary><br><b>
Expand Down Expand Up @@ -4773,6 +4773,28 @@ Even if connected, their lifecycles aren't connected.
<summary>What is the difference between an external and an internal service?</summary><br><b>
</b></details>

#### Kubernetes Deployment

<details>
<summary>What is a "Deployment" in Kubernetes?</summary><br><b>
</b></details>

<details>
<summary>What happens after you edit a deployment and change the image?</summary><br><b>

The pod will terminate and another, new pod, will be created.

Also, when looking at the replicaset, you'll see the old replica doesn't have any pods and a new replicaset is created.
</b></details>

<details>
<summary>What happens when you delete a deployment?</summary><br><b>

The pod related to the deployment will terminate and the replicaset will be removed.
</b></details>

#### Kubernetes Ingress

<details>
<summary>What is Ingress?</summary><br><b>
</b></details>
Expand Down Expand Up @@ -4966,6 +4988,10 @@ View more [here](https://www.youtube.com/watch?v=rDCWxkvPlAw)
`kubectl get namespaces`
</b></details>

<details>
<summary>What <code>kubectl exec</code> does?</code></summary><br><b>
</b></details>

<details>
<summary>How to view the current namespace?</code></summary><br><b>

Expand Down Expand Up @@ -5001,6 +5027,20 @@ EOF
```
</b></details>

<details>
<summary>What the coomand <code>kubectl get pod</code> does?</code></summary><br><b>
</b></details>

<details>
<summary>How to edit a deployment?</code></summary><br><b>

kubectl edit deployment some-deployment
</b></details>

<details>
<summary>What <code>kubectl apply -f [file]</code> does?</code></summary><br><b>
</b></details>

<details>
<summary>How to print information on a specific pod?</code></summary><br><b>

Expand Down Expand Up @@ -5057,6 +5097,14 @@ kubectl api-resources --namespaced=false
kubectl delete pods --field-selector=status.phase!='Running'
</b></details>

<details>
<summary>What <code>kubectl logs [pod-name]</code> command does?</summary><br><b>
</b></details>

<details>
<summary>What <code>kubectl describe pod [pod name] does?</code> command does?</summary><br><b>
</b></details>

<details>
<summary>How to display the resources usages of pods?</summary><br><b>

Expand All @@ -5075,10 +5123,6 @@ Outputs the status of each of the control plane components.
Minikube is a lightweight Kubernetes implementation. It create a local virtual machine and deploys a simple (single node) cluster.
</b></details>

<details>
<summary>True or False? A pod can manage multiple containers</summary><br><b>
</b></details>

<details>
<summary>How do you monitor your Kubernetes?</summary><br><b>
</b></details>
Expand Down Expand Up @@ -5177,10 +5221,6 @@ It includes:
<summary>What is kubconfig? What do you use it for?</summary><br><b>
</b></details>

<details>
<summary>What is a "Deployment" in Kuberenetes?</summary><br><b>
</b></details>

<details>
<summary>Can you use a Deployment for stateful applications?</summary><br><b>
</b></details>
Expand Down Expand Up @@ -7007,12 +7047,6 @@ a = f()
<summary>How yield works exactly?</summary><br><b>
</b></details>

##### Python Geeks :)

<details>
<summary>Tell me something about Python that you think most people don't know</summary><br><b>
</b></details>

## Monitoring

<details>
Expand Down
6 changes: 3 additions & 3 deletions prepare_for_interview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Usually, the followup question is "How extensive should my knowledge be?" Out of

Not long ago, I've created a list of Linux resources right [here](https://dev.to/abregman/collection-of-linux-resources-3nhk). There are some good sites there that you can use for learning more about Linux.

#### Coding
#### Programming

My personal belief is that any DevOps engineer should know coding, at least to some degree. Having this skill you can automate manual processes, improve some of the open source tools you are using today or build new tools & projects to provide a solution to existing problems. Knowing how to code = a lot of power.
My personal belief is that any DevOps engineer should know programming, at least to some degree. Having this skill you can automate manual processes, improve some of the open source tools you are using today or build new tools & projects to provide a solution to existing problems. Knowing how to code = a lot of power.

When it comes to interviews you'll notice that the level of knowledge very much depends on the company or position you are interviewing for. Some will require you just to be able to write simple scripts while others will deep dive into common algorithms, data structures, etc. It's usually clear from the job requirements or phone interview.
When it comes to interviews you'll notice that the level of knowledge very much depends on the company or position you are interviewing for. Some will require you just to be able to write simple scripts while others will deep dive into complex algorithms and data structures.

The best way to practice this skill is by doing some actual coding - scripts, online challenges, CLI tools, web applications, ... just code :)

Expand Down

0 comments on commit 5be1cc1

Please sign in to comment.