Top DevOps Interview Questions and Answers

Top DevOps Interview Questions and Answers

DevOps is one among the most well-liked buzzwords in tech now, although it’s far more than buzz. It is a collaboration between the event and operations team, where they work together to deliver a product faster and efficiently. In the past few years, there has been an incredible increase in job listings for DevOps engineers. conglomerate companies, like Google, Facebook, and Amazon and etc, frequently have multiple open positions for DevOps engineers. However, the work market is very competitive, and therefore the questions asked during a DevOps engineer interview can cover tons of challenging subjects.

The crucial thing to know is that DevOps isn’t merely a set of technologies but rather how of thinking and culture. DevOps requires a cultural shift that merges operations with development and demands a linked toolchain of technologies to facilitate collaborative change. Since the DevOps belief remains at a really embryonic stage, application of DevOps also because the bandwidth required to adapt and collaborate, varies from organization to organization. However, you’ll develop a portfolio of DevOps skills which will present you as an ideal candidate for any sort of organization.

If you’ve begun to steel oneself against development and operations roles within the IT industry, you recognize it’s a challenging field which will take some real preparation to interrupt into. Here are a number of the foremost common DevOps interview questions and answers which will assist you while you steel oneself against DevOps roles within the industry.

Top DevOps Interview Questions 2020:

These are the top interview questions that you might face in a DevOps job interview:

General DevOps Interview Questions:

This category will include questions that aren’t associated with any particular DevOps stage. Questions here are meant to check your understanding of DevOps instead of that which specializes in a specific tool or a stage.

General DevOps Interview Questions:

  1. What does one realize about DevOps?

Your answer must be simple and easy. Begin by explaining the growing importance of DevOps within the IT industry. Let us talk about the aims to complement the efforts of the event and operations teams to accelerate the delivery of software products, with a minimal failure rate. Include how DevOps could also be a value-added practice, where development and operations engineers join hands throughout the merchandise or service lifecycle, right from the design stage to the aim of deployment.

  1. What are the elemental differences between DevOps & Agile?

The differences between the 2 are listed down within the table below.


Agility is both Development & Operations

Agility is merely Development

Processes/ Practices

Involves processes like CI, CD, CT, etc.

Involves practices like Agile Scrum, Agile Kanban, etc.

Key Focus Area

Timeliness & quality have equal priority

Timeliness is that the main priority

Release Cycles/ Development Sprints

Smaller release cycles with immediate feedback

Smaller release cycles

Source of Feedback

Feedback is from self (Monitoring tools)

Feedback is from customers

Scope of labour

Agility & need for Automation

Agility only

  1. What’s the necessity for DevOps?

According to me, this answer should start by explaining the overall market trend. rather than releasing big sets of features, companies try to ascertain if small features are often transported to their customers through a series of release trains. This has many advantages like quick feedback from customers, the higher quality of software etc. which successively results in high customer satisfaction. to realize this, companies are required to:

Increase deployment frequency

The lower failure rate of latest releases

The shortened time interval between fixes

Faster mean solar time to recovery within the event of latest release crashing

DevOps fulfils of these requirements and helps in achieving seamless software delivery. you’ll give samples of companies like Etsy, Google and Amazon which have adopted DevOps to understand levels of performance that were unthinkable even five years ago. they’re doing thousands of code used per day while supplying world-class firmness, reliability and security.

If I even have to check your knowledge on DevOps, you ought to know the difference between Agile and DevOps. The subsequent question is directed towards that.

  1. Why has DevOps gained popularity over the past few years?

Nowadays, DevOps are in great demand in the current industry, and many businesses are eagerly wanting to invest in DevOps talent. Some of the huge multi-national companies such as Facebook and Netflix are investing their money and time in DevOps for automation and pacing up application deployment as every large industry wants to see some automation in the coming years. It helps the organizations to grow and expand their businesses to generate large revenues. Its popularity continues to grow in demand as tech competition increases as most companies start adopting DevOps practices; then, it becomes even more important for the competitors to invest in similar or better development practices, increasing demand.

DevOps implementation has given provable results in businesses which contend higher efficiency, with its new technology standards; tech workers can implement codes faster than ever before, and with lesser errors. As now, more consumers and businesses rely on cloud software as it requires fast deployments to meet the consumer needs without interrupting services; this increases user adoption of cloud software like DevOps over the years.

  1. Is DevOps different from Agile / SDLC?

I would advise you to travel with the below explanation:

Agile may be a set of values and principles about the way to produce i.e. develop software. Example: if you’ve got some ideas and you would like to show those ideas into working software, you’ll use the Agile values and principles as to how to try to that. But, that software might only be performing on a developer’s laptop or during a test environment. You want a way to quickly, easily and repeatedly move that software into production infrastructure, in a safe and simple way. To do that you simply need DevOps tools and techniques.

