Want to know what questions to ask during your next DevOps interview? Get started with our handy guide.

The term DevOps was coined in 2007-2008 but has now become one of the most popular careers in software engineering. DevOps is a cultural shift that touches every aspect of development and operations.

The two teams (development and operations) work together from planning and building to monitoring and iterating. These are the most common questions you are likely to come across if you seek a DevOps engineer role.

<img alt="What-is-DevOps" data- data-src="https://kirelos.com/wp-content/uploads/2023/01/echo/What-is-DevOps.png" data- decoding="async" height="506" src="data:image/svg xml,” width=”900″>

What is DevOps?

DevOps is the short form of development and operations. This software engineering practice brings together the development and operation teams to automate every stage of a project. A DevOps team focuses on Resource management, communication, and teamwork

What are the different phases in DevOps methodology

  • Continuous development. This is the planning and coding phase. 
  • Continuous integration. This is the phase where the development team integrates different components and ensures the code does not break. 
  • Continuous testing. This is the prescheduled and automated testing phase. 
  • Continuous deployment. This phase ensures hassle-free development, which does not affect the entire app’s performance. 
  • Continuous monitoring. This phase ensures the overall efficacy of the app. 
  • Continuous feedback. Issues and performance, as reported by end-users, are analyzed. 
  • Continuous operations. Allows devs to build better versions of the product and detect issues fast.

What are the benefits of DevOps?

  • Faster and better product delivery
  • Greater scalability
  • Fast issue resolution
  • Better resource utilization

Name some DevOps KPI

  • Deployment frequency
  • Change volume
  • Deployment time
  • Failed deployment rates
  • Time detection
  • Defect escape rate

Difference between DevOps and agile

DevOps is a culture that fosters collaboration among all the team members involved in the development and maintenance of software. 

Agile is a development methodology designed to make teams productive and drive releases based on changing needs.

What is the Role of AWS in DevOps

AWS has a set of flexible services that help companies to reliably and rapidly develop applications. AWS services simplify deploying code, provisioning & simplifying infrastructure, automating software release processes, and monitoring the infrastructure performance.

What is the use of SSH?

SSH (Secure Shell) is a protocol that allows a secure connection between different computers. SSH serves different purposes, such as offering; strong authentication, strong encryption, maintaining connection integrity, strong connection and security.

What is continuous integration?

Continuous integration allows software developers to merge their code into a central repository. The code is then taken through automated builds and tests.

What is configuration management?

It is a system’s engineering process of establishing and maintaining consistency of a system’s/product’s performance and functional and physical attributes throughout its lifecycle.

What is continuous testing?

This is prescheduled and automated testing of an application as development goes on.

What is Git?

This is an open-source and free tool for source code management. This tool is designed to handle small and big projects.

Mention some basic Git commands

  • Git clone 
git clone 
  • Git branch
git branch 
  • Git checkout
git checkout 
  • Git add
git add 
  • Git commit
git commit -m "commit message"
  • Git push
git push  
  • Git pull
git pull 

Explain the difference between Git merge and Git rebase

Git merge command allows devs to merge different Git branches while the logs of commits of the respective branches remain intact. 

Git rebase command allows developers to integrate changes from one branch to another, and the logs are changed once the process is complete. 

Explain the difference between Git fetch and Git pull

Git fetch tells git to retrieve/ check the latest metadata from the original. However, it doesn’t do any file transfer but just checks.

Git pull checks and brings changes from the remote repository to the local project. 

What is a merge conflict?

Merge conflicts occur when you merge two branches with competing commits. Merge conflicts usually occur when different developers change the same line of code or file. 

What is version control, and What are the different types?

Version control (source control) is the process of tracking and managing changes to software code. 

These are the different types of version controls; 

  • Centralized– have a single “central” copy of source code on a server and all the changes are committed to the ‘central’ copy.  Subversion (SVN) and Perforce are examples of centralized version controls. 
  • Distributed (DVCS)-don’t have a central server to store all the project’s files. Git and Mercurial are examples of DVCS.

What are the benefits of using version control?

  • Helps developers preserve efficiency and agility
  • Gives a complete log of every change to a project/ file
  • Improve traceability
  • Helps in managing merging and branching
  • Enables collaboration

What is branching?

Branching refers to creating a separate/ new version of the main repository. Branches allow you to work on various parts of the project without impacting the main branch.

What are Branching strategies?

Merging strategies are the methodologies that software development teams adopt when writing, merging and deploying code. Such an approach ensures that bugs and mistakes are fixed at a branch stage before they are merged with the main project.

What is automation testing, and how to automate testing in DevOps?

Automation testing is a technique of automatically reviewing and validating code. Automation testing is done to check whether quality standards for functionality (business logic),  code style, and user experience have been met. 

Automation testing is done using tools such as Selenium and Katalon.

What is Jenkinsfile?

Jenkinsfile is a text file containing the definition of a Jenkins pipeline. Jenkinsfile is checked into the source control repository. Some of its uses are; it permits an audit trail for the pipeline, allows code review and iteration on the pipeline, and gives a single source of truth in the pipeline.

Explain the architecture in Jenkins

