DevOps 代表开发和经营。 这是一种新的软件开发模式,彻底改变了软件产品的开发和散发形式。DevOps方法论着眼于提供频繁的较小降级,而不是常见的大型功能集。
IT经营受害于DevOps。 在DevOps呈现之前,IT团队依然存在一些外在的担心。 这导致IT团队面临某种程度的意外狐疑。
然而,随着DevOps的退出,这所有都产生了变动,这使IT经营部门能够与组织的其余部门共享这些问题,从而进步了透明度,并进步了IT经营部门与其余团队之间的协调性。
以下局部介绍了前20个DevOps面试问题,这些问题将为您下一次DevOps面试做筹备:
问题1: 您能通知咱们DevOps和Agile之间的基本区别吗?
答 :只管DevOps与麻利办法(这是最风行的SDLC办法之一)有一些相似之处,但两者都是软件开发的基本不同的办法。 以下是两者之间的各种根本差别:
- 麻利办法–麻利办法仅实用于麻利开发,而麻利办法则实用于DevOps中的开发和经营。
- 实际和流程–麻利波及麻利Scrum和麻利看板等实际,而DevOps波及CD(继续交付),CI(继续集成)和CT(继续测试)等流程。
- 优先级–麻利优先思考及时性,而DevOps优先思考及时性和品质。
- 公布周期– DevOps提供较小的公布周期并提供即时反馈,而Agile仅提供较小的公布周期而没有立刻反馈。
- 反馈源–麻利依赖于客户的反馈,而DevOps波及到本身(监控工具)的反馈。
- 工作范畴–对于麻利,工作范畴仅是麻利,而对于DevOps,这是麻利和对自动化的需要。
问题2: 为什么咱们须要DevOps?
答 :现在,组织正在尝试通过一系列公布形式将小性能传递给客户,而不是公布大功能集。 这样做有很多益处,包含更好的软件品质和疾速的客户反馈。
所有这些益处导致更高的客户满意度,这是任何产品开发我的项目的最重要指标。 为此,公司须要:
- 减少部署频率
- 缩短修复工夫
- 新版本的故障率更低
- 万一新版本解体,请有更快的均匀复原工夫
DevOps有助于满足所有这些要求,从而实现无缝的软件交付。 像Amazon,Etsy和Google这样的成熟组织已采纳DevOps办法,从而实现了以前未知的性能程度。
通过采纳DevOps办法,组织能够在一天之内实现数以万计的部署。 此外,这样做还能够提供一流的可靠性,安全性和稳定性。
问题3: 应用DevOps有哪些重要的业务和技术劣势?
答 :DevOps为该表带来了很多业务和技术劣势。 上面列出了一些最重要的参数:
商业利益
- 加强的操作环境稳定性
- 更快地交付性能
- 更多工夫为产品增值
技术劣势
- 继续交付软件
- 更快地解决问题
- 较小的简单问题
问题4: 您是否列举一些最罕用的DevOps工具?
答 :以下是一些应用最宽泛的DevOps工具的列表:
- Ansible –配置管理和应用程序部署工具
- Chef –配置管理和应用程序部署工具
- Docker –容器化工具
- Git –版本控制系统(VCS)工具
- Jenkins –继续集成(CI)工具
- Jira –麻利的团队合作工具
- Nagios –间断监控工具
- Puppet –配置管理和应用程序部署工具
- 硒–间断测试(CT)工具
问题5:硒的作用是什么?
答 :硒用于DevOps中的间断测试。 该工具专门从事性能和回归模式的测试。
问题6: 您对DevOps中的Puppet有什么理解?
答 :这是一个配置管理工具,用于主动执行治理工作。Puppet利用主从构造,其中两个实体通过加密通道进行通信。
系统管理员须要执行许多重复性工作,尤其是装置和配置服务器。 编写脚本来主动执行此类工作是一种抉择,然而当根底构造很大时,它变得很忙。 为此,配置管理是一个不错的解决办法。
Puppet帮忙配置,部署和治理服务器。 这不仅使此类冗余工作变得更加容易,而且节俭了总工作工夫的很大一部分。 成熟的配置管理工具:
- 继续查看主机所需的配置是否到位。 如果更改,配置将主动还原
- 为每个主机定义不同的配置
- 对机器进行动静缩放(高低缩放)
- 提供对所有已配置计算机的管制,以便能够将集中更改主动流传到所有这些计算机
问题7:您对DevOps的反模式有什么理解?
答复 :当其余组织通常采纳的DevOps模式在特定上下文中不起作用而组织仍在持续应用它时,它将导致采纳反模式。 换句话说,反模式是对于DevOps的神话。 一些驰名的反模式是:
- 一个组织须要有一个独自的DevOps组
- 麻利等于DevOps
- DevOps是一个过程
- DevOps是开发驱动的公布治理
- 因为组织独特,因而无奈进行DevOps
- 无奈进行DevOps,因为现有人员不适宜
- DevOps意味着开发人员治理生产
- DevOps将解决所有问题
- 无奈在正在进行的DevOps过渡中蕴含组织的所有方面
- 在DevOps过渡开始时未定义KPI
- 通过一个新的DevOps团队来缩小与其余组织之间的隔离
问题8:DevOps有一个称为CI的货色。 它是什么,目标是什么?
答 :DevOps中的CI代表继续集成。CI是一种开发实际,开发人员能够在一天内屡次将代码集成到共享存储库中。
开发和测试的继续集成进步了软件的品质,并缩小了交付所需的总工夫。
如果查看代码的团队成员遇到编译失败,则开发人员将毁坏构建。 这样,其余开发人员如果不将编译谬误引入本人的工作空间中,就无奈与共享源代码存储库进行同步。
这毁坏了合作和共享的开发过程。 因而,一旦配置项构建中断,立刻辨认并纠正问题就很重要。
通常,配置项流程包含每次编译胜利时都会运行的一组单元测试,集成测试和回归测试。 如果上述任何测试失败,则CI构建被认为是不稳固的(这在开发正在进行中的麻利冲刺中很常见)并且没有损坏。
问题9: 咱们常常听到DevOps中的左移。 它是什么?
答 :当在纸上画图时,传统的软件开发生命周期有左右两边。 图的左侧包含设计和开发,而右侧包含生产阶段,压力测试和用户接受度。
在DevOps中向左挪动仅意味着须要在右侧执行尽可能多的工作,即通常在利用程序开发过程的结尾产生,并将其纳入DevOps办法的晚期阶段。
有几种办法能够实现DevOps中的操作,最值得注意的是:
- 在每个麻利冲刺完结时创立准备就绪的工件
- 在每个版本中都蕴含动态代码剖析例程
正确执行DevOps的级别间接取决于尽可能左移的水平。
问题10:DevOps中的CAMS代表什么?
答 :首字母缩写词CAMS通常用于形容DevOps方法论的外围信条。 它代表:
- 文化
- 断言
- 测量
- 共享
问题11: 用于评估DevOps胜利的几个KPI是什么?
答 :要害绩效指标是要害绩效指标的一种合同模式。 为了掂量DevOps流程的胜利,能够应用几个KPI。 一些最受欢迎的是:
- 利用性能
- 应用程序的应用和流量
- 自动测试通过率
- 可用性
- 扭转音量
- 客户票
- 缺点逃逸率
- 部署频率
- 部署工夫
- 错误率
- 部署失败
- 交货工夫
- 检测时间(MTTD)
- 均匀复原工夫(MTTR)
问题12: 您认为施行DevOps自动化的次要益处是什么?
答 :以下是实现DevOps自动化的次要益处:
- 从CD方程式中打消人为谬误的可能性(外围收益)
- 随着工作变得更加可预测和可反复,当呈现问题时,很容易辨认和纠正。 因而,它能够产生更牢靠,更弱小的零碎
- 打消CI管道的瓶颈。 这会导致部署频率减少和失败的部署数量缩小。 它们都是重要的DevOps KPI
问题13: 您对容器理解什么?
答 :容器是一种轻量级虚拟化模式,有助于在过程之间提供隔离。 容器比chroot重,但比管理程序轻。
问题14:微服务是DevOps的外围局部。 您能够命名两个风行的Java开发框架来创立微服务吗?
答 :有几种Java框架容许创立微服务。 然而,Eclipse MicroProfile和Spring Boot作为DevOps中用于创立微服务的两个次要Java开发框架而怀才不遇。
问题15: 您对版本控制系统(VCS)理解什么? 定义其用处。
答 :版本控制系统或VCS是一种可能记录一段时间内对一个文件或一组文件所做的更改的零碎。Git和Mercurial是两个最受欢迎的版本控制系统。VCS的重要用处是:
- 查看什么引起了问题的最初批改
- 比拟随着工夫的变动
- 确定谁介绍了新问题以及什么时候提出的
- 将一个或多个文件还原到某个较早的状态
- 将整个我的项目还原到以前的状态
问题16:Git是风行的DevOps工具。 通知咱们您将如何还原曾经推送并公开的提交。
答 :有两种办法能够这样做:
通过创立新的提交来吊销已被推送并公开的提交所做的所有更改。 执行以下命令:
git 还原
通过修复或删除新提交中的谬误文件,而后将其推送到近程存储库。 对文件进行必要的更改后,应用以下命令将其提交到近程存储库:
git commit -m“提交音讯”
问题17: 什么是post mortem会议?
答 :很多时候须要探讨在DevOps流程中出了什么问题。 为此,安顿了验后会议。 这些会议产生了应该采取的步骤,以防止未来安顿会议时遇到的雷同或一组失败。
问题18: 在资产治理和配置管理之间进行比拟。
答 :监督和保护实体或组的有价值的货色的过程称为资产治理。
配置管理是指管制,辨认,打算和验证服务中的配置项以反对变更治理的过程。
问题19:您是否陈说和解释间断测试的各个要害因素?
答 :间断测试的各种要害因素包含:
- 高级剖析–用于预测和预测未知的将来事件
- 策略剖析–旨在改善测试过程的伎俩
- 需要可追溯性–指形容需要以及从需要的起源到部署的整个过程的能力
- 危险评估–辨认可能造成潜在侵害的危害和危险因素的办法或过程
- 服务虚拟化–容许应用虚构服务代替生产服务。 仿真软件组件以进行简略测试
- 测试优化–改善整体测试流程
问题20: 请从开发和根底构造方面阐明DevOps的外围操作。
答 :在开发和基础架构方面,DevOps的外围经营是:
- 利用程序开发–开发可能满足所有客户要求并提供卓越品质程度的产品
- 代码覆盖率–掂量在运行自动测试时执行的代码的块,线或弧的总数
- 代码开发–筹备产品开发所需的代码库
- 配置–以最佳形式应用产品
- 部署–装置要由最终用户应用的软件
- 编排–安顿一些自动化工作
- 打包–筹备公布时波及的流动
- 调配–确保根底构造更改随须要的代码及时达到
- 单元测试–测试单个单元或组件的办法
这样就形成了20个重要的DevOps面试问题的清单。 除了减少取得DevOps职位的机会之外,这些相对能够帮忙您评估并进步您对DevOps的以后理解程度。
起源:http://bjbsair.com/it/1307.html