You can sum up by maxim Agile software development style focuses on the event of software but DevOps, on the other hand, is responsible for development also because of the deployment of the software within the safest and most reliable way possible. Here’s a blog which will offer you more information on the evolution of DevOps.

Now, remember, you’ve included DevOps tools in your previous answer so be prepared to answer some questions associated with that.

  1. What is DevOps? Is it a tool?

DevOps can’t be mentioned as a tool; it’s a collaborative work culture that mixes development and operations teams for continuous development, continuous testing, continuous integration, continuous deployment, and continuous monitoring.

  1. What are the different phases in DevOps?

The different phases of the DevOps lifecycle are as follows:

Plan – Initially, there should be an idea for the sort of application that must be developed. Getting a rough picture of the event process is usually an honest idea.

Code – the appliance is coded as per the end-user requirements.

Build – Build the appliance by integrating various codes formed within the previous steps.

Test – this is often the foremost crucial step in appliance development. Test the application and rebuild, if necessary.

combine – Multiple codes from different programmers are fused into one.

Deploy – code is deployed into a cloud environment for more usage. It is ensured that any new changes don’t affect the functioning of a high traffic website.

Operate – Operations are performed on the code if required.

Monitor – Application performance is monitored. Changes are made to meet the end-user requirements.

DevOps Lifecycle

The above figure indicates the DevOps lifecycle.

  1. Mention some of the core benefits of DevOps.

The core benefits of DevOps are as follows:

Technical benefits

Continuous software delivery

Less complex problems to manage

Early detection and faster correction of defects

Business benefits

Faster delivery of features

Stable operating environments

Improved communication and collaboration between the teams

  1. What’s the foremost important thing DevOps helps us achieve?

This is the primary objective of DevOps. Learn more in this DevOps tutorial blog.

However, you’ll add many other positive effects of DevOps. For example, comprehensible communication and strong working relationships between teams i.e. both the Ops team and Dev team collaborate together to deliver good quality software which successively results in higher customer satisfaction.

  1. Explain with a use case where DevOps are often utilized in industry/ real-life.

There are many industries that are using DevOps so you’ll mention any of these use cases, you’ll also refer the below example:

Etsy could also be a peer-to-peer e-commerce website focused on handmade or vintage items and supplies, also as unique factory-manufactured items. Etsy struggled with slow, painful site updates that regularly caused the location to travel down. It affected sales for millions of Etsy’s users who sold goods through the online marketplace and risked driving them to the competitor.

Today, it is a totally automated deployment pipeline, and its continuous delivery practices have reportedly resulted in additional than 50 deployments every day with fewer disruptions.

  1. Explain your understanding and skills on both the software development side and therefore the technical operations side of a corporation, you’ve got worked within the past.

For this answer, share your past experience and check out to elucidate how flexible you were in your previous job. You can refer the below example:

DevOps engineers nearly always add a 24/7 business-critical online environment. I was adaptable to on-call duties and was available to require up real-time, live-system responsibility. Luckily I have automated processes to support continuous software deployments. I have an incident with public/private clouds, tools like Chef or Puppet, handwriting and automation with tools like Python and PHP, and a background in Agile.

  1. What are the anti-patterns of DevOps?

A pattern is a common usage usually followed. If a pattern often affect by others doesn’t work for your organization and you still blindly follow it, you’re essentially adopting an anti-pattern. There are myths about DevOps. Some of them include:

DevOps is a process

Agile equals DevOps?

We need a separate DevOps group

DevOps will solve all our problems

DevOps means Developers Managing Production

DevOps is Development-driven release management

DevOps is not development driven.

DevOps is not IT Operations driven.

We can’t do DevOps – We’re Unique

We can’t do DevOps – We’ve got the incorrect people

Version Control System (VCS) Interview Questions

Now let’s check out some interview questions on VCS. If you would like to get hands-on training on a VCS like Git, it’s included in our DevOps Certification course.

  1. What is Version control?

This is probably the easiest question you will face in the interview. My suggestion is to first provide a definition of Version control. It is a system that records changes to a file or set of files over time in order that you’ll recall specific versions later. Version control systems contain a central shared repository where teammates can commit changes to a file or set of files. Then you’ll mention the uses of version control.

Version control allows you to:

Revert files back to a previous state.

Revert the whole project back to a previous state.

Compare changes over time.

See who last modified something which may be causing a drag.

Who introduced an issue and when.

  1. What are the benefits of using version control?

I will suggest you incorporate the subsequent advantages of version control:

With Version Control System ( VCS), all the team members are allowed to work freely on any file at any time. VCS will later allow you to merge all the changes into a standard version.

