Top 100 DevOps Interview Questions and Answers in 2021

DevOps is a practice of combining software developments and IT operations. The main aim is to reduce the systems development life cycle and to provide continuous delivery with high-quality software.

DevOps is the software development culture that connects development, operations, and quality assurance processes into a continuous set of actions. It provides cross-functional communications, end-to-end responsibilities, and collaborations and is an extension of the Agile methodology.

Table of Contents

Top DevOps Interview Questions and Answers

1. Explain DevOps in simple terms?

DevOps is a practice of combining software developments and IT operations. The main aim is to reduce the systems development life cycle and to provide continuous delivery with high-quality software.

2. Is DevOps different from Agile methodology?

DevOpsAgile
It is a practice where we bring development and operations teams together.It is an iterative approach that mainly focuses on customer feedback and rapid releases.
It focuses on constant testing and delivery It focuses on constant changes.
It requires a large team.It requires a small team.
Its main focus is  more on operational and business readinessIt mainly focuses on functional and non-function readiness.
It targets to give end-to-end business solutions and quick delivery.It mainly targets Software development.
DevOps Interview Questions

3. List a few principles of DevOps?

Few principles of DevOps are:

  1. Incremental Releases: DevOps encourages the developers to contribute the latest code as often as possible, usually multiple times a day. In the  DevOps environment, a single project is divided into small chunks, and teams are requested to submit their code in increments which helps in easy troubleshooting.
  2. Automation: DevOps supports automating, where Automating the workflows allows developers to focus only on writing code and developing the required new features.
  3. DevOps Pipeline: DevOps aims to create pipelines, where a pipeline represents a repeatable system that is made up of stages where the code has to pass before it is being deployed to the production 
  4. Continuous Integration: DevOps encourages developers to submit their code to the central code repository many times a day.
  5. Continuous Delivery
  6. Continuous Monitoring
  7. It supports version control.
  8. It supports feedback sharing.

4. Can you name some of the popular DevOps tools?

Some of the popular tools are:

  1. Git. Used for Code, Build.
  2. Gradle. Used for Build.
  3. Selenium. Used for Test.
  4. Jenkins. Used for Build, Test, Deploy.
  5. Puppet. Used for Deploy, Operate.
  6. Chef. Used for Deploy, Operate.
  7. Docker. Used for Build, Deploy, Operate.
  8. Kubernetes. Used for Build, Deploy, Operate.

5. Name the different phases involved in the DevOps Lifecycle?

The different phases involved in DevOps are:

  1. Continuous Development: This phase is involved in the planning and coding of the software. We decide the vision of the project during the planning phase. The developers begin developing the code for the given application. We don’t have DevOps tools for planning, but we have some tools for maintaining the code. 
  2. Continuous Integration: This stage is the important stage of the entire DevOps lifecycle. It is a software development practice where the developers are required to commit the changes to the source code more frequently. This is done on a  daily or weekly basis.
  3. Continuous Testing: In this phase, the developed software is continuously tested for bugs. We use automated testing tools like TestNG, JUnit, Selenium, etc.
  4. Continuous Monitoring: It is a phase that involves all the operational factors of the whole DevOps process, where important information such as the use of the software is recorded and processed to find out the trends and identify the problem areas.
  5. Continuous Feedback: The application development is improved by analyzing the results from the operations of the software
  6. Continuous Deployment: It is a phase where the code is deployed to the production servers, and it ensures that the code is correctly used on all the servers.
  7. Continuous Operations: All DevOps operations are mainly based on the continuity with the complete automation of the release processes, and it allows the organizations to fasten the overall time to market continuingly.

6. Name a few core operations of DevOps w.r.t Application Development?

Core operations are:

  1. Code building
  2. Code coverage
  3. Unit testing
  4. Packaging
  5. Deployment

7. Differentiate between Continuous Delivery and Continuous Deployment?

Continuous DeliveryContinuous Deployment
It ensures business applications and services function as expected.It makes the software development and the release process quicker and more robust.
Ensures code safely that is deployed on to production.Every change that is passed through the automated tests is deployed to the production automatically.

8. Explain the benefits of IaC(Infrastructure as Code) over AWS?

  1. High visibility
  2. Automated deployment and orchestration
  3. Stability with version control
  4. Reusability and scalability

