You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+63-6Lines changed: 63 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
:information_source: This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
4
4
5
-
:bar_chart: There are currently **864** questions
5
+
:bar_chart: There are currently **871** questions
6
6
7
7
: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
8
8
@@ -2180,14 +2180,18 @@ Role – Ansible roles allows you to group resources based on certain functional
2180
2180
2181
2181
Ansible is:
2182
2182
2183
-
*Agent-less
2183
+
*Agentless
2184
2184
* Minimal run requirements (Python & SSH) and simple to use
2185
2185
* Default mode is "push" (it supports also pull)
2186
2186
* Focus on simpleness and ease-of-use
2187
2187
</b></details>
2188
2188
2189
2189
<details>
2190
2190
<summary>What kind of automation you wouldn't do with Ansible and why?</summary><br><b>
2191
+
2192
+
While it's possible to provision resources with Ansible it might not be the best choice for doing so as Ansible doesn't
2193
+
save state by default and a task that creates 5 instances, when executed again will create additional 5 instances (unless
2194
+
additional check is implemented).
2191
2195
</b></details>
2192
2196
2193
2197
<details>
@@ -2326,6 +2330,18 @@ When given a written code, always inspect it thoroughly. If your answer is “th
2326
2330
```
2327
2331
</b></details>
2328
2332
2333
+
<details>
2334
+
<summary>Write a single task that verifies all the files in files_list variable exist on the host</summary><br><b>
2335
+
2336
+
```
2337
+
- name: Ensure all files exist
2338
+
assert:
2339
+
that:
2340
+
- item.stat.exists
2341
+
loop: "{{ files_list }}"
2342
+
```
2343
+
</b></details>
2344
+
2329
2345
<details>
2330
2346
<summary>Write a playbook to deploy the file ‘/tmp/system_info’ on all hosts except for controllers group, with the following content</summary><br><b>
2331
2347
@@ -2471,6 +2487,10 @@ Gotenks = 32
2471
2487
<summary>What is Molecule? How it works?</summary><br><b>
2472
2488
</b></details>
2473
2489
2490
+
<details>
2491
+
<summary>You run Ansibe tests and you get "idempotence test failed". What does it mean? Why idempotence is important?</summary><br><b>
2492
+
</b></details>
2493
+
2474
2494
## Terraform
2475
2495
2476
2496
<aname="terraform-beginner"></a>
@@ -2574,7 +2594,7 @@ It's a resource which was successfully created but failed during provisioning. T
<code>terraform taint resource.id</code> manually marks the resource as tainted in the state file. So when you <code>terraform apply</code> the next time, the resource will be destroyed and recreated.
2597
+
<code>terraform taint resource.id</code> manually marks the resource as tainted in the state file. So when you run <code>terraform apply</code> the next time, the resource will be destroyed and recreated.
2578
2598
</b></details>
2579
2599
2580
2600
<details>
@@ -2771,10 +2791,15 @@ A common answer to this is to use [hadolint](https://github.com/hadolint/hadolin
2771
2791
<summary>Explain what is Docker compose and what is it used for</summary><br><b>
2772
2792
2773
2793
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
2794
+
2795
+
For example, you can use it to set up ELK stack where the services are: elasticsearch, logstash and kibana. Each running in its own container.
2774
2796
</b></details>
2775
2797
2776
2798
<details>
2777
-
<summary>What are the differences between Docker compose, Docker swarm and Kubernetes?</summary><br><b>
2799
+
<summary>Describe the process of using Docker Compose</summary><br><br>
2800
+
2801
+
* Define the services you would like to run together in a docker-compose.yml file
2802
+
* Run `docker-compose up` to run the services
2778
2803
</b></details>
2779
2804
2780
2805
<details>
@@ -3070,7 +3095,7 @@ The average performance of the above algorithm is O(log n). Best performance can
3070
3095
* Radix Sort</summary><br><b>
3071
3096
</b></details>
3072
3097
3073
-
#####Data Structures & Types
3098
+
#### Data Structures & Types
3074
3099
3075
3100
<details>
3076
3101
<summary>Implement Stack in any language you would like</summary><br><b>
@@ -3080,6 +3105,10 @@ The average performance of the above algorithm is O(log n). Best performance can
3080
3105
<summary>Implement Hash table in any language you would like</summary><br><b>
3081
3106
</b></details>
3082
3107
3108
+
<details>
3109
+
<summary>What is Integer Overflow? How is it handled?</summary><br><b>
3110
+
</b></details>
3111
+
3083
3112
<aname="coding-advanced"></a>
3084
3113
#### :star: Advanced
3085
3114
@@ -5903,6 +5932,12 @@ From the official docs:
5903
5932
"Kibana is an open source analytics and visualization platform designed to work with Elasticsearch. You use Kibana to search, view, and interact with data stored in Elasticsearch indices. You can easily perform advanced data analysis and visualize your data in a variety of charts, tables, and maps."
5904
5933
</b></details>
5905
5934
5935
+
<details>
5936
+
<summary>You see in Kibana, after clicking on Discover, "561 hits". What does it mean?</summary><br><b>
5937
+
5938
+
Total number of documents matching the search results. If not query used then simply the total number of documents.
5939
+
</b></details>
5940
+
5906
5941
<details>
5907
5942
<summary>What visualization types are supported/included in Kibana?</summary><br><b>
5908
5943
</b></details>
@@ -6038,7 +6073,29 @@ It's an architecture in which data is and retrieved from a single, non-shared, s
6038
6073
6039
6074
## General
6040
6075
6041
-
##### HTTP
6076
+
<details>
6077
+
<summary>Define or Explain what is an API</summary><br><b>
6078
+
6079
+
I like this definition from [here](https://blog.christianposta.com/microservices/api-gateways-are-going-through-an-identity-crisis):
6080
+
6081
+
"An explicitly and purposefully defined interface designed to be invoked over a network that enables software developers to get programmatic access to data and functionality within an organization in a controlled and comfortable way."
6082
+
</b></details>
6083
+
6084
+
#### Jira
6085
+
6086
+
<details>
6087
+
<summary>Explain/Demonstrate the following types in Jira:
6088
+
6089
+
* Epic
6090
+
* Story
6091
+
* Task</summary><br><b>
6092
+
</b></details>
6093
+
6094
+
<details>
6095
+
<summary>What is a project in Jira?</summary><br><b>
0 commit comments