All the over versions and variants are neatly packed up inside the VCS. When you need it, you’ll request any version at any time and you’ll have a snapshot of the entire project right at hand.

Every time you save a replacement version of your project, your VCS requires you to supply a brief description of what was changed. Additionally, you can see what exactly was changed in the file’s content. This allows you to understand who has made what change within the project.

A distributed VCS like Git allows all the team members to possess a complete history of the project so if there’s a breakdown within the central server you’ll use any of your teammate’s local Git repository.

  1. Describe the branching strategies you have used.

This question is asked to check your branching experience so tell them about how you’ve got used branching in your previous job and what purpose does it serves, you can refer the below points:

Feature branching:

A quality branch model keeps all of the changes for a specific feature inside a branch. When the property is fully tested and verified by automated tests, the branch is then merged into master.

Task branching:

In this model, each task is implemented on its own branch with the task key included within the branch name. It is easy to ascertain which code implements which task, just search for the task key within the branch name.

Release branching:

Once the develop branch has acquired enough features for a release, you’ll clone that branch to make a Release branch. give rise to this branch starts following the release cycle, so no new features are often added after now, only bug fixes, documentation generation, and other release-oriented tasks should go in this branch. Once it’s able to ship, the discharge gets merged into master and tagged with a version number. In addition, it should be merged back to develop branches, which can have progressed since the discharge was initiated.

Finally, tell them that the branching plan varies from one organization to another, so I do know basic branching operations like delete, merge, finding out a branch etc.

  1. Which VCS tool you are comfortable with?

You can just mention the VCS tool that you simply have worked on like this: “I have worked on Git and one major advantage it’s over other VCS tools like SVN is that it’s a distributed version system .”

Distributed VCS tools don’t necessarily believe a central server to store all the versions of a project’s files. Instead, every developer “clones” a replica of a repository and has the complete history of the project on their own disk drive.

  1. Explain some basic Git commands?

Below are some basic Git commands:

git commands - devops interview questions

  1. In Git how does one revert a commit that has already been pushed and made public?

There are often two answers to the present question so confirm that you simply include both because any of the below options are often used counting on the situation:

Remove or fix the bad enter a replacement commit and push it to the remote repository. This is the foremost natural thanks to fixing a mistake. Once you’ve got made necessary changes to the file, commit it to the remote repository for that I will be able to use

git commit -m “commit message”

Create a replacement commit that undoes all changes that were made within the bad do this i will be able to use a command

git revert

  1. What is the difference between Ansible and Puppet?

Today, DevOps professionals have to manage and control a huge number of servers hosting, so for this, they need exponential growth in computing as well as new technology such as virtualization and cloud computing. Thus Puppet and Ansible are the tools that are used for managing a large number of servers.

These are also called Remote Execution and Configuration Management tools, and it allows the admin to perform or execute the commands on many servers simultaneously. Its main feature is generally to maintain and configure thousands of servers at a single time. Apart from this, Ansible and Puppet has major differences right from the moment and can be differentiated concerning many mechanisms as shown below:





Scalability in Ansible is very convenient and simple.

Puppet also offers scalability but somewhere lacks as compared to ansible

Management and Scheduling:

In ansible, configuration gets pushed to the nodes from the server for better employment of code.

In puppet, configuration gets pulled from the selected server.


It is fully published in Python and uses YAML syntax to convey or write configurations.

It is written in Ruby and uses declarative language to form the configurations.

Availability in case of failures:

In this case, availability will have lesser worries as the subordinate node is present in case of any nodal failure.

In this case, many multiple master servers are present so that if the original master fails, it does not stop the ongoing task.


The repository of Ansible is Ansible Galaxy, where all the information is stored.

A storehouse of the puppet is Puppet forge, which has 6000 modules.

Setting up and Usage:

Ansible has a master that runs the client machine and writes the configuration to manage tasks.

marionette uses a client-server architecture to manage multiple tasks.

  1. What are the different components of Selenium?

Selenium is an open-source tool that is used for automating different web applications. It has mainly four major components that help to run multiple test cases and provides services of using various browsers and languages for automation. The components of Selenium are as follows:

  1. Selenium IDE

Selenium IDE (Integrated Development Environment) is one of the simplest frameworks in the selenium suite. It has an easy record and playback function, which helps in figuring the tool that provides easy learning. If the tester is aware of the basics of HTML, JavaScript, and DOM, it is easier to utilize Selenium IDE. It enters the commands quickly and reduces the possibility of entering invalid commands.

  1. Selenium RC

Selenium RC (Remote Control) is a tool that helps in understanding test scripts and providing support for different programming languages like Ruby, PHP, Java, etc. It mainly counts on JavaScript for automation and does not support record and playback features.

  1. Selenium WebDriver