9. Explain the steps to implement DevOps in your organization? 

DevOps Implementation Plan

Steps to implement DevOps in an organization are listed below:

Step1: Create a competent team: Identify skilled resources.

Step2: Start with Small Initiatives:  it is always safe, to begin with, small prototypes.

Step3: Follow Agile Principles: Organizations has to follow Agile principles along with the DevOps methodologies to achieve remarkable results.

Step4: Prepare the Environment: Tools that will be a part of the DevOps configuration should be identified, and this should be done in a way that any organization, either small or big, should be able to afford them.

See also  Top 100 MySQL Interview Questions And Answers

Step5: Customer Feedback: The customer should be involved in every step so that you can get valuable feedback.

10. Mention a few technical and business benefits of DevOps?

Technical Benefits:

  1. Less complex problems to manage
  2. Early detection and faster correction of defects
  3. Continuous software delivery

Business Benefits:

  1. Stable operating environments
  2. Improved communications and collaborations between the teams
  3. Faster delivery of features

DevOps Interview Questions 

11. Which scripting language is preferred by the DevOp engineers?

Python seems to be popular with DevOps engineers.

12. What role does configuration management play in DevOps?

  1. It helps to automate tedious tasks and allows the organization to increase agility.
  2. Configuration management is a technique for maintaining the computer systems, servers, and software in a desired, stable state.
  3. It is helpful to accurately replicate the environment with the correct configurations and software. 

13. What is version control?

Version control, known as source control, is a key tool used by successful DevOps teams to reduce the development time and to increase the rate of successful deployments. Version control helps the software engineering teams to cooperate at the speeds required by today’s persistently shifting IT environment.

14. Can you describe important DevOps KPIs(key performance indicators)?

Important DevOps Key Performance indicators are:

  1. Deployment frequency.
  2. Change failure rate.
  3. Mean Time to Recovery (MTTR)
  4. Lead time.
  5. Change volume.
  6. Defect escape rate.
  7. Customer tickets.
  8. DevOps Resources.

15. How helpful is DevOps to developers?

DevOps is helpful to developers to fix the bug and to implement new features fastly. It also helps to communicate between the team members.

16. What role does AWS play in DevOps?

Roles:

  1. Built for scale  
  2. Automation
  3. Secure 
  4. Large partner ecosystem
  5. Flexible services

17. Name the types of HTTP requests?

Types:

  1. GET
  2. HEAD
  3. PUT
  4. POST
  5. PATCH
  6. DELETE
  7. TRACE
  8. CONNECT
  9. OPTIONS

18. What is IaC, and how is it related to Configuration Management? 

IaC

Infrastructure as Code, also known as IaC, is a process of writing and deploying the machine-readable definition files that can generate service components; hence it supports the delivery of business systems and IT-enabled processes.

IaC is a type of configuration management that can codify the organization’s infrastructure resources into the files. These infrastructure files are then executed to a version control system like Git.

19. What would you check If a Linux-build-server suddenly starts getting slow?

If a Linux-build-server suddenly starts getting slow, then you should troubleshoot as follows.

  1. System-Level troubleshooting: like RAM related issues, Disk Space related Issues, Disk I/O read-write issue, Network Hardware issues, and Mount issues
  2. Application Level troubleshooting:  If the Application is not behaving properly. Then hit the  Application log file OR the application server log file OR  the webserver Log file and understand the issues.
  3. Dependent Services troubleshooting: These include network-related issues, antivirus-related issues, firewall related issues.

20. Can you list the key components of DevOps?

The key components of DevOps are:

  1. Continuous Integration.
  2. Continuous Delivery.
  3. Microservices.
  4. Infrastructure as Code.
  5. Monitoring and Logging.
  6. Communication and Collaboration

21. Differentiate between a centralized and distributed version control system?

Centralized Version ControlDistributed Version Control
Here,  the client needs to get a local copy of the source from the server, perform the changes and commit the client changes to the central source on the server.Here,  each client has a local branch as well and has a complete history on it. The client needs to push the changes to the branch, which will later be pushed to the server repository.
They are easy to learn and set up.They are difficult for beginners. Various commands have to be remembered.
Working on branches is difficult in CVS. Developer’s faces merge conflicts.Working on branches is easy in DVS. Developers face fewer conflicts.

