32 interview questions for excellent DevOps engineers (1)

Source: Internet
Author: User
Keywords devops engineer interview questions devops interview questions and answers cloud devops interview questions devops architect interview questions

This article introduces DevOps engineers to 32 basic interview questions and answers to help you get a satisfactory offer through the interview.

01 Can you tell us the fundamental difference between DevOps and Agile?
A: Although DevOps has some similarities with the agile method (which is one of the most popular SDLC [Software Development Life Cycle] methods), both are fundamentally different methods in software development. Here are the basic differences between the two:

Agile method Agile method is suitable for development in agile and agile method is suitable for development and operation in DevOps.
Practices and processes Agile involves practices such as Agile Scrum and Agile Kanban, while DevOps involves processes such as CD (Continuous Delivery), CI (Continuous Integration), and CT (Continuous Testing).
Priority Agile gives priority to timeliness, while DevOps gives priority to timeliness and quality.
Release cycle DevOps provides a smaller release cycle and provides immediate feedback, while Agile only provides a smaller release cycle without immediate feedback.
Feedback sources Agile relies on customer feedback, and DevOps involves feedback from itself (monitoring tools).
Scope of work For agile, the scope of work is only agile, and for DevOps, this is the need for agility and automation.

02 Why do we need DevOps?
A: Today, many organizations or enterprises are trying to deliver small features to customers through a series of releases, rather than releasing a large feature set. There are several benefits to doing this, including better software quality and fast customer feedback. All of these benefits lead to higher customer satisfaction, which is the most important goal of any product development project. For this, the company needs:

Increase deployment frequency
Reduce repair time
Reduce the failure rate of the new version
In case the new version crashes, please have a faster average recovery time
DevOps helps meet all of these requirements, thereby enabling seamless software delivery. Mature organizations like Amazon, Etsy, and Google have adopted the DevOps approach to achieve previously unknown levels of performance. By adopting the DevOps approach, organizations can complete tens of thousands of deployments in one day. In addition, this can provide first-class reliability, security and stability.

03 What are the important business and technical advantages of using DevOps?
A: DevOps brings many business and technical advantages to this watch. Some of the most important parameters are listed below:

Commercial interests:

Enhanced operating environment stability
Deliver functions faster
More time to add value to products
Technical advantages:

Continuous software delivery
Solve problems faster
Smaller complex problems
04 Can you list some of the most commonly used DevOps tools?
A: The following is a list of some of the most widely used DevOps tools:

Ansible/Puppet/chef/saltstack-configuration management and application deployment tool
Docker-containerization tool
Git/Gitlab-Version Control System (VCS) tool
Jenkins-Continuous Integration (CI) tool
Nexus-product library management tool
Jira-Agile team collaboration tool
wiki-document management tool
Promtheus-continuous monitoring tool
Selenium/jmeter – continuous testing (CT) tool

05 What is the purpose of Selenium?

Answer: Selenium is used for continuous testing in DevOps. This tool specializes in functional and regression testing.

06 What do you know about Puppet in DevOps?
Answer: This is a configuration management tool for automating management tasks. Puppet utilizes a master-slave structure, where two entities communicate through an encrypted channel. System administrators need to perform many repetitive tasks, especially installing and configuring servers. Writing scripts to automate such tasks is an option, but when the infrastructure is large, the operations performed become tedious and repetitive. For this reason, configuration management is a good solution.

Puppet helps configure, deploy, and manage servers. This not only makes such redundant tasks easier, but also saves a large part of the total work time. Mature configuration management tools:

Continuously check whether the configuration required by the host is in place. If changed, the configuration will be restored automatically
Define different configurations for each host
Dynamically zoom the machine (up and down zoom)
Provides control of all configured computers so that centralized changes can be automatically propagated to all these computers

07 What do you know about the anti-pattern of DevOps?
A: If the DevOps model commonly used by other organizations does not work in a specific environment, and the organization continues to use it, it will lead to an anti-pattern. In other words, the anti-pattern is a myth about DevOps. Some famous anti-patterns are:
An organization needs to have a separate DevOps group