It is mainly the extension of selenium RC, but it supports all the latest browsers and various platforms. It is created to support vital web pages in which elements present on the page can change without reloading the page, and it directly calls the browser for automation.

  1. Selenium GRID

Selenium GRID is a tool that runs multiple test cases against different browsers and machines in parallel. Several nodes are not fixed in the grid, and it can be launched on various browsers and platforms. It is used together with selenium RC.

  1. What is Selenium used for?

Selenium is used for continuous testing in DevOps. The tool specializes in functional and regression forms of testing.

  1. Are there any technical challenges with Selenium?

It supports only web-based applications.

It does not support the Bitmap comparison.

No vendor support is out there for Selenium compared to commercial tools like HP UFT.

As there is no object repository concept, maintainability of objects becomes very complex.

  1. When should I use Selenium Grid?

It is often wont to execute an equivalent or different test scripts on multiple platforms and browsers, concurrently, so as to realize distributed test execution. It allows testing under different environments, remarkably saving the execution time.


  1. I just made a bad git commit and made it public, and I need to revert the commit. Can you suggest how to do that?

Here we can use the command:

git revert

This command is very helpful because we can revert any commands just by adding the commit ID.

  1. Can you tell me how to squash the last n commits into a single commit? Is it even possible?

To squash the last n commits into one commit, we will use:

git reset — soft HEAD~n &&

git commit

  1. I want to move or copy Jenkins from one server to another. Is it possible? If yes, how?

I would suggest copying the Jenkins jobs directory from the old server to the new one. We can just move a job from one installation of Jenkins to another by just copying the corresponding job directory.

Or, we can also make a copy of an existing Jenkins job by making a clone of that job directory in a different name.

Another way is that we can rename an existing job by renaming the directory. But, if you change the name of a job, you will need to change any other job that tries to call the renamed job.

Become a master of DevOps by going through this online DevOps Course in Toronto!

  1. Can you tell me what Continuous Testing and Automation Testing are?

Automation testing, as the name suggests, is a process of automating the manual process of testing. It involves the use of separate testing tools that let developers create test scripts that can be executed repeatedly without any manual intervention.

Continuous testing is nothing but the process of executing automated tests as part of the software delivery pipeline in DevOps. In this process, each build is tested continuously, allowing the development team to get fast business feedback so that it can prevent the problems from progressing to the next stage of the software delivery lifecycle. This will dramatically speed up a developer’s workflow. He/she no longer needs to standardly rebuild the project and repeat all tests after making changes.

  1. How to launch a browser using WebDriver?

For Firefox:

WebDriver driver = new FirefoxDriver();

For Chrome:

WebDriver driver = new ChromeDriver();

For Internet Explorer (IE):

WebDriver driver = new InternetExplorerDriver();

  1. Describe the difference between driver.close() and driver.quit().

The driver.close command closes the focused Browser window. But, the driver. quit command calls the driver. dispose method which closes all browser windows and also ends the WebDriver session.

  1. I have 40 jobs in the Jenkins dashboard and I need to build them all at once. Is it possible?

Yes, it is. With the help of a Jenkins plugin, we can build projects one after the other. If one parent job is carried out, then automatically other jobs are also run. We also have the option to use Jenkins Pipeline jobs for the same.

  1. How will you secure Jenkins?

The way to secure Jenkins is as follows:

Ensure that global security is on

Check whether Jenkins is nonsegregated with the company’s user directory with an proper plugin

Make sure that Project matrix is enabled to fine-tune access

Automate the process of setting rights or privileges in Jenkins with a custom version-controlled script

Limit physical access to Jenkins data or folders

Periodically run security audits

Learn more about DevOps from this insightful DevOps Blog!

  1. Can you please tell me how to create a backup and copy files in Jenkins?

To create a backup, all we need to do is to periodically back up our JENKINS_HOME directory. This contains all of the build configurations of our job, our slave node configurations, and our build history. To create a backup of our Jenkins setup, just copy this directory. We can also copy a job index to duplicate or replicate a job or retitle the directory.

  1. What is the Jenkins Pipeline? What is a CI/CD Pipeline?

Jenkins Pipeline can be defined as a suite of plugins supporting both implementation and integration of Jenkins continuous delivery pipeline.

Continuous integration or continuous delivery pipeline consists of build, deploy, test, and release. The pipeline feature is very time-saving. In other words, a pipeline is a group of build jobs that are chained and integrated into a sequence.

  1. What are the Puppet Manifests?

Every Puppet Node or Puppet Agent has got its configuration details in Puppet Master, written in the native Puppet language. These details are written in a language that Puppet can understand and are termed as Puppet Manifests. These manifests are composed of Puppet codes, and their filenames use the .pp extension.

