Skip to content

Commit d43ec16

Browse files
author
abregman
committed
Rename repository
Unforunately, It came to my knowledge that this repository promoted a phenomenon where DevOps interviews became a trivia game where people think it's normal to throw 20 random short questions like "what is fork()" or "which tools would you use for each of the following areas?" and this was not my intention. To explcitly state this repository doesn't represents real DevOps interview questions I've decided to rename it.
1 parent cbda545 commit d43ec16

23 files changed

+54
-63
lines changed

README.md

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
# DevOps Interview Questions
1+
# DevOps Questions & Exercises
22

3-
:information_source:  This repository contains questions on various DevOps and SRE related topics
3+
:information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :)
44

5-
:bar_chart:  There are currently **804** questions
5+
:bar_chart:  There are currently **819** questions
66

7-
:warning:  The purpose of this repo is to help you test your knowledge and prepare for interviews. It doesn't represents a DevOps interview. Please read [Q&A](common-qa.md) for more details
7+
:warning:  These are not interview questions and most of them shouldn't be used as interview questions. Please read [Q&A](common-qa.md) for more details
88

9-
:thought_balloon:  If you wonder how to prepare to your DevOps Interview, we added a couple of suggestions [here](prepare_for_interview.md)
9+
: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)
1010

11-
:pencil:  You can add more questions & answers by submitting pull requests :) You can read more about it [here](CONTRIBUTING.md)
12-
13-
:cn:  You can find a [中文](README-zh_CN.md) Chinese translation right [here](README-zh_CN.md)
11+
:pencil:  You can add more questions and exercises by submitting pull requests :) You can read more about it [here](CONTRIBUTING.md)
1412

1513
****
1614

@@ -63,7 +61,7 @@
6361
<td align="center"><a href="#databases"><img src="images/databases.png" width="75px;" height="75px;" alt="Databases"/><br /><b>Databases</b></a></td>
6462
<td align="center"><a href="#design"><img src="images/design.png" width="110px;" height="75px;" alt="Design"/><br /><b>Design</b></a></td>
6563
<td align="center"><a href="#questions-you-ask"><img src="images/you.png" width="110px;" height="75px;" alt="you"/><br /><b>Questions you ask</b></a></td>
66-
<td align="center"><a href="#challenges"><img src="images/challenges.png" width="110px;" height="75px;" alt="Challenges"/><br /><b>Challenges</b></a></td>
64+
<td align="center"><a href="#exercises"><img src="images/exercises.png" width="110px;" height="75px;" alt="Exercises"/><br /><b>Exercises</b></a></td>
6765
</tr>
6866
</table>
6967
</center>
@@ -1853,18 +1851,36 @@ wait() is used by a parent process to wait for the child process to finish execu
18531851
If wait is not used by a parent process then a child process might become a zombie process.
18541852
</b></details>
18551853

1854+
<details>
1855+
<summary>What execve() does?</summary><br><b>
1856+
1857+
Executes a program. The program is passed as a filename (or path) and must be a binary executable or a script.
1858+
</b></details>
1859+
18561860
<details>
18571861
<summary>What happens when you execute <code>ls -l</code>?</summary><br><b>
18581862

18591863
* Shell reads the input using getline() which reads the input file stream and stores into a buffer as a string
18601864
* The buffer is broken down into tokens and stored in an array this way: {"ls", "-l", "NULL"}
18611865
* Shell checks if an expansion is required (in case of ls *.c)
1866+
1867+
* Once the program in memory, its execution starts. First by calling readdir()
1868+
1869+
Notes:
1870+
1871+
* getline() originates in GNU C library and used to read lines from input stream and stores those lines in the buffer
18621872
</b></details>
18631873

18641874
<details>
18651875
<summary>What happens when you execute <code>ls -l *.log</code>?</summary><br><b>
18661876
</b></details>
18671877

1878+
<details>
1879+
<summary>What readdir() system call does?</summary><br><b>
1880+
1881+
1882+
</b></details>
1883+
18681884
#### Linux Filesystem & Files
18691885

18701886
<details>
@@ -5987,31 +6003,30 @@ Instead of working in "push mode", the consumers can pull tasks only when they a
59876003
<summary>How would you scale the architecture from the previous question to hundreds of users?</summary><br><b>
59886004
</b></details>
59896005

5990-
## Challenges
6006+
## Exercises
59916007

5992-
Challenges require you one of the following:
6008+
Exercises are all about:
59936009

5994-
* Set up environments
5995-
* Write scripts
5996-
* Design and/or develop infrastructure projects
5997-
* Fix existing applications
6010+
* Setting up environments
6011+
* Writing scripts
6012+
* Designing and/or developing infrastructure apps
6013+
* Fixing existing applications
59986014

5999-
These type of questions usually given as an home task to the candidate and they can combine several topics together.
6000-
Below you can find several challenges:
6015+
Below you can find several exercises
60016016

6002-
* [Writing a Dockerfile and running a container](challenges/write_dockerfile_run_container.md)
6003-
* [Elasticsearch & Kibana on AWS](challenges/elk_kibana_aws.md)
6004-
* [Ansible, Minikube and Docker](challenges/ansible_minikube_docker.md)
6005-
* [Cloud Slack bot](challenges/cloud_slack_bot.md)
6006-
* [Jenkins: writing scripts](challenges/jenkins_scripts.md)
6007-
* [Jenkins: writing pipelines](challenges/jenkins_pipelines.md)
6008-
* [CI for open source project](challenges/ci_for_open_source_project.md)
6009-
* [Flask, Containers and CI](challenges/flask_container_ci/README.md)
6017+
* [Writing a Dockerfile and running a container](exercises/write_dockerfile_run_container.md)
6018+
* [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md)
6019+
* [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md)
6020+
* [Cloud Slack bot](exercises/cloud_slack_bot.md)
6021+
* [Jenkins: writing scripts](exercises/jenkins_scripts.md)
6022+
* [Jenkins: writing pipelines](exercises/jenkins_pipelines.md)
6023+
* [CI for open source project](exercises/ci_for_open_source_project.md)
6024+
* [Flask, Containers and CI](exercises/flask_container_ci/README.md)
60106025

