当前位置:网站首页>30 Devops interview questions and answers

30 Devops interview questions and answers

2022-07-01 14:17:00 TAOXC( ̿ ▀ ̿   ̿Ĺ̯̿̿ ▀ ̿ ̿

If you are looking for devOps Work , Then you are making good career decisions , Because it is now a highly paid and demanding job . In this paper , We will introduce what you may expect from the interviewer DevOps Interview questions . Many problems , We can't list them all , But after reading this article , You should have a better understanding of the problems waiting for you and what you should prepare .

Basic questions

1)  Development and operation ! How can you define it in your words ?

It is used by software developers and IT operating / Efficient daily collaboration between network operation engineers , To generate a working system or release software .

devOps Implementation is usually consistent with agile methods , Among them, deploying working software to production is usually the highest priority . In agile implementation , The focus is on people, not processes , therefore DevOps Engineers must be willing to work closely with agile development teams , To ensure that they have support for automated testing 、 The environment required for continuous integration and continuous delivery . In the absence of DevOps Traditional implementation of , Operations teams are usually isolated from developers , Usually work under the help desk model under the general service level agreement that the system operation team regards developers as customers . This is a validated model , Obviously it can work well , But in DevOps Environment ,

2)  Why do we need DevOps

Companies are now faced with delivering more 、 The need for faster and better applications , To meet the increasingly urgent needs of conscious users , To shorten Time to market .Devops Usually helps with rapid deployment .

3)  What is agile development and Scrum

Agile development is used as an alternative to waterfall development practices . In agility , The development process is more iterative and incremental , There are more tests and feedback at every stage of development , Not the last stage of the waterfall .

Scrum Used to manage complex software and product development using iterative and incremental practices .Scrum Has three roles , Product owner 、Scrum Master And team .

4)  We can DevOps As an agile method ?

Of course !DevOps It is a movement that starts with coordinated and synchronized development and production through a series of good practices . Its emergence is driven by profound changes in business needs , They want to accelerate change to be closer to the needs of business and customers .

5)  DevOps What are the responsibilities of engineers in agile development ?

DevOps Engineers work closely with agile development teams , To ensure that they have support for automated testing 、 The environment required for continuous integration and continuous delivery .DevOps Engineers must maintain continuous contact with developers , And make all necessary parts of the environment work seamlessly .

Technical problems

6)  What is a container ? 

Containers are a form of lightweight virtualization , Than chroot heavy , But lighter than the hypervisor . They provide isolation between processes when using the same kernel as the host , And provide cgroups function . But there are differences between container formats , Some formats offer more similar VM Experience , Others simply container applications .

LXC Containers are most like virtual machines , The heaviest , and Docker It used to be lighter , Originally designed for a single application container . But in the latest version ,Docker The containerization function of the whole machine is introduced , So now Docker It can be used in both directions . And from CoreOS Of rkt And from the Canonical Of LXD, It is based on LXC above .

7)  What is? Kubernetes? explain

It is from Google Large scale extensible tools for managing containers . It is used internally for large deployments , Therefore, it may be the best choice for container production . It supports self-healing by repeating non responsive containers , It packs containers in a less resource intensive manner and has many other excellent functions .

8)  CI( Continuous integration ) What is the function of the server ? 

CI The server function is to continuously integrate all changes made by different developers, submit them to the repository and check for compilation errors . It needs to build code many times a day , It's best after every submission , In this way, it can detect which submission caused the damage , If damage occurs .

Be careful : Other available and popular CI The tool is JenkinsTeamCityCircleCIHudsonBuildbot etc.

9)  What is continuous delivery ?

It's in CI( Continuous integration ) The practice of delivering software for testing immediately after the server is built ? It requires extensive use of version control systems , So that developers and testers can always use .

10) What is? Vagrant, What is its purpose ?

Vagrant It is a kind of virtualization that can create and manage software for testing and development ( Or containerization ) Tools for the environment . At first ,Vagrant Use virtualbox As a hypervisor of virtual environment , But now it also supports KVM.

11  Have you ever used any scripting language ? 

In terms of scripting language , The simpler, the better . in fact , The language itself is not like understanding design patterns and development paradigms ( Such as the program 、 Object oriented or functional programming ) So important .

at present , There are several scripting languages available , So there is a problem : Best fit DevOps What is the language of the method ? Simply speaking , It depends on the context of the project and the tools used , for example Ansible Whether it is used in Python Good knowledge of , And whether it applies to Chef Whether to use Ruby.

12)  Configuration management tools are in devops What is the role of ?

Automation plays a crucial role in server configuration management . So , We use CM Tools , They store information about versions and builds of software and test pieces , And provide traceability between software and test pieces .

13)  CM What is the purpose of the tool ? Which one do you use ?