For instance, we can write a manifest in Puppet Master that creates a file and installs Apache on all Puppet Agents or slaves that are connected to the Puppet Master.

  1. How can I configure systems with Puppet?

In order to configure systems with Puppet in a client or server architecture, we have to use the Puppet Agent and the Puppet Master applications. In a self-sufficient architecture, we have to use the Puppet appeal application.

  1. What is a Puppet Module? How is it different from the Puppet Manifest?

A Puppet Module is nothing but a collection of manifests and data (e.g., facts, files, and templates). Puppet Modules have a specific directory structure. They are useful for organizing the Puppet code because with Puppet Modules we can split the Puppet code into multiple manifests. It is considered as the best practice to use Puppet Modules to organize almost all of your Puppet Manifests.

Puppet Modules are different from Puppet Manifests. Manifests are nothing but Puppet programs, composed of the Puppet code. File names of Puppet Manifests use the .pp extension.

  1. Can you tell me what a Puppet coder is?

It is the most directory for code and data in Puppet. It consists of environments (containing manifests and modules), a global modules directory for all the environments, and your Hiera data.

  1. Where do you find code in Puppet?

It is found at one of the following locations:

Unix/Linus Systems:



%PROGRAMDATA%\PuppetLabs\code (usually, C:\ProgramData\PuppetLabs\code)

Non-root users:


  1. What do you understand by Puppet in DevOps?

It is a configuration management tool that is used for automating administration tasks. Puppet makes use of the Master-Slave architecture during which the 2 entities communicate via an encrypted channel.

System admins need to perform a lot of repetitive tasks, notably installing and configuring servers. Writing text for computerising such tasks is a possibility but it becomes frantic when the infrastructure is large. Configuration management is a great workaround for this.

Puppet helps in configuring, deploying, and managing servers. Not only does it make such redundant tasks easier but it also cuts a significant portion of the total work time. The mature configuration management tool:

Continuously checks whether the needed configuration for a host is in place or not. If altered, the configuration is automatically reverted back

Defines distinct configurations for every host

Does dynamic scaling (up and down) of machines

Provides control over all the configured machines in order that a centralized change can automatically get propagated to all or any of them

40.Why should I use Ansible?

Ansible can help in:

Configuration Management

Application Deployment

Task Automation

  1. What are handlers in Ansible?

Handlers in Ansible are just like regular tasks inside an Ansible Playbook, but they are only run if the task contains a ‘notify’ directive. Handlers are triggered when it is called by another task.

  1. Have you heard about Ansible Galaxy? What does it do?

Yes, I have. Ansible Galaxy refers to the ‘Galaxy website’ by Ansible, where users share Ansible roles. It is used to install, create, and manage Ansible roles.

43.What are the prerequisites to install Ansible 2.8 on Linux?

To install Ansible 2.8 on Linux, Security-Enhanced Linux (SELinux) has to be enabled and Python 3 has to be installed on remote nodes.

  1. Can you write the syntax for building a docker image?

To build a docker image, we use the following command:

docker build –f -t image_name:version

  1. What is the concept of sudo in Linux?

Sudo is a program for Unix/Linux-based systems that provides the ability to allow specific users to use specific system commands in the system’s root level. It is an abbreviation of ‘super user do’, where ‘super user’ means the ‘root user’.

If you have any doubts or queries related to DevOps, get them clarified from DevOps experts on our DevOps Community!

  1. Can you tell me the purpose of SSH?

SSH is nothing but a secure shell that allows users to login with a secure and encrypted mechanism into remote computers. It is used for encrypted communications between two hosts on an unsafe network. It supports tunneling, forwarding TCP, and also transferring files.

  1. What is NRPE in Nagios?

NRPE stands for ‘Nagios Remote Plugin Executor’. As the name suggests, it allows you to execute Nagios plugins remotely on other Linux or Unix machines. It can be helpful in monitoring remote machine performance metrics such as disk usage, CPU load, etc. It can communicate with a number of the Windows agent addons. We can execute scripts and check metrics on remote Windows machines also .

48.How does Nagios work?

I will advise you to follow the below explanation for this answer:

Nagios runs on a server, usually as a daemon or service. Nagios periodically runs plugins residing on an equivalent server, they contact hosts or servers on your network or on the web . One can view the status information using the online interface. You can also receive email or SMS notifications if something happens.

The Nagios daemon behaves sort of a scheduler that runs certain scripts at certain moments. It stores the results of these scripts and can run other scripts if these results change.

Now expect a couple of questions on Nagios components like Plugins, NRPE etc..

  1. What are Plugins in Nagios?

Begin this answer by defining Plugins. They are scripts (Perl scripts, Shell scripts, etc.) that can run from a command line to check the status of a host or service. Nagios uses the results from Plugins to work out the present status of hosts and services on your network.