Agility equals DevOps
DevOps is a process
DevOps is development-driven release management
Because the organization is unique and unique, DevOps is not possible
We can't do DevOps because we are already very good
DevOps means developers manage production
DevOps will solve all problems
Unable to include all aspects of the organization in the ongoing DevOps transition
KPI is not defined at the beginning of DevOps transition
Reduce isolation from other organizations with a new DevOps team

08 DevOps has something called CI. What is it and what is its purpose?
A: CI in DevOps stands for continuous integration. CI is a development practice where developers can integrate code into a shared repository multiple times a day.
Continuous integration of development and testing improves the quality of the software and reduces the total time required for delivery.

If a team member who checks the code encounters a compilation failure, the developer will terminate the build. If developers do not introduce compilation errors into their workspaces, then other development members cannot synchronize with the shared source code repository.
This disrupts the collaborative and shared development process. Therefore, once the configuration item construction is interrupted, it is important to immediately identify and correct the problem.
Typically, the continuous integration (CI) process includes a set of unit, integration, and regression tests, which are run each time the compilation is successful. If any of the above tests fail, the CI build will be considered unstable (this is common in agile sprints because development is in progress), and it has not been broken.

09 We often hear DevOps move to the left. What is it?

A: The traditional software development life cycle drawn on paper has two sides. The left side of the diagram includes design and development, while the right side includes the production stage, stress testing and user acceptance. Moving to the left in DevOps only means that as many tasks as possible need to be performed on the right, which usually happens at the end of the application development process and is included in the early stages of the DevOps approach. There are several ways to complete the operations in DevOps, the most notable are:
At the end of each agile sprint, create a production-ready file (product file)

Includes static code analysis program in every version
The correct level of DevOps execution depends directly on the degree of left shift as much as possible.

10 What does CAMS in DevOps stand for?
Answer: The acronym CAMS is often used to describe the core tenets of the DevOps methodology. It stands for:

Culture
Automation Automation
Measurement
Sharing

11 What are the KPIs used to evaluate the success of DevOps?

Answer: kpi is a short form of key performance indicators. To measure the success of the DevOps process, several kpis can be used. Among the most popular are:

Application performance
Application usage and traffic
Automatic test pass rate
Usability
Changes in body mass
Customer's Work Order
Defect escape rate
Deployment frequency
Deployment time
Error rate
Number of deployment failures
Load time
Mean time to failure detection (MTTD)
Mean time to failure (MTTR)

12 What do you think are the main benefits of implementing DevOps automation?

A: The following are the main benefits of automating DevOps:

Eliminate the possibility of human error from the CD equation (core benefit)
As tasks become more predictable and repeatable, once a problem occurs, it is easy to identify and correct. Therefore, it produces a more reliable and robust system
Remove the bottleneck from the CI pipeline. This leads to increased deployment frequency and reduced number of failed deployments. They are all important DevOps KPIs

13 What do you know about containers?

A: Containers are a form of lightweight virtualization that helps provide isolation between processes. The container is heavier than chroot, but lighter than the hypervisor.

14 What do you know about the version control system (VCS)? Define its purpose.
Answer: A version control system or VCS is a system that can record changes made to a file or a group of files over a period of time. Git and Mercurial are the two most popular version control systems. The important uses of VCS are:

Check what was the last modification that caused the problem
Compare changes over time
Identify who asked new questions at what time
Restore one or more files to an earlier state
Restore the entire project to its previous state

15 What is a post mortem meeting?
Reference answer: At this meeting, we discussed what went wrong and what steps should be taken so that failure would not happen again. The post-mortem analysis meeting is not to find the crux of the problem, but to prevent similar work from happening again. It is a similar management method to the problem management in ITIL. And the new design infrastructure should be re-planned to minimize downtime. If mistakes cannot be avoided, then we should learn from the mistakes to submit to the overall quality management of IT.

16 Comparison between asset management and configuration management.
A: The process of monitoring and maintaining something valuable to an entity or group is called asset management. Configuration management refers to the process of controlling, identifying, planning, and verifying configuration items in services to support change management.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.