22.  Can you list a few cloud platforms that are used for DevOps Implementation?

  1. Amazon Web Services
  2. Google Cloud
  3. Microsoft Azure

23. Name the git command that can download any repository from GitHub to your computer?

Git clone is the command used to download any repository from GitHub to the computer.

24.  List the advantages of using a Version Control system?

Some of the advantages of using version control are listed below:

  1. Automatic backups: If you accidentally delete some files, you can undelete them. If you had changed something and want to undo it, then VCS can do it.
  2. Sharing on multiple computers: VCSes are designed in a way to help multiple people interactively edit the text files. This makes sharing between multiple computers easy. 
  3. Version control and branching: Say you have published some class notes as a pdf and want to fix some more typos in them while concurrently working on the notes for the next year. No problem. You only have to fix the typos once, then VCS will combine them to the other versions.

25. Differentiate between bare repository and Git repository?

A bare Git repository can be defined as a  repository that is created without a Working Tree. You don’t have to work right inside the remote repository, so there is no concept of a Working Tree, just bare repository data.

A Git repository is a. git/ folder inside the project. This repository helps us to track all the changes that are made to files in the project. This builds a history over time. This means, if you delete a. git/ folder, then you also delete the project’s history.

26. What is a Puppet in DevOps?

Puppet can be defined as an open-source software configuration management and deployment tool. It is usually used on Linux and Windows to pull strings on various application servers at a time. 

27. Name the CLI command that is used to rename files?

Git mv is the CLI command used to rename files.

28. What is Build?

W.R.T software development, the build, refers to the process of converting files and other assets under the responsibility of a developer into the software product in its final form.

29. Differentiate between Git Fetch and Git Pull?

Git FetchGit Pull
It is a command that tells your local git to fetch the latest meta-data info from the original.It brings the changes from the remote repository.
It only downloads new data from a remote repositoryIt updates the current HEAD branch with the new changes from the remote server
It does  not integrate any new data into the working filesIt downloads new data and integrates them  with the current working files

30. Define two-factor authentication?

Two-factor authentication is a security technique where the user has to provide two different authentication factors to verify them.

DevOps Interview Questions and Answers

31. Define Git Stash? 

Git Stash

Consider a scenario where you want to switch branches, but you are working on the incomplete part of your project. You do not want to commit to the half-done work. Git stashing allows us to do so. The git stash command allows us to commit the current branch without switching branches.

The above figure demonstrates the properties and role of stashing.

Git temporarily saves the data safely without committing. Stashing takes the messy state of the working directory and merge conflict and temporarily saves it for future use.

32. Define the term Canary Release?

Canary release is a process of reducing the risk of introducing the new software version in the production by slowly rolling the changes to a small subset of users before rolling it out to the whole infrastructure and making it available to everyone.

33. What is branching in Git?

Branching is a feature that is available in modern version control systems. Instead of copying the files from the directory to the other directory, Git usually stores a branch as a reference to a commit. Here, a branch defines the tip of a series of commits (it’s not a container for commits).

34. What is Vagrant?

A vagrant can be defined as a tool for building and managing virtual machine environments in one single workflow. Vagrant lowers the development environment setup time and increases production parity.

35. Differentiate between Git Merge and Git Rebase? 

Git MergeGit Rebase
It doesn’t rewrite commit history.It rewrites commit history.
It applies all unique commits from the branch.It gets all unique commits from both the branches and applies them one after another.

36. How can merge conflict be resolved in Git?

A merge conflict can be defined as an event that takes place when Git is not able to resolve differences in code between the two commits automatically.

Git will merge the changes automatically when the commits are on various lines or branches.

To resolve merge conflicts, follow the given steps:

  1. Open the Git Bash.
  2. Traverse into the local Git repository that has the merge conflict.
  3. Generate a list of files that are affected by the merge conflict. 
  4. Open text editor, like Atom, and navigate to the file that has the merge conflicts.
  5. To see the starting point of the merge conflict, search the file for conflict marker <<<<<<<. When you open the file in the text editor, you will notice the changes from the HEAD or the base branch after the line <<<<<<<Head. Then, you will see =======, which divides your changes from the other branch changes, followed by >>>>>>> BRANCH-NAME.
  6. Then take a decision either to keep only your branch’s changes or to keep only the other branch’s changes, which can incorporate changes from both branches. Now, you can delete the conflict markers <<<<<<<, =======, >>>>>>> and make the necessary changes that you want in the final merge.
  7. Stage your changes.
  8. At last, commit your changes with a comment.