60116026

60126027
## Credits
60136028

6014-
Thanks to all of our amazing [contributors](https://github.com/bregman-arie/devops-interview-questions/graphs/contributors) who make it easy for everyone to learn and prepare to their interviews.
6029+
Thanks to all of our amazing [contributors](https://github.com/bregman-arie/devops-exercises/graphs/contributors) who make it easy for everyone to learn and prepare to their interviews.
60156030

60166031
Logos credits can be found [here](credits.md)
60176032

common-qa.md

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,23 @@
22

33
### What is the purpose of repository?
44

5-
To learn, of course :)
6-
Or more specifically, any of the following:
5+
1. Learn - asking questions or doing exercises is a great way to learn
6+
2. Share - sharing knowledge is a great experience, give it a try
77

8-
* Test your knowledge
9-
* Prepare for interviews
10-
* Simply learning something new :)
8+
It is also used sometimes (from what I've been told) to prepare for interviews but a note for interviewers: most of the questions in this repository shouldn't be used as interview questions. A DevOps interview (or any technical interview) is not a trivia game :)
119

12-
### Are these real DevOps interview questions?
10+
### My goal is to prepare for a DevOps interview. How to do that?
1311

14-
The answer is no. While the name of the repository indicates it should include only (or mainly) DevOps Interview Questions in reality, this repository includes many questions on many different topics - Linux, Git, Python, ... Only small subset of the questions are actually DevOps questions.
15-
16-
If you wonder why then it quite simple. DevOps is still, after many years, a controversial topic. If you ask different people what is DevOps, you'll get different answers and DevOps interviews are not an exception in this case. Different DevOps interviews will include different questions on various topics. Some of the questions you'll be asked might be included in this repository, some might none. It's even possible you'll be asked none of the questions in this repository but in my opinion it's still decent test of your knowledge.
17-
18-
Also, I can rename the project name to better represent its content but "coding-operations-HR-...-interview-questions" is too long name for a repository :)
19-
20-
### Should I be familiar with all the tools/platforms/... listed in this repository?
21-
22-
NO NO NO! :)<br>
23-
"DevOps is a culture, not a role" is BS. Same goes for "DevOps is not about tools". And yet, one thing is for sure, DevOps is not about being familiar with all the existing tools.
24-
25-
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 a requirement of every DevOps position out there, it's still quite a desired skill and probably appear as a requirement in more than 90% of the DevOps positions if I had to guess. So it will be wise to be familiar with Linux as well as some other concepts/tool/projects...
26-
27-
### How should I prepare for my DevOps interview?
28-
29-
Excellent question. This repository alone might not be enough in some cases. We are exploring the answer to this question [here](prepare_for_interview.md)
30-
If you have any ideas, insights, questions, ... please contribute :)
12+
I've added a couple of suggestions here [here](prepare_for_interview.md)
13+
Feel free to contribute any ideas and insights
3114

3215
### How do I become a better DevOps Engineer?
3316

34-
That's even a better question than the previous one.<br>
17+
That's a great question.<br>
3518
I don't have a definitive answer for this question, but what I feel works for me is to:
3619

20+
* Practice - doing DevOps tasks/work is probably the best way to gain experience and knowledge
3721
* Read - Read blogs, books, ... anything that can enrich you about DevOps
38-
* Practice - Some practical DevOps work at work and/or home
3922
* Share - This is one of the reasons I created this project. Primary goal was to help others but a secondary goal quickly became to learn more. By asking questions, you actually learn better a certain topic. Try it out, take a certain subject and try to come up with questions you would ask someone to test his/her skills.
4023

4124
### Why most of the questions don't have answers?
@@ -66,22 +49,15 @@ You can but:
6649
* Not without attribution. Many people worked hard on adding these questions and they deserve a proper credit for their work
6750
* Not if you plan to make money out of it. Directly or indirectly (e.g. ADS) as this is a free content and we would like it to stay this way :)
6851

69-
### If there are already many interview questions sites why creating this repository?
70-
71-
Good question. When a friend asked me to help him with learning for an interview, I was curious what the Internet has to offer as an help for people, like my friend, who want to prepare for their DevOps interviews and to be honest, I was pretty shocked to find out questions like the following:
72-
73-
* How to install Git/Jenkins/...?
74-
* How do you open the terminal in Linux?
75-
76-
These, in my opinion, are questions no one should ever ask in an interview and so, I decided to start my own interview questions project to help others (and yes, also myself) to test their knowledge.
77-
7852
### Can I add questions and/or answers to this project?
7953

8054
I'll simply imagine you didn't ask that on an open source project... :)
8155

82-
### Why can't I add installation interview questions?
56+
### Why can't I add installation questions?
57+
58+
Because these is one of the worst types of questions out there.
8359

84-
Personally, I don't think installation questions are interview questions. Yes, I know many sites and sources advertise them as such but personally I think we should have the responsibility to not encourage or even create a phenomenon where interviewers will think it's normal or has any benefit to ask such questions. If you think there is value in this, please create an issue and I'll be happy to discuss this with you.
60+
Some sites claim "How to install Jenkins?" or "What is the home directory of Jenkins?" are proper interview questions but personally I think we should have the responsibility to not encourage or even create a phenomenon where interviewers will think it's normal or has any benefit to ask such questions.
8561

8662
### Where can I practice coding?
8763

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)