- Learn - asking questions or doing exercises is a great way to learn
- Share - sharing knowledge is a great experience, give it a try
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 :)
I've added a couple of suggestions here
Feel free to contribute any ideas and insights you have.
That's a great question.
I don't have a definitive answer for this question, but what I feel works for me is to:
- Practice - doing DevOps tasks/work is probably the best way to gain experience and knowledge
- Read - Read blogs, books, ... anything that can enrich you about DevOps
- Participate - there are great DevOps communities. I especially like Reddit DevOps. Visiting there, I learn quite a lot on different topics.
- 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.
Because we need more contributors ;)
Well, from everywhere - past experience, colleagues, contributors, ... But please note we do not allow copying interview questions from interview questions sites to here. There are people who worked hard on adding those to their sites and we respect that.
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 is what we believe is common today:
- OS - DevOps require you good understanding of operating system concepts. The level required is mainly depends on the company although in my opinion it should be the same level. You should understand how the operating system works, how to troubleshoot and debug issues, etc.
- 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 algorithms, data structure, design patterns 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, ...
Is that a question? :) In any case, if you don't like some/most of the questions or think that some questions should be removed you can open an issue or submit a PR and we can discuss it there. We don't have rules against deleting questions :D
You can but:
- Not without attribution. Many people worked hard on adding these questions and they deserve a proper credit for their work
- 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 :)
I'll simply imagine you didn't ask that on an open source project... :)
Because these is one of the worst types of questions out there.
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.
Personally, I really like the following sites
I gathered a list of resource here
For beginners, I recommend Linux Journey If you want to deep dive into operating systems internals, I really recommend Operating Systems: Three Easy Pieces