The purpose of configuration management tools is to automatically deploy and configure software on a large number of servers . majority CM Tools usually use a proxy architecture , This means that every managed machine needs to install agents . My favorite tool is the one that uses agent-free architecture ——Ansible. It just needs SSH and Python. If you use the original module , You don't even need to Python, Because it can run the original bash command . Other available and popular CM The tool is PuppetChefSaltStack.

14)  What is? OpenStack

OpenStack It is often called cloud operating system , This is not far from the fact . It is deployment IaaS Complete environment , Allows you to create something like AWS Own cloud . It is highly modular , It consists of many sub projects , So you can choose the function you want .OpenStack The distribution is available from Red HatMirantisHPEOracleCanonical And many other companies get . It is a completely open source project , But some vendors have made proprietary distributions .

15)  Classify cloud platforms ?

Cloud computing software can be divided into software as a service or SaaS、 Infrastructure is service or IaaS And platform as a service or PaaS.

SaaS It is the software running on the remote server through the network , Only the user interface is exposed to the user , Usually in Web Browser . for example salesforce.com.

Infrastructure as a service is a cloud environment , It will VM Exposed to users for use as an entire operating system or container , You can install anything you want on the server . for example OpenStackAWSEucalyptus.
PaaS Allow users to deploy their own applications on the pre installed platform , It is usually the application server framework and the developer tool suite . An example of this is OpenShHeroku.

16)  What is the easiest way to build a small cloud ?

VMfest Yes, immediately from VirtualBox Virtual machine creation IaaS One of the cloud options . If you want a lightweight PaaS, have access to Dokku, It's basically a bash Script , It makes PaaS Divorced from Dokku Containers .

17)  What is? AWS( Amazon Web Services )? Have the opportunity to work on Amazon tools ?

AWS It provides a set of flexible services , It aims to enable the company to use AWS and DevOps Practice creating and delivering products with faster speed and reliability . These services simplify debugging and infrastructure management 、 Application code deployment 、 Automate the software release process and monitor the performance of applications and infrastructure .Amazon Used AWS CodeCommitAWS CodeDeployAWS CodePipeline Tools such as , These tools help simplify development operations .

18)  What is? EC2

Amazon EC2 Container Service (ECS) It is a highly scalable container management service and high performance , It supports Docker Container and allows you to use it by Amazon EC2 Easily run applications on an instance managed cluster .

EC2 Service is inseparable Amazon Machine Image-AMI The concept of .May It's really an image of a virtual machine that will be executed .EC2 be based on XEN virtualization , That's why will XEN Server migration to EC2 Very easy reason .

19)  You find using NoSQL Database is better than RDBMS What are the advantages ?

Typical Web Applications are built using a three-tier architecture . To carry the load , Just add more after the load balancer Web Server to support more users . The ability to scale horizontally is a key principle in Cloud Computing , You can easily add or delete VM Examples to meet requirements become more and more important .

however , In the data layer , relational database (RDBMS) It is not allowed to lead to simple scale , Nor does it provide a flexible data model . Managing more users means adding more servers , Large servers are very complex , Owners and costs are disproportionately high , This is related to low-cost hardware 、 Commodity hardware 、 The architecture in the cloud is in sharp contrast . Organizations are beginning to find performance problems with relational databases for existing or new applications . Especially as the number of users increases , They realize the need to be faster 、 A more flexible foundation . Now is the time to evaluate and adopt NoSQL It's time for the database , Just like in their Web Same in application .

20)  NoSQL The main SQL What are the difficulties of migration ?

According to the schema, each record in the relational database - Have a fixed number of fields ( Column ), Each field ( Column ) With the specified object and data type . Every record is the same . The data is denormalized in several tables . The advantage is that there is less duplicate data in the database . The downside is that changes in the schema mean multiple Change table , This requires expensive locking multiple tables at the same time to ensure that changes do not leave the database in an inconsistent state .

On the other hand , For database data , Each document can have a completely different structure from other documents . No additional management of the database is required to manage changes in the scheme .

21)  NoSQL What are the benefits of database documentation ?

The main advantages of document databases are as follows :

  • Flexible data model data can be inserted without defining a schema , The inserted data format can be changed at any time , Provide great flexibility , Ultimately, it brings significant agility to the business .
  • Agreement 、 High performance advanced NoSQL Database technology is transparently putting cached data into system memory ; Completely transparent behavior to developers and the team responsible for operation .
  • Some easy to expand NoSQL The database automatically propagates data between servers , No application involvement is required . You can add and remove servers without interrupting applications , Data and I/O Distributed on multiple servers .

22)  Git be relative to CVS What are the main advantages of ?

