600 questions milestone

yay
This commit is contained in:
abregman 2019-12-08 17:14:30 +02:00
parent b9a0f3c42b
commit d0a768915a
3 changed files with 86 additions and 12 deletions

View File

@ -3989,19 +3989,38 @@ the pseudo table to retrieve the sum of the prices spent by each customer, then
#### :baby: Beginner
<details>
<summary>What is the Elastic Stack? What products does it includes?</summary><br><b>
<summary>What is the Elastic Stack?</summary><br><b>
The Elastic Stack consists of:
* Elasticsearch
* Elastic Hadoop
* Kibana
* Logstash
* Beats
* APM Server
The most used projects are the Elasticserach, Logstash and Kibana. Also known as the ELK stack.
</b></details>
<details>
<summary>Describe what happens from the moment the app logged some information until it's displayed to the user in the dashboard when the Elastic stack is used</summary><br><b>
1. The data logged by the application is sent to Elasticsearch
2. Elasticsearch stores the document it got and the document is indexed for quick future access
3. Logstash processes the data
4. The user creates visualizations which uses the index in elasticsearch and more specifically the data there (this is done in Kibana).
5. The user creates a dashboard which composed out of the visualization created earlier
</b></details>
##### Elasticsearch
<details>
<summary>Explain what is Elasticsearch</summary><br><b>
From the official [docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/documents-indices.html):
"Elasticsearch is a distributed document store. Instead of storing information as rows of columnar data, Elasticsearch stores complex data structures that have been serialized as JSON documents"
</b></details>
<details>
@ -4009,6 +4028,18 @@ The Elastic Stack consists of:
Index in Elastic is in most cases compared to a whole database from the SQL/NoSQL world.<br>
You can choose to have one index to hold all the data of your app or have multiple indices where each index holds different type of your app (e.g. index for each service your app is running).
The official docs also offer a great explanation (in general, it's really good documentation, as every project should have):
"An index can be thought of as an optimized collection of documents and each document is a collection of fields, which are the key-value pairs that contain your data"
</b></details>
<details>
<summary>What is an Inverted Index?</summary><br><b>
From the official docs:
"An inverted index lists every unique word that appears in any document and identifies all of the documents each word occurs in."
</b></details>
<details>
@ -4018,6 +4049,16 @@ Continuing with the comparison to SQL/NoSQL a Document in Elastic is a row in ta
As in NoSQL a Document is a JSON object which holds data on a unit in your app. What is this unit depends on the your app. If your app related to book then each document describes a book. If you are app is about shirts then each document is a shirt.
</b></details>
<details>
<summary>True or False? Elasticsearch indexes all data in every field and each indexed field has the same data structure for unified and quick query ability</summary><br><b>
False.
From the official docs:
"Each indexed field has a dedicated, optimized data structure. For example, text fields are stored in inverted indices, and numeric and geo fields are stored in BKD trees."
</b></details>
<details>
<summary>What reserved fields a document has?</summary><br><b>
@ -4030,6 +4071,14 @@ As in NoSQL a Document is a JSON object which holds data on a unit in your app.
<summary>Explain Mapping</summary><br><b>
</b></details>
<details>
<summary>What are the advantages of defining your own mapping? (or: when would you use your own mapping?)</summary><br><b>
* You can optimize fields for partial matching
* You can define custom formats of known fields (e.g. date)
* You can perform language-specific analysis
</b></details>
<details>
<summary>Explain Shards</summary><br><b>
</b></details>

View File

@ -3,34 +3,49 @@
### What is the purpose of repository?
To learn, of course :)
Or more specifically:
* Measure your knowledge
* Help you prepare to interviews
* Simply learning something new :)
### Are these real DevOps interview questions?
Well, first of all, most of the questions in this repo aren't really DevOps questions. They are operational, development, HR, ... questions. Probably less than 1% percentage are actual DevOps questions but whether we like it or not, some interviews include them and this is why they are in this repository.
Well, first of all, most of the questions in this repo aren't really DevOps questions. They are operational, development, HR, ... questions. Probably less than 3% percentage are actual DevOps questions but whether we like it or not, some DevOps interviews (or most) include them and this is why they are included in this repository.
Also, coding-operational-HR-...-interview-questions is too long name for a repository
There are many versions of DevOps interviews today. Some will include questions like in this project while other versions can be for example merely on your C.V and will not include even one question from this repository.
Also, "coding-operational-HR-...-interview-questions" is too long name for a repository.
### Should I be familiar with all the tools/platforms/... listed in this repository?
NO NO NO! :)
I won't give you the crap of "DevOps is a culture, not a role" kind of stuff but one thing is for sure, DevOps is not about being familiar with all the existing tools.
With that being said, there are some concepts, tools, platforms, ... that are quite common in jobs requirements. Take Linux for example, while Linux is not part of 100% of DevOps roles out there, it's still quite desired skill and probably appear as a requirement in more than 80% of DevOps roles if I had to guess. So go learn some Linux ;)
With that being said, there are some concepts, tools, platforms, ... that are quite common in jobs requirements. Take Linux for example, while Linux is not part of 100% of DevOps roles out there, it's still quite a desired skill and probably appear as a requirement in more than 80% of DevOps roles if I had to guess. So go learn some Linux ;)
### How should I prepare for my DevOps interview?
Excellent question. We are exploring it [here](prepare_for_interview.md)
If you have any idea how, please contribute to that file :)
Excellent question. This repository alone will not be enough in many cases. We are exploring the answer to this question [here](prepare_for_interview.md)
If you have any ideas, insights, questions, ... please contribute :)
### Why there are no answers to most of the questions?
Because we need more contributors ;)
Also because the maintainer really likes to ask questions and less answering them :)
Because we need more contributors ;)<br>
Also because the maintainer really likes to ask questions and less answering them.
### Where the questions and answers are coming from?
Well, from everywhere - past experience, colleagues, contributors, ... But we do not allow copying interview questions from interview questions sites. There are people who worked hard on adding those to their sites and we respect that.
### Can I add questions and/or answers?
### What are top DevOps skills required for being a DevOps Engineer?
It's a hard question and the reason is that if you'll ask 20 different people, you'll probably get at least 10 different answers but here what you can check and see for yourself if going over jobs postings:
* DevOps require you good understanding of operating system concepts - the level required is mainly depends on the company
* Coding is part of DevOps - the level again depends on the company. Some will require you to know basic level of scripting while others deep understanding of common aalgorithms, data structure, etc.
* Cloud and Containers - while not 100% must in all companies/positions, this skill is on the rise every year and many (if not most) of the positions/companies require this skill. This specifically means: AWS/Azure/GCP, Docker, Kubernetes, ...
### Can I add questions and/or answers to this project?
I'll simply imagine you didn't ask that on an open source project...

