The list of most common DevOps interview questions
-
3747
-
17
-
39
-
0
Every aspiring DevOps specialist looking for a better job has to answer lots of questions on DevOps during an interview. We provide a list of DevOps interview questions to help you prepare.
As DevOps becomes the mainstream approach to software delivery and infrastructure management, more and more companies want to employ DevOps skills for their IT operations. Thus said, many aspiring DevOps engineers have to complete interviews and answer multiple questions to get a job. We provide a list of DevOps interview questions that will help you prepare for what you might face while looking for a job and provide the correct answers!
The main complexity here is that DevOps is not merely a methodology of software operations that uses certain skills and requires expertise with certain DevOps tools and cloud platforms. It is much more of a DevOps culture that should transform the whole company and reorganize all the processes in order to be efficient. As most people fear changes, they try to avoid doing everything as needed and hope that simply hiring DevOps engineers will result in a digital transformation. However, you must know it is not so and should voice this condition, in case the interviewer does not know, understand or admit it.
Whom you might be interviewed by? The answer to this question largely determines a set of questions you will be asked and a strategy you must present. Thus said, the need for DevOps engineers is universal, but the possible vacancies can be roughly split into three major categories:
- A company that needs an internal DevOps talent to manage its IT operations. It can be a startup, an SMB or an enterprise, the size does not matter — they just need DevOps engineers to work on their internal projects.
- A company that delivers IT services and needs DevOps skills to further enrich and empower their offers, so you would be working on external projects
- A cloud service provider like or based on AWS or GCP, so you would be managing AWS, GCP or Azure infrastructure for their customers
Naturally, depending on the hiring company you will have to face slightly different approaches to the DevOps interview process — based on the employer’s understanding of the topic.
DevOps interview: general questions
When you are interviewed by a company of any size and type that wants to obtain DevOps expertise to undergo digital transformation, it is important to evaluate the level of expertise already present at the company. Unfortunately, many businesses have an incorrect understanding of what DevOps is, what it is composed of and what results it can help achieve.
Your task here would not only involve describing your technical skills and expertise, but also understanding what the company expects to achieve with your help — and explaining if their expectations are false and can never be satisfied, as they are based on false pretenses. In other cases, both you and the company will lose time trying to achieve the impossible, you will have to part ways with the team and won’t earn a good recommendation from them. Thus said, it’s better to be honest from the start than try to meet the incorrect expectations.
What you might hear — and how you can respond:
- DevOps is a process you can follow — no, it is an approach to IT operations.
- DevOps means Agile — no, Agile is the software development philosophy, while DevOps is the culture of collaboration in the team and between the teams, as well as the methodology of automation of repetitive tasks.
- DevOps is a separate team — no, DevOps is all about collaboration and must be involved with the rest of the business processes as much as possible.
- DevOps is a magic stick for problem-solving — no, DevOps speeds up development and delivery cycles. It will not make product ideal but will speed up its development process and increase team satisfaction while reducing bureaucracy and overhead.
- DevOps is about Developers managing the production environment — no, it is Site Reliability Engineering, as Ben Treynor, Google VP of Engineering, explains in his SRE Google handbook.
- DevOps is the Development-driven approach to IT operations — no, it is driven by everyone: development, operations, QA, etc. Because DevOps is all about communication and goals transparency.
- DevOps is impossible in our unique case — no, it is possible everywhere.
- DevOps is impossible for our team — no, DevOps can be taught and trained like any other modus operandi.
What is DevOps then? We have answered this question multiple times on our blog, for example in this article describing DevOps services in a nutshell. Tl;DR — DevOps is a culture of collaboration, where people communicate to improve the existing software delivery and infrastructure management processes using various tools.
Thus said, below are several examples of questions you might be asked, along with the answers we would recommend you to give:
- What are the differences between DevOps and Agile? DevOps methodology is the practical implementation of Agile and Lean philosophies, where all repetitive actions involved in the value delivery chain are automated, and everything not adding value (multiple stages of approval for some action, reports nobody ever reads, repetitive manual execution of routine tasks, etc.) is considered waste and removed. The table below illustrates this in detail.
Specifics | Agile | DevOps |
Key focus | Timely code delivery | Timely delivery and high quality |
Scope of work | Agility of SDLC | Agility and automation |
Where is agility needed? | Development | Development and operations together in combination |
Principles/practices | Agile Scrum, Kanban, etc. | Continuous Integration and Delivery (CI/CD) |
Release cycles and sprints | Short development cycles split into sprints based on feedback | Short release cycles with instant feedback |
Source of feedback | Business stakeholders and product end-users | CI/CD tools, Monitoring systems |
- What are the benefits of DevOps, how can it help the business? In order to be competitive, the business must ensure timely updates and uninterrupted availability of its products and services. This is best achieved when there are multiple small releases based on customer feedback and input from business stakeholders — and these releases don’t lead to downtime and service inaccessibility. DevOps ensures this by:
– minimizing feedback loops;
– increasing deployment frequency;
– automating software delivery through CI/CD pipelines;
– providing failsafe deployment strategy and recovery plans.
Due to automated testing, shifting the tests to the left, built-in security, doing canary, blue-green and other deployment strategies, DevOps approach to software operations helps minimize the time-to-market for new features, reduce OPEX and increase customer loyalty, thus improving your brand. - What popular DevOps tools you are proficient with? The answer here depends on your experience. Naturally, DevOps engineers with in-depth AWS expertise could mention Amazon CodePipeline, CodeCommit, CodeBuild, CodeDeploy, CodeStar, X-Ray, CloudFormation, Lambda, CloudWatch, CloudTrail, etc. If your expertise comes from Google, it is natural to mention Cloud Build, Cloud Scheduler, Deployment Manager, StackDriver, Cloud Functions, etc. However, as most companies prefer to minimize their expenses, it would be prudent of you to know how to use the most popular open-source DevOps tools in the following categories:
– Version Control: Git, GitHub, GitLab.
– App containerization: Docker.
– Container orchestration: Kubernetes, EKS, GKE, AKS, Docker Swarm, Portainer, Rancher.
– Configuration management: Ansible, Terraform.
– Automated testing: Selenium, Codeception, PhantomJS, Nightwatch, SonarQube, etc.
– CI/CD: Gitlab CI, Jenkins, Circle CI, Travis CI, Spinnaker.
– Monitoring: ELK, EFK, Prometheus, Grafana.
- What is a CI/CD pipeline? CI is a development practice that consists of 4 main steps: Development, Build, Test, Report. Real-life benefits are enabled by automation: automated application build, assembling or minification, automated unit and integration tests that ensure stable operation of the new application build, instant report to the development, QA and operations teams to maximize team awareness. CD is similar to CI, but also includes automation for delivery or deployment step after tests have passed successfully and teams received the reports.
This leads to a situation where every code batch committed to a repository automatically triggers the creation and provisioning of build environment, testing environments for automated unit and integration tests, staging environment for extensive regression, user acceptance and other tests before pushing it to production. Once a pipeline is configured, the process becomes repeatable and reduces the risk of human error on all stages to zero. The same logic is applied to IT operations in production and all aspects of your business processes. This provides the following benefits:
– Fewer bugs brought to production (ideally — none).
– Less time needed to fix and maintain, more time left to improve and innovate
– Uninterrupted positive end-user experience
– Faster time-to-market for new product features - How can DevOps help with digital transformation? DevOps workflows are the engine of digital transformation, as they provide the tools and best practices required to adopt the latest cloud technology and reorganize the SDLC. DevOps workflows and CI/CD pipelines allow getting the changes to the production environment rapidly while reducing the risk of bugs nearly to zero and minimizing the effort required to maintain your mission-critical systems in an operational state. This way your business becomes more competitive by being able to react to changing market conditions quickly and spend fewer resources on maintenance and more on innovation.
Naturally, every company will ask many more questions regarding your vision of DevOps, but guessing them all is impossible and counterproductive. We are sure you will be able to explain the concept of DevOps implementation based on the questions and answers above.
DevOps interview: technical questions
If you want to obtain a position of DevOps engineer in a cloud service provider like Amazon, Azure or Google Cloud, you’ll have to demonstrate the knowledge of various platform-specific tools, as well as a general understanding of the basics and advanced features of respective cloud architectures. The questions asked on such interviews might be based on the corresponding certifications. Thus said, gaining a couple of AWS or Google Cloud Architect certifications before applying to these companies is highly advisable.
However, most often DevOps engineers that want to work for huge corporations or cloud service providers have to gain some significant experience first. One of the best ways to do it is employment at IT outsourcing companies, as it allows software engineers to work on a variety of projects over a short period of time to gain expertise with various tools and processes. Thus said, top Managed Services Providers don’t have to be persuaded about the DevOps benefits. They want to see what you know and can do.
Therefore, be prepared to answer the questions on a variety of stages of DevOps workflows, tools usage and system configuration like the following. These questions can be asked by a technical recruiter in response to your job application:
- What was the most interesting and complicated task you had done, the one you spared no effort and time to complete?
OS Linux
- What Linux routing tasks have you performed?
- What Linux filtering tasks have you performed?
- What monitoring tools are you familiar with?
- Did you happen to write custom checks?
- Did you happen to write custom triggers?
VPN
- What VPN tools/technologies are you familiar with?
CI/CD
- What CI/CD tools have you used?
Virtualization
- What virtualization-related tasks have you performed?
- Have you ever worked with Openstack, Proxmox, ESXi?
Docker
- What app containerization-related tasks have you performed?
- Have you ever worked with Kubernetes, Docker Swarm, ECS?
Version control systems
- What VCSs have you used?
Configuration management tools
- What configuration management tools are you familiar with?
- Heve you worked with Ansible?
- Have you worked with Chef?
General questions
- Why do you want to change your current job?
- What tasks would you like to perform?
You will answer these questions based on your previous work experience. However, should you be invited for an interview, you will talk with your future colleagues, who can ask more technical questions like the following.
Security
- What would you recommend to ensure infrastructure safety?
HA and Proxy
- How would you configure HA WordPress?
- How would you configure NGINX reverse proxy?
Docker
- How to configure a connection between 2containers in docker-compose?
- What is the difference between CMD and ENTRYPOINT?
- Can a Docker image exist without CMD and ENTRYPOINT?
- How would you compose a container with a binary without using the build environment for this binary?
Ansible
- What cycle types are there in Ansible?
- How to work with sensitive data in Ansible?
- How is Chef different from Ansible?
MySQL
- List the commands to create a DB, create a user, assign user rights for DB in MySQL
- What MySQL cluster types exist?
- What peculiarities of MySQL cluster creation do you know?
Linux OS Family
- How would you check website accessibility from a terminal?
- What does “load average” mean?
- What CLI tools for monitoring do you know?
Filtering
- What IPTABLES tables exist?
- What IPTABLES chains exist?
- What does RETURN (-j RETURN) action do?
Networking
- Why do you need an IP rule, what does it manage?
- Why do you need an IP route, what does it manage?
- Why do you need an IP address, what does it manage?
Git
- What methods to merge branches do you know in git?
- What methods of solving or preventing conflicts do you know?
CI/CD
- What is CI/CD, how does CI differ from CD?
- What CI/CD tools are you familiar with?
- How to manage sensitive data during CI/CD operations?
AWS
- How do Private and Public subnets differ?
- What AWS components enable monitoring, notifications and alerts?
- What load balancers do you know, how do they differ?
- How does a Spot Instance differ from On-Demand Instance?
As you can see, working for a Managed Services Provider helps grow professionally very quickly. Besides, this will give you an opportunity to work on a variety of projects for different companies and gain expertise sufficient to begin working for leading technology vendors like AWS or Google Cloud.
Summary: 3 types of DevOps interview questions
To wrap it up, while applying for a DevOps vacancy you might have to answer 3 kinds of questions: on DevOps culture and processes as you see them, and regarding your technical expertise. We hope that the list of DevOps interview questions above will help you prepare in advance and land the job of your dreams. Should you have any more questions — we would be happy to answer them!