37. Name the command that can find a list of files that have been changed in a particular commit?

Git diff-tree –r {commit hash} is the command that can find the list of files that have been changed.

38. Explain how Infrastructure code is executed in AWS?

Infrastructure as Code solves the old problems like setting up and configuring  IT resources that were a manual and error-prone process. Today we are able to define a configuration file and spin up the IT resources consistently, automatically, and predictably from that file.

On AWS, the CloudFormation service is providing the Infrastructure as Code capabilities. CloudFormation makes use of templates and configuration files that are defined in JSON or YAML format, which are in human-readable format and can be easily edited, which later you can use to specify the resources you want to set up.

See also  Top 100 MySQL Interview Questions And Answers

39. What is Chef?

Chef can be defined as a configuration management technology that is used to automate infrastructure provisioning. It was developed on the basis of Ruby DSL language. In DevOps, we make use of Chef to deploy and manage the servers and the applications in-house and on the cloud.

40. Can you explain the Master-Slave architecture of Jenkins? 

Master-Slave architecture of Jenkins

Jenkins makes use of  Master-Slave architecture to manage the distributed builds. In this  Jenkins architecture, Master and Slave communicate via TCP/IP protocol.

Jenkins Master

The main Jenkins server is the Master. The Master has the following mentioned jobs to handle:

  1. It Schedules the build jobs.
  2. It will Dispatch builds to the slaves for actual execution.
  3. It will monitor the slaves both online and offline as required.
  4. It Records and presents the build results.
  5. A Master instance of Jenkins can execute the build jobs directly.

Jenkins Slave

A Slave can be defined as a Java executable that will run on a remote machine. 

The characteristics of Jenkins Slaves are:

  1. It receives requests from the Jenkins master instance.
  2. Slaves can run on a different operating system.
  3. The main purpose of a Slave is to do the tasks they have been told to, which includes executing the build jobs that are dispatched by the Master.
  4. We can configure a project to run on a particular Slave machine, or simply we can let Jenkins pick the available Slave.

DevOps Interview Questions and Answers

41. Mention the DevOps Prerequisites?

  1. Containers Understanding.
  2. You have to understand the DevOps Tools and Technologies.
  3. One should have knowledge of Scripting Languages. 
  4. You should get DevOps Training and Certification. 
  5. Good knowledge of Automation Tools. 
  6. Hands-on testing. 
  7. Excellent communication and collaboration skills
  8. Sound knowledge of networking fundamentals.

42. Define Jenkinsfile?

A Jenkinsfile can be defined as a text file that consists of the definition of a Jenkins Pipeline and is checked into the source control. It assumes that there is already a source control repository that has been set up for the project, and a Pipeline has already been defined in Jenkins.

43. Name some major network monitoring tools?

Some major network monitoring tools are:

  1. Icinga 2
  2. Wireshark
  3. Nagios
  4. OpenNMS
  5. Splunk

44.Define the key aspects of the Jenkins pipeline?

The following concepts are the key aspects:

Pipeline: It is a user-defined model of a CD pipeline. The  Pipeline’s code defines the whole build process, which includes stages for building the application, testing, and then delivering.

Node: It is a machine that is part of the Jenkins environment that is capable of executing a Pipeline.

Stage: It defines a conceptually distinct subset of tasks performed through the entire Pipeline like “Build,” “Test,” and “Deploy” stages and is used by multiple plugins to visualize Jenkins Pipeline status.

Step: A single task, basically, a step, tells Jenkins what to do at a specific point in time. 

45. Explain steps to enable startup login sound in Ubuntu?

To enable startup sound in Ubuntu, follows the steps:

  1. Launch the Startup Application utility from the Dashboard.
  2. Next, click Add to add the new startup program and:

