500 DevOps Interview Questions

A couple of weeks ago I’ve created a repository with the goal of documenting DevOps interview questions. It was not only for people to better prepare for DevOps interviews but also to be able to test and asses their own knowledge on various topics.

This is the repository: https://github.com/bregman-arie/devops-interview-questions

Shortly after creating it, I received a lot of positive feedback (negative one was also there but more on that in a separate post) from people who used it for preparing for their interviews but also from people who simply enjoyed reading the questions. In addition, the community joined me in adding more questions and even translating everything into additional language. For me, it feels great to know that this little project had such a positive impact.

And now, I’m happy to announce that we reached an amazing number of 500 interview questions. I hope you’ll enjoy it and learn from it as I did 🙂

Have some great questions of your own? Think that some questions shouldn’t be listed there? Feel free to submit a pull request or share your thoughts with us by opening an issue or leaving a comment below.

Mongo Shell By Example

Start the mongo shell

Start the mongo shell by running mongo

Note: this will connect using the default port 27017. Use -p for specifying a different port.

You should get an output similar to the following

MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("2323-8as8-23aa-8fsa") }
MongoDB server version: 4.0.3
>

From this moment on, everything you’ll type will be executed in the mongo shell.

Continue reading “Mongo Shell By Example”

Docker: how to speed up your development

Docker has been with us many years now and quickly became a dominant technology.

In this post, we will explain the benefits of using Docker and how it can speed up your development.

This post will be divided into three main topics:

  1. What is Docker? – a quick introduction to Docker and the problem it solved.
  2. Why should we use Docker? – concrete reasons why you would benefit from using Docker in your day-to-day work.
  3. Usage example:
    • Setting up a Postgres database in seconds
    • Setting up (and accessing) a CentOS machine in seconds

Continue reading “Docker: how to speed up your development”

OpenStack: Testing Upgrades with Tobiko

What is Tobiko?

Tobiko is an OpenStack upgrade testing framework. It aims to provide tooling and methods for easily developing upgrade type tests.

Note: At this moment it also provides you with several built-in networking tests.

If you are familiar with OpenStack you might wonder why the current OpenStack testing framework (Tempest) is not used for that purpose.

Continue reading “OpenStack: Testing Upgrades with Tobiko”

Team lead – is it really what you are looking for?

I’ve had many talks over the years with friends / team members about their career path and what they should focus on in order to achieve their next career milestone.

In this post, I will focus specifically on the “Team lead” position and what are the common expectations of a Team Lead.
My hope is that it will give you, the reader, the information you were looking for and help you decide if this is indeed the right career path for you.

Lets begin with what a Team Lead is doing as part of his day-to-day work.

Continue reading “Team lead – is it really what you are looking for?”

Jenkins: building a CI/CD system – part1

This first post will cover the basics of how to connect Jenkins with Github and how to configure both to auto trigger a build upon a pull request (PR) and post back results to GitHub.
While we chose Jenkins and Github, all of the concepts you are going to read here are quite similar between the different tools (bitbucket, TeamCity, GitLab, etc), we only chose Jenkins as it is still being used by most users out there.

Let’s jump right in! Continue reading “Jenkins: building a CI/CD system – part1”