Add a couple of questions

This commit is contained in:
abregman 2020-02-03 23:25:45 +02:00
parent dbedc63d73
commit 31dbfbbc9d

View File

@ -2,7 +2,7 @@
:information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :) :information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
:bar_chart:  There are currently **864** questions :bar_chart:  There are currently **871** questions
: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 :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
@ -2180,7 +2180,7 @@ Role Ansible roles allows you to group resources based on certain functional
Ansible is: Ansible is:
* Agent-less * Agentless
* Minimal run requirements (Python & SSH) and simple to use * Minimal run requirements (Python & SSH) and simple to use
* Default mode is "push" (it supports also pull) * Default mode is "push" (it supports also pull)
* Focus on simpleness and ease-of-use * Focus on simpleness and ease-of-use
@ -2188,6 +2188,10 @@ Ansible is:
<details> <details>
<summary>What kind of automation you wouldn't do with Ansible and why?</summary><br><b> <summary>What kind of automation you wouldn't do with Ansible and why?</summary><br><b>
While it's possible to provision resources with Ansible it might not be the best choice for doing so as Ansible doesn't
save state by default and a task that creates 5 instances, when executed again will create additional 5 instances (unless
additional check is implemented).
</b></details> </b></details>
<details> <details>
@ -2326,6 +2330,18 @@ When given a written code, always inspect it thoroughly. If your answer is “th
``` ```
</b></details> </b></details>
<details>
<summary>Write a single task that verifies all the files in files_list variable exist on the host</summary><br><b>
```
- name: Ensure all files exist
assert:
that:
- item.stat.exists
loop: "{{ files_list }}"
```
</b></details>
<details> <details>
<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> <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>
@ -2471,6 +2487,10 @@ Gotenks = 32
<summary>What is Molecule? How it works?</summary><br><b> <summary>What is Molecule? How it works?</summary><br><b>
</b></details> </b></details>
<details>
<summary>You run Ansibe tests and you get "idempotence test failed". What does it mean? Why idempotence is important?</summary><br><b>
</b></details>
## Terraform ## Terraform
<a name="terraform-beginner"></a> <a name="terraform-beginner"></a>
@ -2574,7 +2594,7 @@ It's a resource which was successfully created but failed during provisioning. T
<details> <details>
<summary>What <code>terraform taint</code> does?</summary><br><b> <summary>What <code>terraform taint</code> does?</summary><br><b>
<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. <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.
</b></details> </b></details>
<details> <details>
@ -2771,10 +2791,15 @@ A common answer to this is to use [hadolint](https://github.com/hadolint/hadolin
<summary>Explain what is Docker compose and what is it used for</summary><br><b> <summary>Explain what is Docker compose and what is it used for</summary><br><b>
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your applications services. Then, with a single command, you create and start all the services from your configuration. Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your applications services. Then, with a single command, you create and start all the services from your configuration.
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.
</b></details> </b></details>
<details> <details>
<summary>What are the differences between Docker compose, Docker swarm and Kubernetes?</summary><br><b> <summary>Describe the process of using Docker Compose</summary><br><br>
* Define the services you would like to run together in a docker-compose.yml file
* Run `docker-compose up` to run the services
</b></details> </b></details>
<details> <details>
@ -3070,7 +3095,7 @@ The average performance of the above algorithm is O(log n). Best performance can
* Radix Sort</summary><br><b> * Radix Sort</summary><br><b>
</b></details> </b></details>
##### Data Structures & Types #### Data Structures & Types
<details> <details>
<summary>Implement Stack in any language you would like</summary><br><b> <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
<summary>Implement Hash table in any language you would like</summary><br><b> <summary>Implement Hash table in any language you would like</summary><br><b>
</b></details> </b></details>
<details>
<summary>What is Integer Overflow? How is it handled?</summary><br><b>
</b></details>
<a name="coding-advanced"></a> <a name="coding-advanced"></a>
#### :star: Advanced #### :star: Advanced
@ -5903,6 +5932,12 @@ From the official docs:
"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." "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."
</b></details> </b></details>
<details>
<summary>You see in Kibana, after clicking on Discover, "561 hits". What does it mean?</summary><br><b>
Total number of documents matching the search results. If not query used then simply the total number of documents.
</b></details>
<details> <details>
<summary>What visualization types are supported/included in Kibana?</summary><br><b> <summary>What visualization types are supported/included in Kibana?</summary><br><b>
</b></details> </b></details>
@ -6038,7 +6073,29 @@ It's an architecture in which data is and retrieved from a single, non-shared, s
## General ## General
##### HTTP <details>
<summary>Define or Explain what is an API</summary><br><b>
I like this definition from [here](https://blog.christianposta.com/microservices/api-gateways-are-going-through-an-identity-crisis):
"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."
</b></details>
#### Jira
<details>
<summary>Explain/Demonstrate the following types in Jira:
* Epic
* Story
* Task</summary><br><b>
</b></details>
<details>
<summary>What is a project in Jira?</summary><br><b>
</b></details>
#### HTTP
<details> <details>
<summary>What is HTTP?</summary><br><b> <summary>What is HTTP?</summary><br><b>