Jenkins has a master-slave architecture. This means there are many ‘slaves’ working for one ‘master. The Jenkins Distributed Build can thus run identical tests on different environments, with results collected and combined on the master node for monitoring.

What are the top Jenkins plugins?

  • Blue Ocean Plugin for Jenkins
  • Mailer Plugin for Jenkins
  • Git plugin for Jenkins
  • Jira plugin for Jenkins
  • Docker plugin for Jenkins
  • Maven Integration Plugin for Jenkins
  • Kubernetes plugin for Jenkins
  • SonarQube Plugin for Jenkins
  • Amazon EC2 Plugin for Jenkins

What is Selenium IDE?

Selenium IDE is a tool that records browser interactions for test cases. You can set breakpoints and check and pause variables when errors occur with Selenium Integrated Development Environment.

What are the different Selenium components?

What are the different types of testing in Selenium?

  • End-to-end testing
  • Regression testing
  • System testing
  • Performance testing
  • Compatibility testing

What are the different exceptions in Selenium?

  • ElementNotSelectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • TimeoutException
  • ElementNotVisibleException

What are driver.close() and driver.quit() in WebDriver?

The driver.close() command closes the browser window on focus. If only one browser is open, it closes the entire browser session. 

The driver.quit() command closes the entire browser session with browser pop-ups, tabs and windows.

What is a Dockerfile?

Dockerfile is a text document with all the commands a user can use on a command line to assemble an image.

Differences between docker images and docker container

Docker images are read-only templates crafted with source codes, tools, libraries, external dependencies, and other files needed for any application to run successfully on any operating system or platform. 

A docker container is a box that runs docker image templates.

Explain the architecture of Docker

Docker follows a Client-Server architecture and comprises Docker Client, Docker Host, and Docker Registry. 

Docker Client uses REST APIs and commands to communicate with Server (Docker Daemon). 

Docker Client uses CLI to run these commands

docker build

docker pull

docker run
  •  Docker Host provides an environment to execute and run applications. Made up of docker daemon, storage, images, containers, and networks. 
  • Docker Registry manages and stores Docker images. 

Cloud platforms that support docker

The platforms that support docker hosting are;

What is Nagios?

Nagios is a tool that monitors the entire IT infrastructure to ensure that business processes, systems, services, and applications are functioning properly.

How does Nagios work?

  • Monitoring. IT staff configures Nagios to monitor network protocols, system metrics, applications, network infrastructure, services, and servers. 
  • Alerting. Nagios sends alerts when critical components fail. Alerts can be through SMS, custom code or emails. 
  • Response. IT team acknowledges alerts and acts.
  • Reports. Reports that provide a historical record of notifications, outages, alert responses, and events for later review are generated. 
  • Maintenance. Scheduled downtime prevents alerts from being sent during maintenance.

Mention some Plugins in Nagios

  • Official Nagios plugins-developed and maintained by the official team
  • Custom plugins-written by individuals/businesses to suit individual needs
  • Community plugins-developed by the members of the Nagios community

Explain virtualization with Nagios

Nagios offers the capability to monitor various metrics on various virtualization platforms. Nagios can run from various virtualization platforms such as Xen, Amazon EC2, VMware, and Microsoft Virtual PC.

How does Nagios help with monitoring?

Nagios uses agents like NRPE, check_mk or SNMP to collect statistics on your server and send an alert if the metrics are above the predefined threshold.

What port numbers does Nagios use for monitoring purposes?

SNMP, ports 161 and 162

What is a Nagios network analyzer?

Nagios network analyzer is a sflow data analysis software that allows users to proactively resolve abnormal behaviors, outages, and security threats before interrupting business operations. This commercial-grade tool offers extended insight into network traffic and IT infrastructure.

Variables that affect inheritance and recursion in Nagios

  • Name-a template ‘name’ that can inherit the object variables/ properties.
  • Use- specify the template’s object name from which you want to inherit variables/ properties. 
  • Register indicates whether the template object’s name should be ‘registered’ with Nagios.

What is Puppet?

Puppet is an open-source tool for software configuration management and deployment.

What is a Puppet manifest?

Puppet manifest is a file that contains Puppet configuration language that describes how resources should be configured. 

What is the Puppet code?

Puppet code is a declarative code, meaning that you describe it using your system’s desired state and not the steps needed to get there. 

What is Chef?

Chef is a configuration management tool that converts infrastructure to code. This tool focuses on writing code instead of the manual process.

How does Chef work?

Chef’s work begins when system admins or developers define tasks to be automated. The cookbooks and recipes (small programs written in a domain-specific language) are then captured and tested using various tools like Test Kitchen, ChefSpec, and Foodcritic

If the cookbooks and recipes are working as expected, they are then deployed to the Chef server using knife and chef command-line tools. A chef deployment process has a Chef server, workstations, and nodes. You can choose from over 3000 cookbook templates and customize them to your needs. The Chef will then take care of the rest of the work.

Summary

According to Glassdoor, the average salary of a DevOps engineer is $104281 per year in the US. Even though DevOps is a new career, we can now see more companies hiring for this role and publishing various courses to equip professionals with the essential skills. Above are some questions you will likely encounter in a DevOps interview.

You may also explore some good online courses to learn DevOps.