【9】进大厂必须掌握的面试题-DevOps面试

Q1。DevOps和Agile之间的根本区别是什么?

下表中列出了两者之间的差异。

特征 DevOps--开发运维 Agile--敏捷
敏捷   开发和运营中的敏捷性   只有发展才能敏捷  
流程/实践   涉及CI,CD,CT等流程。   涉及诸如敏捷Scrum,敏捷看板等实践。  
时效与质量   时效与质量同等重要   及时是重中之重  
发布周期/开发周期   释放周期短,可立即获得反馈   释放周期更短  
反馈来源   反馈来自自我(监视工具)   反馈来自客户  
工作范围   敏捷性与自动化需求   仅敏捷  
Q2。DevOps有什么需求?

这个答案应该从解释总体市场趋势开始。公司没有发布大量功能,而是尝试查看是否可以通过一系列发布系列将小的功能传输给客户。这具有许多优点,例如来自客户的快速反馈,更好的软件质量等,从而导致很高的客户满意度。为此,公司必须

增加部署频率

降低新版本的失败率

缩短了两次版本之间的交付时间

新版本崩溃时平均恢复时间更快

DevOps满足所有这些要求,并有助于实现无缝的软件交付。您可以举一些像Etsy,ali,Google和Amazon这样的公司的例子,这些公司采用DevOps来达到甚至五年前都无法想象的性能水平。他们每天进行数十,数百甚至数千个代码部署,同时提供世界一流的稳定性,可靠性和安全性。

Q3。DevOps与Agile / SDLC有何不同?

我建议您遵循以下说明:

敏捷是关于如何生产(即开发软件)的一套价值观和原则。示例:如果您有一些想法,并且想要将这些想法变成可行的软件,则可以使用敏捷的价值观和原则来做到这一点。但是,该软件可能只能在开发人员的笔记本电脑或测试环境中运行。您需要一种以安全,简单的方式快速,轻松且可重复地将软件迁移到生产基础架构中的方法。为此,您需要DevOps工具和技术。

可以这样概括地说,敏捷软件开发方法论着重于软件开发,但另一方面,DevOps负责以最安全,最可靠的方式进行软件的开发和部署。

Q4。有哪些顶级DevOps工具?您使用了哪些工具?

以下是最受欢迎的DevOps工具:

Git:版本控制系统工具

Jenkins:持续集成工具

Selenium :连续测试工具

Puppet, Chef, Ansible:配置管理和部署工具

Nagios:连续监视工具

Docker:容器化工具

您还可以根据需要提及其他任何工具,但请确保在回答中包括上述工具。
答案的第二部分有两种可能性:

如果您具有上述所有工具的经验,那么您可以说我已经在所有这些工具上工作,以开发高质量的软件并轻松,频繁且可靠地部署这些软件。

如果您仅对上述某些工具有经验,请提及这些工具,并说我对这些工具有专长,并对其余工具进行了概述。

Q5。所有这些工具如何一起工作?

下面给出的是通用逻辑流程,其中所有内容均实现了自动化以实现无缝交付。但是,根据需求,每个组织的流程可能会有所不同。

开发人员开发代码,此源代码由版本控制系统工具(如Git等)管理。

开发人员将此代码发送到Git存储库,并且对代码所做的任何更改都将提交到此存储库。

Jenkins使用Git插件从存储库中提取此代码,并使用Ant或Maven之类的工具进行构建。

诸如puppet之类的配置管理工具会部署并配置测试环境,然后Jenkins在测试环境中发布此代码,并使用硒等工具在此环境中进行测试。

一旦测试了代码,Jenkins便将其发送以在生产服务器上进行部署(甚至生产服务器也由puppet之类的工具提供和维护)。

部署后,它会被Nagios等工具持续监控。

Docker容器提供了测试环境以测试构建功能。

devops工具-devops面试问题

Q6。DevOps有哪些优势?

技术优势:

持续交付软件

不太复杂的问题需要解决

更快地解决问题

商业利益:

更快地交付功能

更稳定的操作环境

更多时间可用于增加价值(而不是修复/维护)

Q7。DevOps帮助我们实现的最重要的事情是什么?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgwww.html