The biggest advantage is Git It's distributed , and CVS It's centralized .CVS The changes in are specific to each file , and Git Changes in ( Submit ) It always refers to the whole project .Git The tools provided are better than CVS A lot more .

23)  The difference between containers and virtual machines ?

Every VM Instantiation requires starting a complete operating system . Virtual machines occupy a lot of system resources . This will soon add a lot RAM and CPU cycle . Container host uses linux The process and file system isolation feature of the kernel .

24)  What is? CoreOS, What alternatives are there ?

CoreOS Is a compact for running containers Linux Distribution version , It mainly has its own rkt Format , But other formats are also supported . It was originally based on ChromeOS And support Docker. The alternative is canonical Of ubuntu snappy or red hat Enterprises linux atomic host . Of course ,Containers It can also run in regular Linux On the system .

25)  What is? Kickstart

This is an automatic installation based on Red Hat Systematic approach . During manual installation ,Anaconda The installer will create files anaconda-ks.cfg, And then you can use system-config-kickstart The tool automatically installs the same configuration on multiple systems .

26)  What is a network monitoring tool ? List a few

for example ,NagiosIcinga 2OpenNMSSplunk and Wireshark. These tools are used to monitor network traffic 、 Network quality and detect network problems before they occur . Among those listed , Only Splunk It's proprietary , Others are open source .

27)  Juju What is it? ?

Juju Is mainly used for ubuntu Orchestration tools for , Used in Ubuntu Manage on the system 、 Configuration and configuration . It started with Python Compiling , Later used Go Rewrote .

28)  Give me an example of how you will handle the project ?

As a DevOps The engineer , I'll show you right DevOps A clear understanding of the project management strategy , And work with the team to set goals 、 Simplify the workflow 、 Scope of maintenance 、 Research and introduce new tools or frameworks 、 Translate requirements into workflow and follow up . I will turn to CI、 Release management and other tools to keep interdisciplinary projects on track .

29)  What is an autopsy meeting ?

This is a meeting , We discussed what went wrong and what steps should be taken , So that failure doesn't happen again . The post analysis meeting is not to find out who should be blamed , It's about preventing further disruptions and planning to redesign the infrastructure , In order to minimize downtime . This is about learning from mistakes .

30) How much do you know about the serverless model ?

No server refers to the model that hides the existence of the server from developers . This means that you no longer need to process capacity 、 Deploy 、 Expansion and fault tolerance and operating system . It will fundamentally reduce maintenance work , And allows developers to quickly focus on developing code .

The sample is Amazon AWS Lambda and Auth0 No service platform .

Devops Example : Use Ansible Deploy application

Ansible It's a lightweight 、 Scalable solutions , For automating your application configuration .Ansible except Python and SSH There are no dependencies other than . It does not need to set up any agents on the remote host , No trace will be left after running . It allows you to create simple based on YAML Script to significantly simplify our operations . It facilitates configuration Automation 、 Deployment and orchestration .

Ansible The components of

Playbooks Ansible playbooks It is a method of sending commands to remote computers by script . You can configure the entire complex environment by passing scripts to one or more systems , Instead of using it alone Ansible The command configures the computer remotely from the command line .

Ansible playbook With YAML Data serialization format writing . If you don't know what the data serialization format is , Think of it as a programming data structure ( list 、 Array 、 Dictionary, etc ) The method of converting to a format that can be easily stored to disk . You can then use this file to recreate the structure later .JSON Is another popular data serialization format , but YAML Easier to read .

Let's take a look at one that allows us to install in multiple hosts Web Applications (nginx) The basic script of :

hosts: webservers

tasks:

- name: Installs nginx web server

apt: pkg=nginx state=installed update_cache=true

notify:

- start nginx

handlers:

- name: start nginx

service: name=nginx state=started

hosts file :( Default in /etc/ansible/hosts Next ) This is a Ansible Inventory file , It stores hosts and their to host groups ( Network server 、 Database etc. ) Mapping

[webservers]

10.0.15.22

# example of setting a host inventory by IP address.

# also demonstrates how to set per-host variables.

[repository_servers]

example-repository # Example of setting up a host by hostname . Need to be in /etc/hosts # or DNS Local search in .

[ database server ]

db01

SSH secret key : For the first run , We need to tell ansible SSH and Sudo password , Because one of the common roles is to configure no password sudo, And deploy SSH secret key . So in this case ,ansible It can be on the remote node ( host ) In the implementation of playbook Command and deploy Web Applications nginx.

Conclusion

These are some questions you may encounter in the interview , But learning DevOps Conceptual time , You should never just focus on those reading all with Linux Something related to open source , And try any software that works for you . Thank you for reading .

原网站

版权声明
本文为[TAOXC( ̿ ▀ ̿   ̿Ĺ̯̿̿ ▀ ̿ ̿]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202160013079110.html