Once you’ve got defined Plugins, explain why we’d like Plugins. Nagios will execute a Plugin whenever there’s a requirement to see the status of a number or service. Plugin will perform the check then simply returns the result to Nagios. Nagios will process the results that it receives from the Plugin and take the required actions.

  1. Can you tell me why I should use Nagios?

To plan for infrastructure upgrades before the outdated systems fail

To respond to issues quickly

To fix problems automatically when detected

To coordinate with the responses from the technical team

To ensure that the organization’s service-level agreements with the clients are being met

To make sure that the IT infrastructure outages have only a minimal effect on the organization’s net income

To monitor the entire infrastructure and business processes

  1. What is Nagios Log Server?

Nagios Log Server simplifies the process of searching the log data. Nagios Log Server is the best choice to perform tasks such as setting up alerts, notifying when potential threats arise, simply querying the log data, and quickly auditing any system. With Nagios Log Server, we can get all of our log data in one location with high availability.

  1. Can you tell me why I should use Nagios for HTTP monitoring?

Nagios can provide us with the complete monitoring service for our HTTP servers and protocols. Here are a few benefits of implementing effective HTTP monitoring with Nagios:

Server, services, and application availability can be increased.

Network outages and protocol failures can be detected quickly.

User experience can be monitored.

Web server performance can be monitored.

Web transactions can be monitored.

URLs can be monitored.

  1. What do you mean by passive check in Nagios?

According to me, the solution should start by explaining Passive checks. They are initiated and performed by external applications/processes and therefore the Passive check results are submitted to Nagios for processing.

Then explain the need for passive checks. They are useful for observing services that are Asynchronous in nature and can’t be monitored effectively by polling their status on a frequently scheduled basis. They can even be used for monitoring services that are Located behind a firewall and can’t be checked actively from the monitoring host.

  1. When Does Nagios Check for external commands?

Make sure that you simply stick with the question during your explanation so i will be able to advise you to follow the below-mentioned flow. Nagios check for external commands under the subsequent conditions:

At regular intervals specified by the command_check_interval option within the main configuration file or,

Immediately after event handlers are executed. This is additionally to the regular cycle of external command checks and is completed to supply immediate action if an occasion handler submits commands to Nagios.

  1. What is the difference between Active and acquiescent check in Nagios?

For this answer, first, means the essential difference Active and acquiescent checks. The main differentiation amid Active and acquiescent checks is that Active checks are initiated and performed by Nagios, while passive checks are performed by external applications.

If your interviewer is looking unconvinced with the above explanation then you’ll also mention some key features of both Active and acquiescent checks:

acquiescent checks are useful for monitoring services that are:

Asynchronous in nature and can’t be monitored effectively by polling their status on a frequently scheduled basis.

Located behind a firewall and can’t be checked actively from the monitoring host.

The main quality of Actives checks are as follows:

Active checks are initiated by the Nagios process.

Active checks are run on a frequently scheduled basis. Explain the most Configuration file of Nagios and its location?

First, mention what this main form file contains and its function. The main form file contains a diversity of directives that affect how the Nagios daemon operates. This config file is read by both the Nagios daemon and therefore the CGIs (It specifies the situation of your main configuration file).

Now you can tell where it is present and how it is created. A sample main configuration file is made within the base directory of the Nagios distribution once you run the configure script. The default name of the most configuration file is nagios.cfg. It is usually placed within the etc/ subdirectory of your Nagios installation (i.e. /usr/local/nagios/etc/).

  1. Explain how Flap Detection works in Nagios?

I will advise you to first explain wag first. a beat occurs when a service or host changes state too frequently, this causes a lot of problems and recovery notifications.

Once you’ve got a defined beat, explain how Nagios detects beat. Whenever Nagios checks the status of a number or service, it’ll check to ascertain if it’s started or stopped a beat. Nagios follows the below-given procedure to do that:

Stowing the results of the last 21 examine of the host or service analyzing the historical check results and decide where state changes/transitions occur

Using the state transitions to determine a percent state change value (a measure of change) for the host or service

Comparing the per cent state change value against low and high flapping thresholds

A host or service is determined to have started to beat when it’s cent state change first exceeds a high flapping threshold. A host or service is determined to have stopped beat when its per cent state goes below a low flapping threshold.

  1. What are the three main variables that affect recursion and inheritance in Nagios?

According to me the right format for this answer should be:

First name the variables than a little explanation of every one of those variables:




Then give a brief explanation for each of these variables. The name may be a placeholder that’s employed by other objects. Use defines the “parent” object whose properties should be used. The register can have a value of 0 (indicating its only a template) and 1 (an actual object). The register value is never inherited.

  1. What is meant by saying Nagios is Object-Oriented?

