【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容器提供了测试环境以测试构建功能。

Q6。DevOps有哪些优势?
技术优势:
- 持续交付软件
- 不太复杂的问题需要解决
- 更快地解决问题
商业利益:
- 更快地交付功能
- 更稳定的操作环境
- 更多时间可用于增加价值(而不是修复/维护)
Q7。DevOps帮助我们实现的最重要的事情是什么?
据我说,DevOps帮助我们实现的最重要的事情是尽快将变更投入生产,同时最大程度地降低软件质量保证和合规性方面的风险。但是,您可以添加DevOps的许多其他积极作用。例如,团队之间的更清晰的沟通和更好的工作关系,即Ops团队和Dev团队共同协作以交付高质量的软件,从而提高了客户满意度。
Q8。说明可以在工业/现实生活中使用DevOps的用例。
Etsy是一个对等电子商务网站,专注于手工或老式物品和用品,以及独特的工厂制造物品。Etsy在缓慢而痛苦的网站更新中苦苦挣扎,这些更新经常导致网站崩溃。这影响了数百万Etsy用户的销售量,这些用户通过在线市场出售商品并冒着将商品推向竞争对手的风险。
在新的技术管理团队的帮助下,Etsy从其瀑布模型(该模型每周两次进行四小时的全站点部署)过渡到了更加敏捷的方法。如今,它拥有一个完全自动化的部署流程,据报道,其持续交付实践每天可进行50多次部署,中断次数更少。
Q9。在过去与您合作过的团队中,说明您在软件开发方面和技术运营方面的理解和专业知识。
DevOps工程师几乎总是在24/7关键业务在线环境中工作。我适应了随叫随到的职责,可以承担实时的实时系统职责。我成功地实现了流程自动化,以支持连续的软件部署。我对公共/私有云,Chef或Puppet等工具,使用Python和PHP等工具进行脚本编写和自动化以及在Agile中具有背景知识有丰富的经验。
Q10。DevOps的反模式是什么?
模式通常是常用的用法。如果其他人通常采用的模式对您的组织不起作用,并且您继续盲目地遵循它,那么您实际上是在采用反模式。关于DevOps的神话。其中一些包括:
- DevOps是一个过程
- 敏捷等于DevOps?
- 我们需要一个单独的DevOps组
- Devops将解决我们所有的问题
- DevOps意味着开发人员管理生产
- DevOps是开发驱动的发布管理
- DevOps不是由开发驱动的。
- DevOps不是由IT Operations驱动的。
- 我们无法做DevOps –我们是独一无二的
- 我们无法进行DevOps –我们选错了人
【9】进大厂必须掌握的面试题-DevOps面试的更多相关文章
- 【5】进大厂必须掌握的面试题-Java面试-spring
spring面试问题 Q1.什么是spring? Spring本质上是一个轻量级的集成框架,可用于用Java开发企业应用程序. Q2.命名Spring框架的不同模块. 一些重要的Spring Fram ...
- 【4】进大厂必须掌握的面试题-Java面试-jdbc
1.什么是JDBC驱动程序? JDBC驱动程序是使Java应用程序与数据库进行交互的软件组件.JDBC驱动程序有4种类型: JDBC-ODBC桥驱动程序 本机API驱动程序(部分为Java驱动程序) ...
- 【7】进大厂必须掌握的面试题-Java面试-Jsp
1. jsp的生命周期方法是什么? 方法 描述 公共无效的jspInit() 与servlet的init方法相同,仅被调用一次. 公共无效_jspService(ServletRequest requ ...
- 【8】进大厂必须掌握的面试题-Java面试-异常和线程
Q1.错误和异常有什么区别? 错误是在运行时发生的不可恢复的情况.如OutOfMemory错误.这些JVM错误无法在运行时修复.尽管可以在catch块中捕获错误,但是应用程序的执行将停止并且无法恢复. ...
- 【16】进大厂必须掌握的面试题-100个python面试
我们整理了Python面试的主要问题清单,分为7个部分: 基本面试问题 OOPS面试问题 基本的Python程序 Python库面试问题 数据分析面试题 选择题(MCQ) 基本的Python面试问题 ...
- 【17】进大厂必须掌握的面试题-50个Angular面试
我们整理了一份主要的Angular面试问题清单,分为三部分: 角度面试问题–初学者水平 角度面试问题–中级 角度面试问题–高级 初学者水平–面试问题 1.区分Angular和AngularJS. 特征 ...
- 【18】进大厂必须掌握的面试题-15个Kafka面试
1.什么是Kafka? Wikipedia将Kafka定义为"由 Scala编写的Apache软件基金会开发的开源消息代理项目 ,并且是一个分布式的发布-订阅消息系统. 特征 描述 高吞吐量 ...
- 秋招进大厂其实也就那么回事,你会这样卡进大厂的BUG吗?
在BAT这种大厂里,只要肯吃苦,技术和工资进步的速度会超出你想象,我在上海,按当前价格算,一般在大厂里干个三四年,好歹房子的首付应该能有,而且这种房子还不是太偏远太小的. 进大厂确实需要一定的实力,但 ...
- 《我想进大厂》之mysql夺命连环13问
想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里? 1. 能说下myisam 和 innodb的区别吗? myisam引擎是5.1版本之前的默认引擎,支持全文检索.压缩 ...
随机推荐
- IT行业程序开发如何
学习程序开发怎么样,由于软件开发涉及到的知识结构比较丰富,所以学习软件开发通常需要一个系统的学习过程.如果未来要想专业从事软件开发工作,那么可以按照以下步骤学习软件开发技术: 第一:从计算机操作系统开 ...
- 安装模块中出现的问题:不是内部或外部命令、pip 命令不存在、Unknown or unsupported command 'install'
#cmd下python.pip不是内部或外部命令——表示环境变量没有加# path中新增1.python的安装目录# 2.python下scripts的目录 #提示 pip 命令不存在——表示环境变量 ...
- Dos拒绝服务Sockstress/TearDrop 泪滴攻击(二)
Sockstress放大攻击原理:攻击者向目标发送一个很小的流量,但是会造成产生的攻击流量是一个巨大的.成百上千倍上万倍流量被放大的一个效果,才适合作为一个拒绝服务攻击效果.(实现攻击者很小的流量打垮 ...
- [Spark]Spark、Yarn 入门
Spark在集群上的运行模式 链接: http://spark.apache.org/docs/latest/cluster-overview.html Component章节 总结: 1 Each ...
- 《Redis内存数据库》Redis数据类型和基本操作
前言 redis 有多种数据类型,兼容应用的开发. 说明 第一种数据类型:string(字符串) set key value -- 设置key和key对应的value值 get key ...
- Gradle系列之Android Gradle基础配置
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- php第七天-文件处理系统
0x01 文件系统概述 1.1文件类型 在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放. 如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须 ...
- ==、equals()、hashcode()的关系和区别
==.equals().hashcode()概念 ==:它的作用是判断两个对象的地址是不是相等.即,判断两个对象是不试同一个对象. equals():它的作用也是判断两个对象是否相等.但它一般有两种使 ...
- 有没有异常处理翻车过的,绩效还被打了C
絮叨 因为程序异常处理问题,就在前几天龙叔的服务挂了几秒钟. 完了,马上季度末打绩效,竟然在这里翻车了,心如刀绞啊. 虽然没有影响到用户体验,但是找到问题并解决掉问题是工程师日常追求之一. 作为一个优 ...
- Appium 用途和特点
Appium 是一个移动 App (手机应用)自动化工具. 手机APP 自动化有什么用? 自动化完成一些重复性的任务 比如微信客服机器人 爬虫 就是通过手机自动化爬取信息. 为什么不通过网页.HTTP ...