Fill in the Name and Comment boxes.

  1. To play any other .ogg, .oga,  sound at login, you can make use of the paplay command in the Command box.

46.  Name the two types of pipelines in Jenkins?

Scripted Pipeline: It is mainly based on Groovy script as their Domain Specific Language. One or multiple node blocks do the core work throughout the whole pipeline.

Declarative Pipeline: It provides a basic and friendly syntax to define the pipeline. Where the pipeline block specifies the work done throughout the pipeline

47.  How to get the current color of the current screen on the Ubuntu desktop?

You have to open the background image in the Gimp image editor and use the dropper tool to select the color you want on a specific point. It gives the RGB value of the color at that specified point.

48. How to create a backup in Jenkins?

Jenkins has a backup plugin that can be used to back up configuration settings related to Jenkins. 

Follow the steps given below to have a backup:

  1. Click on Manage Jenkins and click the ‘Manage Plugins’ option.
  2.  In the Available tab, look for ‘Backup Plugin.’ Click  Install without Restart. and restart the Jenkins instance
  3. Now go to Manage Jenkins and scroll down to see the ‘Backup Manager Option. Click on it.
  4.  Click on Setup.
  5.  Here, the important field to define is to name the directory for your backup. Make sure it’s on the different drive where your Jenkins instance is set up. Next, click on the Save button.
  6. Click on  ‘Backup Hudson configuration’ from the Backup manager screen to start the backup.

49.  Define Memcached?

Memcached is a general-purpose distributed memory caching system. It is mainly used to increase the speed of dynamic database-driven websites by caching the data and the objects in RAM so that it reduces the number of times an external data source must be read.

50. Can you name three security mechanisms Jenkins uses to authenticate users?

  1. Jenkins makes use of an internal database to store user data and credentials.
  2. Jenkins uses the Lightweight Directory Access Protocol server to authenticate users. 
  3. Jenkins configures to engage the authentication mechanism that the deployed application server uses.

DevOps Interview Questions and Answers

51. Mention some benefits of Memcached?

  1. Sub-millisecond response times: it keeps its data in the server’s main memory; they don’t have to make repeated round trips to disk. 
  2. Simplicity and ease of use: It  designed in a simple and generic manner, making it powerful and easy to use in any application development
  3. Scalability: Its distributed and multithreaded architecture makes it easy to scale
  4. Community: It is an open-source project supported by a vibrant community.

52. How to restart Jenkins manually using commands?

  1. (Jenkins_url)/restart: It restarts forcefully without waiting for builds to complete. 
  2. (Jenkins_url)/safe restart: It allows all running builds to complete before it restarts   

53.  Can you share a single instance of a Memcache between multiple projects?

Yes, we can share a single instance of Memcached between various projects. Memcache is a memory storage area, and you can run Memcache multiple servers.  So, we can run different Memcache processes on the same host, and they are completely independent.

54. Name the different exceptions in Selenium WebDriver?

An exception can be defined as an error that happens at the time of program execution.

A few of the exceptions in Selenium webdriver are:

  1. WebDriverException: Here, webdriver  acts immediately after ‘closing’ the browser
  2. TimeoutException: Here, the command did not complete in the given time. For example, the element did not display at the given time. This is encountered when working with waits.
  3. SessionNotFoundException: Here, the webdriver  acts immediately after ‘quitting’ the browser
  4. NoSuchWindowException: Webdriver is switching to an invalid window, which is not available.
  5. NoSuchFrameException: Webdriver tries to switch to an invalid frame, which is not available.
  6. ElementNotSelectableException: An element is disabled, i.e., can not be clicked or selected even if it is present in the DOM.

55. How to minimize the Memcached server outages?

  1. The code is one of the options to minimize server outages as it can change the Memcached server list with less work.
  2. When one instance fails, several others of them go down, and this puts a larger load on the database server when the lost data is reloaded because of the client’s request. 
  3. One way is to bring the instance of Memcached on to a new machine by using the lost machine’s IP address.

56. Can you test an application on an Android browser using selenium?

Selenium can test an application on the Android browser using the Android driver. You can make use of the Selendroid or the Appium framework to test the native apps, web apps in the Android browser. 

57. How to update Memcached when data changes?