Answer to this question is pretty direct. I will respond to this by saying, “One of the traits of Nagios is object configuration format therein you’ll create object definitions that inherit properties from other object definitions and hence the name. This simplifies and clarifies relationships between various components.”

  1. What is State Stalking in Nagios?

I will advise you to first provide a small introduction on State Stalking. It is used for logging purposes. When Stalking is enabled for a specific host or service, Nagios will watch that host or service very carefully and log any changes it sees within the output of check results.

Depending on the discussion between you and interviewer you’ll also add, “It is often very helpful in later analysis of the log files.

Under normal circumstances, the results of a number or service check is merely logged if the host or service has changed state since it had been last checked.”

Want to get trained in monitoring tools like Nagios? Want to certified as a DevOps Engineer? Make sure you inspect our DevOps Masters Program.

  1. What is a namespace in Kubernetes?

Namespaces are a way to divide cluster resources between multiple users in Kubernetes. In other words, it is useful when multiple teams or users are using the same cluster which can lead to potential name collision.

  1. What is kubectl?

By definition, kubectl is a command-line interface for running commands against Kubernetes clusters. Here, ‘ctl’ stands for ‘control’. This ‘kubectl’ command-line interface can be used to deploy applications, inspect and manage cluster resources, and view logs.


  1. What do you understand about anti-patterns of DevOps?

When a DevOps pattern commonly adopted by other organizations doesn’t add a selected context and still the organization continues using it, it results in the adoption of an anti-pattern. In other words, anti-patterns are myths about DevOps. Some of the notable anti-patterns are:

An organization must have a separate DevOps group

Agile equals DevOps

DevOps is a process

DevOps is development-driven release management

DevOps isn’t possible because the organization is exclusive

DevOps isn’t possible because the people available are unsuitable

DevOps means Developers Managing Production

DevOps will solve all problems

Failing to incorporate all aspects of the organization in an ongoing DevOps transition

Not defining KPIs at the beginning of a DevOps transition

Reduce the silo-based isolation of development and operations with a replacement DevOps team that silos itself from other parts of the organization

  1. DevOps has something called CI. What is it and what is its purpose?

CI in DevOps stands for Continuous Integration. CI may be a development practice during which developers integrate code into a shared repository multiple times during a single day.

Continuous Integration of development and testing enhances the quality of the software as well as reducing the total time required for delivery.

The developer has separated the build if a team member examines in code runs into album failure. As such, other developers aren’t ready to sync with the shared ASCII text file repository without introducing compilation errors into their own workspaces.

This disrupts the collaborative and shared development process. Hence, as soon as a CI build breaks, it’s important to identify and correct the problem immediately.

Typically, a CI process includes a set of unit, integration, and regression tests that run whenever the compilation succeeds. In case any of the aforesaid tests fail, the CI build is taken into account unstable (which is common during an Agile sprint when development is ongoing) and not broken.

  1. What does CAMS in DevOps stand for?

The acronym CAMS is typically used for describing the core creeds of DevOps methodology. It stands for:





  1. What are the several KPIs used to gauge DevOps success?

KPIs is a contracted form of Key Performance Indicators. In order to live the success of a DevOps process, several KPIs are often used. Some of the most popular ones are:

Application performance

Application usage and traffic

The automated test pass percentage


Change volume

Customer tickets

Defect escape rate

Deployment frequency

Deployment time

Error rates

Failed deployments

Lead time

Meantime to detection (MTTD)

Mean time to recovery (MTTR)

  1. In your opinion, what are the major benefits of implementing DevOps automation?

Following are the major benefits of implementing DevOps automation:

Removal of the likelihood of human error from the CD equation (Core benefit).

As tasks become more predictable and repeatable, it’s easy to spot and proper when something goes wrong. Hence, it leads to producing more reliable and robust systems.

Removes bottlenecks from the CI pipeline. It results in increased deployment frequency and decreased number of failed deployments. Both of them are important DevOps KPIs.

  1. What do you understand by containers?

Containers are a sort of lightweight virtualization that help in providing isolation among processes. Containers are heavier than a chroot but lighter than a hypervisor.

  1. What are post mortem meetings?

Many times there’s a requirement to debate what went wrong during a DevOps process. For this, post mortem meetings are arranged. These meetings yield steps that ought to be taken to avoid an equivalent failure or set of failures within the future that the meeting was arranged within in the first place.

  1. 7 Draw a comparison between Asset Management and Configuration Management.

The process of monitoring also as maintaining things useful to an entity or group is named an Asset Management.

Configuration Management refers to the method of controlling, identifying, planning for, and verifying the configuration items within service in support of Change Management.

  1. Can you state and explain various key elements of continuous testing?

Various key elements of continuous testing are:

Advanced analysis – Used for predicting unknown future events

Policy analysis – Meant for improving the testing process