View File

@ -4,8 +4,8 @@ Note: the following suggestions are opinionated
### Coding
Some (if not most) DevOps interviews include coding tasks/questions. Be prepared for those by doing actual coding before the interview.
Also, when given the chance to choose any language, choose the one you have experience with and not the one the company is using or you think it's using.
Some (if not most) DevOps interviews include coding tasks/questions. Be prepared for those by doing actual coding.
Also, the following probably clear to most people but still, when given the chance to choose any language for answering questions or coding tasks, choose the one you have experience with and not the one the company is using or you think it's using.
### Prepare by answering interview questions
@ -27,3 +27,13 @@ Be familiar with the company you are interviewing at. Some ideas:
### Books
From my experience this is not done by many candidates but it's one of the best ways to deep dive into topics like operating system, virtualization, scale, distributed systems, ...
### Scenarios
This is a very common way to interview today for DevOps roles. The candidate is given a task which represents a common task of DevOps Engineers or common knowledge and the candidate has several hours or days to accomplish the task.<br>
This is a great way to prepare to interviews and I recommend to try it out before actually interviewing. How? take requirements from job posts and convert them to scenarios. Let's see an example:
"Knowledge in CI/CD" -> Scenario: create a CI/CD pipeline for a project.
At this point some people ask: "but what project? I'm not working right now" and the answer is: what about GitHub? it has only 9125912851285192 projects...and a free way to set up CI to any of them.