We can update Memcached by:

  1. Clearing the Cache proactively
  2. Resetting the Cache

58. Name the different test types supported by Selenium?

The different types of testing are:

Functional Testing  – It is a type of black-box testing in which the test cases are based on the software specification.

Regression Testing – It helps to find new errors, regressions, etc., in various functional and non-functional areas of code after the modification. 

59. What happens to the data when the server gets shut down in Memcached?

Data stored in Memcached is deleted because the data stored in Memcached is not durable.

60. Can you tell us what the anti-patterns of DevOps are?

Some of the myths about DevOps are:

  1. DevOps is a process:
  2. Agile equals DevOps?
  3. Rebrand your ops/dev/any team as the DevOps
  4. Start a separate DevOps group.
  5. The hostile takeover
  6. DevOps is a buzzword.
  7. Sell DevOps as a silver bullet.
  8. DevOps means Developers Managing Production.
  9. DevOps is Development-driven release management.
  10. We can’t do DevOps – We are Unique.
  11. We can’t do DevOps – We have got the wrong people.
  12. Collaboration when things go pear-shaped

DevOps Interview Questions and Answers

61. Describe a few branching strategies?

  1. Feature branching: A feature branch model will keep all the changes for a specific feature inside the branch. When the features are fully tested and are validated by automated tests, the branch is then merged into the master.
  2. Release branching: Once the developed branch has got enough features for the release, we can clone that branch to form the Release branch. Creating this branch will start the next release cycle, so no new set of features can be added after this point. Only bug fixes and other release-oriented tasks should go into this branch. Once it gets ready to ship, the release will be merged into the master, and it gets tagged with a version number. And also, it should be merged back to the develop branch, which may have some progress since the release was started.
  3. Task branching: Here, each task is implemented on its own branch that includes the task key in the branch name. It becomes easy to see which code implements which task. You have to just look for the task key in the branch name.
See also  Top 100 MySQL Interview Questions And Answers

62. What is Git?

Git can be defined as an Open Source Distributed Version Control System. It provides features like branches and merges. It has a remote repository that is stored in the server and a local repository that is stored in the computer of each developer.

63. What is Git bisect?

The git bisect is a command that provides a way to speed up the bug identification process. It lets us pinpoint the problem faster. With git bisect, we can define a range of commits that you suspect have some problematic code, and then we make use of binary elimination methods to find the problem.

64. How to set up a script that runs every time a repository receives new commits through push?

We have three ways to configure the script to run each time a repository receives new commits through push.

  1. The Pre-receive hook in the destination repository gets invoked when commits are pushed towards it. Any script bound that is to this hook will be executed before any of the references are updated. It is a useful hook to run the scripts that help to enforce development policies.
  2. Update hook works in a similar fashion to that of the pre-receive hook, and it is also triggered before any updates are made. But, this update hook is called only once each time the commit has been pushed to the destination repository.
  3. The post-receive hook in the repository is called after the updates have been accepted into the defined destination repository. It is a perfect place to configure the simple deployment scripts, dispatch notification emails to repository maintainers, etc.

65. What is Continuous Integration?

Continuous integration is a practice of automating the integration of code changes from various contributors into one single software project. The version control system is also completed with other checks like automated code quality tests, and syntax style review tools, and more.

66. Explain the success factors for Continuous Integration?

  1. Automate the build
  2. Make the build self-testing
  3. Everyone commits to the baseline every day
  4. Every commit  should be built
  5. It maintains a code repository
  6. Test in a clone of the production environment
  7. Make it easy to get the latest deliverables
  8. Each and everyone can see the results of the latest build
  9. Keep the build fast
  10. Automate deployment

67. List some of the useful plugins in Jenkins?

  1. Maven 2 projects.
  2. Git.
  3. Amazon EC2.
  4. HTML publisher.
  5. Copy artifact.
  6. Join.
  7. Green Balls.

68. How to secure Jenkins?

  1. Make sure that Jenkins is integrated with the company’s user directory with the proper plugin.
  2. Ensure that matrix/Project matrix is allowed to fine-tune access.
  3. Automate the process of setting rights or privileges in Jenkins with a custom version-controlled script.
  4. Make sure global security is on.
  5. Limit the physical access to Jenkins data/folders.
  6. Make sure to Periodically run security audits.