Requirement traceability – Refers to the power to explain also as follow the life of a requirement, from its origin to deployment

Risk assessment – The method or process of identifying hazards and risk factors that can cause potential damage

Service virtualization – Allows using virtual services rather than production services. Emulates software components for simple testing

Test optimization – Improve the overall testing process

  1. Explain the architecture of Docker.

Docker uses a client-server architecture.

Docker Client may be a service that runs a command. The command is translated using the remainder API and is shipped to the Docker Daemon (server).

Docker Daemon accepts the request and interacts with the operating system to build Docker images and run Docker containers.

A Docker image may be a template of instructions, which is employed to make containers.

Docker container is a finishable package of an application and its dependencies together.

Docker registry may be a service to host and distribute Docker images

  1. What are the advantages of Docker over virtual machines?


Virtual Machine


Memory space

Occupies a lot of memory space

Docker containers occupy less space

Boot-up time

Long boot-up time

Short boot-up time


Running multiple virtual machines leads to unstable performance

Containers have a far better performance, as they’re hosted during a single Docker engine


Difficult to scale up

Easy to scale up


Low efficiency

High efficiency


Compatibility issues while porting across different platforms

Easily portable across different platforms

Space allocation

Data volumes cannot be shared

Data volumes are shared and used over multiple containers

  1. How do we share Docker containers with different nodes?

It is easy to share Docker containers on amid nodes with Docker Swarm.

Docker Swarm may be a tool that permits IT administrators and developers to make and manage a cluster of swarm nodes within the Docker platform.

A swarm consists of two sorts of nodes: a manager node and worker node.

  1. 7 What are the commands used to create a Docker swarm?

Create a swarm where you would like to run your manager node.


Docker swarm init –advertise-addr

Once you’ve created a swarm on your manager node, you’ll add worker nodes to your swarm.

When a node is fired up as a manager, it right away creates a token. In order to make a worker node, the subsequent command (token) should be executed on the host machine of a worker node.


Docker swarm join \ –token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \

  1. How do you run multiple containers using a single service?

It is possible to run multiple containers as one service with Docker Compose.

Here, each container runs in isolation but can interact with one another .

All Docker Compose files are YAML files.

  1. What is a Dockerfile used for?

A Dockerfile is employed for creating Docker images using the build command.

With a Docker image, any user can run the code to create Docker containers.

Once a Docker image is made , it’s uploaded during a Docker registry.

From the Docker registry, users can get the Docker image and build new containers whenever they need .

  1. Explain the differences between Docker images and Docker containers.

Docker Images

Docker Container

Docker images are templates of Docker containers

Containers are runtime instances of a Docker image

An image is built using a Dockerfile

Containers are created using Docker images

It is stored during a Docker repository or a Docker hub

They are stored in the Docker daemon

The image layer is a read-only filesystem

Every container layer is a read-write filesystem

  1. Instead of YAML, what can you use as an alternate file for building Docker compose?

To build a Docker compose, a user can use a JSON file rather than YAML. If the user wants to use a JSON file, then should specify the filename as given:

Docker-compose -f Docker-compose.json up

  1. How do you create a Docker container?

Task: Create a MySQL Docker container

A user can either build a Docker image or draw an existing Docker image (like MySQL) from Docker Hub.

Now, Docker creates a replacement container MySQL from the prevailing Docker image. Simultaneously, the container layer of the read-write filesystem is additionally created on top of the image layer.

Command to make a Docker container: Docker runt –I MySQL

order to list down the managing containers: Docker ps

  1. What is the difference between a registry and a repository?



A Docker registry is an open-source server-side service used for put on and allocates Docker images

The repository may be a collection of multiple versions of Docker images

In a registry, a user can differentiate between Docker images with their tag names

It is stored in a Docker registry

Docker has its own default registry called Docker Hub

It has two types: public and private repositories

  1. What are the cloud platforms that support Docker?

The cloud platforms that Docker runs on:

Amazon Web Services

Microsoft Azure

Google Cloud Platform


  1. What is the purpose of the expose and publish commands in Docker?


Expose is an instruction used in Dockerfile.

It is wont to expose ports within a Docker network.

It is a documenting instruction used at the time of building a picture and running a container.

Expose is the command used in Docker.

Example: Expose 8080


Publish is used in a Docker run command.

It can be used outside a Docker environment.

It is wont to map a number port to a running container port.

–publish or –p is that command utilized in Docker.

Example: docker run –d –p

And, that’s it!

I hope these questions assist you to crack your DevOps interview. If you have any more questions for us, do mention them in the comments section and we will get back to you.


WhatsApp chat

Schedule a demo

We will schedule the demo with an expert trainer as per your time convenience.

Have a query?

we'd love to assist and help you on anything related to IT courses.