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: faq.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ Learning, of course.
9
9
### My goal is to prepare for a DevOps interviews. Should I use this repository?
10
10
11
11
Overall, this repository should help you learn some concepts but, don't assume at any point that your interview will include similar questions to those that included in this repository.
12
-
Regarding interview, I've added a couple of suggestions [here](prepare_for_interview.md)<br>
12
+
Regarding interviews, I've added a couple of suggestions [here](prepare_for_interview.md)<br>
13
13
14
14
### Will you stop at some point adding questions and exercises?
Copy file name to clipboardexpand all lines: prepare_for_interview.md
+14-18
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,15 @@ Note: the following is opinionated.
6
6
7
7
#### Linux
8
8
9
-
Every DevOps Engineer should have a deep understanding of at least one operating system and if you have the option to choose then I would say it should definitely be Linux as I believe it's a requirement of at least 90% of the DevOps jobs postings out there.
9
+
Every DevOps Engineer should have a deep understanding of at least one operating system and if you have the option to choose then I would say it should definitely be Linux as I believe it's a requirement of at least 90% of the DevOps jobs postings out there. In addition, Linux is almost integral part of any sub-area or domain in DevOps like Cloud, Containers, etc.
10
10
11
-
Usually, the followup question is "How extensive should my knowledge be?" Out of all the DevOps skills, I would say this, along with coding, should be your strongest skills. Be familiar with OS processes, debugging tools, filesystem, networking, ... know your operating system, understand how it works, how to manage issues, etc.
11
+
Usually, the followup question is "How extensive should my knowledge be?" Out of all the DevOps skills, I would say this, along with coding, should be your strongest skills. Be familiar with OS processes, debugging tools, filesystem, networking, ... know your operating system, understand how it works, how to troubleshoot issues, etc.
12
12
13
13
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.
14
14
15
15
#### Programming
16
16
17
-
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.
17
+
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.
18
18
19
19
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.
20
20
@@ -39,19 +39,18 @@ Some ideas for you to explore:
39
39
* How to design and implement a CI pipeline (or pipelines) for verifying PRs, run multiple different types of tests, package the project and deploy it somewhere
40
40
* How to design and implement secured ELK architecture which will get logs from 10,000 apps and will display the data eventually to the user
41
41
* Microservices designs are also quite popular these days
42
-
43
-
I recommend going over the following GitHub projects as they are really deep-diving into System Design:
In general, you should be able to describe some designs, projects, architectures, ... you performed.
44
+
45
+
#### Tooling
46
+
49
47
Some interviews will focus on specific tools or technologies. Which tools? this is mainly based on a combination of what you mentioned in your C.V & those that are mentioned in the job posting and used in the company. Here are some questions I believe anyone should know to answer regarding the tools he/she is familiar with:
50
48
51
49
* What the tool does? What it allows us to achieve that we couldn't do without it?
52
50
* What its advantages over other tools in the same area, with the same purpose? Why you specifically using it?
53
-
* How it works?
54
-
* How to use it?
51
+
* How it works?
52
+
* How to use it?
53
+
* Best practices you apply/use when using it
55
54
56
55
Let's deep dive into practical preparation steps
57
56
@@ -65,12 +64,11 @@ This is a great way to prepare for interviews and I recommend to try it out befo
65
64
66
65
At this point, some people ask: "but what project?" and the answer is: what about GitHub? it has only 9125912851285192 projects...and a free way to set up CI to any of them (also a great way to learn how to collaborate with others :) )
67
66
68
-
Let's convert another scenario:
69
-
67
+
Let's convert another scenario:
68
+
70
69
"Experience with provisioning servers" -> Scenario: provision a server (to make it more interesting: create a web server).
71
70
72
71
And the last example:
73
-
74
72
"Experience with scripting" -> Scenario: write a script. Don't waste too much time thinking "what script should I write?". Simply automate something you are doing manually or even implement your own version of common small utils.
75
73
76
74
### Start your own DevOps project
@@ -102,7 +100,6 @@ Doing so can give you a lot of information on what to expect from an interview a
102
100
It may sound trivial but the idea here is simple: be ready to answer any question regarding any line you included in your resume.
103
101
Sometimes candidates surprised when they are asked on a skill or line which seems to be not related to the position but the simple truth is: if you mentioned something on your resume, it's only fair to ask you about it.
104
102
105
-
106
103
### Know the company
107
104
108
105
Be familiar with the company you are interviewing at. Some ideas:
@@ -115,7 +112,7 @@ Be familiar with the company you are interviewing at. Some ideas:
115
112
116
113
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, etc.
117
114
118
-
In most cases, you will do fine without reading books but for the AAA interviews (hardest level) you'll want to read some books and overall if you inspire to be better DevOps Engineer, books (also articles, blog posts) is a great way :)
115
+
In most cases, you will do fine without reading books but for the AAA interviews (hardest level) you'll want to read some books and overall if you inspire to be better DevOps Engineer, books (also articles, blog posts) is a great way devleop yourself :)
119
116
120
117
### Consider starting in non-DevOps position
121
118
@@ -147,7 +144,6 @@ the company he/she is interviewing at, is the right place for him/her.
147
144
* Do I care about work-life balance?
148
145
* Do I care about personal growth and how it's practically done?
149
146
* Do I care about knowing what are my responsibilities as part of the role?
150
-
151
147
If you do, you should also play the interviewer role :)
0 commit comments