69. Explain the benefits of Automation Testing?

  1. Faster Feedback Cycle
  2. Team Saves Time
  3. Reduced Business Expenses
  4. Higher Test Coverage
  5. Reusability of Test Suite
  6. Faster Time to Market
  7. Better Insights
  8. Improved Accuracy
  9. Automated Testing Provides More Features
  10. Less Stress on QA Team
  11. Quickly Determine the Stability of Your Build
  12. Eliminates Human Error

70. What are the key aspects of Continuous Testing tools?

  1. Risk Assessment: It mainly covers the risk mitigation tasks, technical debt,  and test coverage optimization to make sure that the build is ready to progress to the next stage.
  2. Policy Analysis: It makes sure that all processes are aligned with the organization’s growing business.
  3. Requirements Traceability: It makes sure that the true requirements are met and eliminates the rework. An object assessment identifies which requirements are at risk or require further validation.
  4. Advanced Analysis: It makes use of automation in areas like static code analysis and scope assessment/prioritization to prevent defects and accomplishing more within each iteration.
  5. Test Optimization: It makes sure that the tests yield accurate outcomes. Aspects include Test Data Management, and Test Maintenance, and Test Optimization Management.
  6. Service Virtualization: It makes sure to access the real-world testing environments.

DevOps Interview Questions and Answers

71. How to implement Automation testing in DevOps?

  1. You have to build the automation flows gradually, and you need to increase the coverage over time.
  2. You have to start by testing one thing at a time.
  3. You have to build automated test cases that are independent and self-contained.
  4. Ensure collective ownership of test automation.

72. Define Selenium IDE?

Selenium IDE, where IDE stands for Integrated Development Environment, is mainly a record/run tool that is used by a  test case developer to develop the Selenium Test cases. Selenium IDE is a very easy-to-use tool from the Selenium Test Suite, and it can also be used by someone who is new to developing automated test cases for their web applications.

73. Differentiate between Asset Management and Configuration Management?

Asset ManagementConfiguration Management
It is related to finance.It is related to operations.
It maintains data for taxes.It maintains data for troubleshooting.
The lifecycle includes from purchase to disposal.The lifecycle includes from deployment to retirement.

74. Define Puppet Manifests?

A manifest can be defined as a  file that contains Puppet configuration language that describes how the resources should be configured. The manifest is one of the closest things to what one might consider a Puppet program. It declares the resources that define the state to be enforced on a node.

75. Define a resource in Chef?

Chef resource indicates a piece of the operating system at its desired state. It is a statement of configuration policy that specifies the desired state of the node to which you want to take the current configuration to use resource providers.

76. Define recipe in Chef?

Recipes work as a collection of resources that can determine the configuration or policy of that node, with resources as a configuration element of the recipe. For a node to run a recipe, it has to be on that node’s run list.

77. Define  Ansible module?

A module is a reusable, single script that runs on your behalf, either locally or remotely. Modules interact with the local machine, an API, or a remote system to perform certain tasks like changing database passwords or spinning up a cloud instance.

78. What is Nagios?

Nagios is mainly used for the Continuous monitoring of systems, services, applications, and business processes, etc., in the  DevOps culture. Nagios basically run on a server, as a daemon or a service. It also periodically runs plugins that are residing on the same server. They contact hosts on the servers on the internet.

79. What are Plugins in Nagios?

Plugins are single extensions to Nagios Core that can make it possible to monitor anything and everything with the Core. Plugins usually process command-line arguments, perform a certain check, and then it returns the results to Nagios Core.

80. Define passive check in Nagios?

Passive checks are initiated and performed by external applications/processes, and the Passive check results are submitted to the Nagios for processing.

DevOps Interview Questions and Answers

81. Name the three main variables that affect recursion and inheritance in Nagios?

  1. Name
  2. Use
  3. Register

82. What testing type would you prefer to ensure that the new service is ready for production?

I would prefer to conduct continuous testing to ensure that the new service is ready for production.

83. Define SubGIt tool?

SubGit helps us to migrate SVN to Git. It allows us to build a writable Git mirror of a remote or local  Subversion repository.

84. Why do we use SSL certificates in Chef?

  1. SSL certificates are mainly used between the Chef server and client to ensure each node has access to the right data.
  2. Every and every node has a private and public key pair. The public key is usually stored at the Chef server.
  3. When we SSL certificate to the server, it contains the private key of the node.
  4. The server then compares this against the public key to identify the node and give the node access to the specified data.

85. Name the command that is used to stop or disable the ‘httpd’ service when the system boots?

systemctl disable httpd.service

86. Define class in Puppet?

Classes in Puppet are named blocks of Puppet code that are usually stored in modules and are applied later when they are called by name. We can add classes to a node’s catalog by declaring them in your manifests or by assigning them from an external node classifier (ENC).

87. List the best way to make content reusable or redistributable?

We have  three ways to make content reusable/redistributable in Ansible:

  1. Roles are mainly used to managing tasks in a playbook. They can be easily shared through Ansible Galaxy.
  2. We use “include”  to add a submodule or another file to the playbook. This means a code that is written once can be added to multiple playbooks.
  3. “import” is an improvement of the “include,” which makes sure that a file is added only once. This is helpful when the line is run recursively.

88. Explain State Stalking in Nagios?

It is mainly used for logging purposes. When Stalking is allowed for a specific host or service, Nagios will watch that specified host or service carefully and logs any changes it sees in the output of the check results.

89. List some important features of Memcached?

  1. CAS Tokens: It is attached to an object that is retrieved from a cache. You can use that token to save the updated object.
  2. Callbacks: It simplifies the code
  3. getDelayed: It is used to reduce the delay time of the script, which is waiting for the results to come back from a server
  4. Binary protocol: We can use binary protocol instead of ASCII with the new client
  5. Igbinary: Earlier, a client used to do serialization of the value with the complex data, but with Memcached, we can use the igbinary option.

90.  Define Dogpile effect?

The Dogpile effect can be referred to as an event when a cache expires, and the websites are hit by the multiple requests that are made by the client at the same time. This effect is prevented by using a semaphore lock. Here, In this system, when the value expires, the first process gets the lock and starts generating new values.

DevOps Interview Questions and Answers

91. Define the architecture of Docker?

  1. Docker uses the client-server architecture.
  2. Docker Client is usually a service that runs the command. The command gets translated using REST API and is sent to the Docker Daemon server. 
  3. Docker Daemon then accepts the request, and it interacts with the operating system to build the Docker images and run the  Docker containers.
  4. A Docker image is defined as a template of instructions used to create containers.
  5. Docker container is the executable package of an application and its dependencies together.
  6. Docker registry is the service to host and distribute Docker images among the users.

92. What are the Containers?

Containers are a form of lightweight virtualization that offers isolation among processes.

93. Name the tools which are used for docker networking?

  1. Flannel
  2. Project Calico
  3. Weave Net
  4. Canal
  5. Big Switch Networks

94.  What is CBD?

Component-Based Development(CBD) is a unique way of approaching product development. Here, developers always look for already existed well defined, tested, and verified components to compose and assemble them to a product instead of developing it from scratch.

95. Name the areas where DevOps are implemented?

  1. Production
  2. Software development
  3. IT Operations
  4. Production feedback

96. Define Resilience Test?

Software resilience testing can be defined as a method of software testing that focuses on ensuring that applications will perform well in real-life or chaotic conditions. Since failures can never be avoided, resilience testing ensures that software can continue performing core functions and avoid data loss even when under stress.

97. What is the Selenium grid?

Selenium Grid can be defined as a smart proxy server that makes it easy to run the tests in parallel on multiple machines.

98. Explain the purpose of AWS in DevOps?

AWS helps us use automation so that you can build faster and more efficiently. Using AWS services, we can automate the manual tasks or processes like deployments, development and test workflows, configuration management.

99. What is Selenium?

Selenium is an open-source framework for testing web applications. Selenium provides the playback tool for authoring functional tests without learning a test scripting language.

100. Define Nagios Remote Plugin executor?

NRPE allows us to remotely execute the Nagios plugins on other Linux/Unix machines. This allows us to monitor remote machine metrics.

Good luck with your DevOps Interview. You can also check out our Informatica Interview Questions and Machine Learning Interview Questions which might be of some help to you.

Recommended Articles