赞
踩
DevOps 面试问题
01 您能告诉我们 DevOps 和 Agile (敏捷) 之间的根本区别吗?
答:尽管 DevOps 与敏捷方法(这是最流行的 SDLC [Software Development Life Cycle] 方法之一)有一些相似之处,但两者在软件开发方面都是根本不同的方法。以下是两者之间的各种基本差异:
敏捷方法
敏捷方法适用于敏捷中的开发同时敏捷方法适用于 DevOps 中的开发和操作。实践和流程
敏捷涉及敏捷 Scrum 和敏捷看板等实践,而 DevOps 涉及 CD(持续交付),CI(持续集成)和 CT(持续测试)等流程。优先级
敏捷优先考虑及时性,而 DevOps 优先考虑及时性和质量。发布周期
DevOps 提供较小的发布周期并提供即时反馈,而敏捷仅提供较小的发布周期而没有立即反馈。反馈源
敏捷依赖于客户的反馈,而 DevOps 涉及到自身(监控工具)的反馈。工作范围
对于敏捷,工作范围仅是敏捷,而对于 DevOps,这是敏捷和对自动化的需求。02 为什么我们需要 DevOps?
答:如今,很多组织或企业正试图通过一系列的发布小的特性传递给客户,而不是发布大的特性集。这样做有几个好处,包括更好的软件质量和快速的客户反馈,所有这些好处导致更高的客户满意度,这是任何产品开发项目的最重要目标。为此,公司需要:
DevOps 有助于满足所有这些要求,从而实现无缝的软件交付。像 Amazon,Etsy 和 Google 这样的成熟组织已采用 DevOps 方法,从而实现了以前未知的性能水平。通过采用 DevOps 方法,组织可以在一天之内完成数以万计的部署。此外,这样做还可以提供一流的可靠性
、安全性
和稳定性
。
03 使用 DevOps 有哪些重要的业务和技术优势?
答:DevOps 为该表带来了很多业务和技术优势。下面列出了一些最重要的参数:
商业利益:
技术优势:
04 您能列举一些最常用的 DevOps 工具吗?
答:以下是一些使用最广泛的 DevOps 工具的列表:
05 Selenium 的用途是什么?
答:selenium 用于 DevOps 中的连续测试。该工具专门从事功能和回归形式的测试。
06 您对 DevOps 中的 Puppet 有什么了解?
答:这是一个配置管理工具,用于自动执行管理任务。Puppet 利用主从结构,其中两个实体通过加密通道进行通信。系统管理员需要执行许多重复性任务,尤其是安装和配置服务器。编写脚本来自动执行此类任务是一种选择,但是当基础结构很大时,执行的操作就会变得繁琐重复。为此,配置管理是一个不错的解决方法。
Puppet 帮助配置、部署和管理服务器。这不仅使此类冗余任务变得更加容易,而且节省了总工作时间的很大一部分。成熟的配置管理工具:
07 您对 DevOps 的反模式有什么了解?
答:如果其他组织通常采用的 DevOps 模式在特定环境下不起作用,而组织仍在继续使用它,则会导致采用反模式。换句话说,反模式是关于 DevOps 的神话。一些著名的反模式是:
08 DevOps 有一个叫做 CI 的东西。它是什么,目的是什么?
答:DevOps 中的 CI 代表持续集成。CI 是一种开发实践,开发人员可以在一天内多次将代码集成到共享存储库中。
09 我们经常听到 DevOps 向左移动。它是什么?
答:画在纸上的传统软件开发生命周期有左右两边。图的左侧包括设计和开发,而右侧包括生产阶段,压力测试和用户接受度。在 DevOps 中向左移动仅意味着需要在右侧执行尽可能多的任务,即通常在应用程序开发过程的结尾发生,并将其纳入 DevOps 方法的早期阶段。有几种方法可以完成 DevOps 中的操作,最值得注意的是:
10 DevOps 中的 CAMS 代表什么?
答:首字母缩写 CAMS 通常用于描述 DevOps 方法论的核心信条。它代表:
11 用来评估 DevOps 成功的几个 KPI 是什么?
答:kpi 是关键绩效指标的简写形式。为了度量 DevOps 过程的成功,可以使用几个 kpi。其中最流行的有:
12 您认为实施 DevOps 自动化的主要好处是什么?
答:以下是实现 DevOps 自动化的主要好处:
13 您对容器了解什么?
答:容器是一种轻量级虚拟化形式,有助于在进程之间提供隔离。容器比 chroot 重,但比管理程序轻。
14 您对版本控制系统(VCS)有什么了解?定义其用途。
答:版本控制系统或 VCS 是一种能够记录一段时间内对一个文件或一组文件所做的更改的系统。Git 和 Mercurial 是两个最受欢迎的版本控制系统。VCS 的重要用途是:
15 Git 是流行的 DevOps 工具。告诉我们您将如何还原已经推送并公开的提交。
答:有两种方法可以这样做:
git revert
git commit -m "commit message"
16 什么是 post mortem meetings?
参考回答:在这个会议上,我们讨论出了什么问题,应该采取什么步骤,这样失败就不会再次发生。事后分析会议并不是要找出问题的症结所在,而是要防止再次发生类似的工作,和 ITIL 中的问题管理是相类似的管理方法。并应重新计划新的设计基础设施,以便尽可能减少停机时间。如果错误我们无法避免,那么我们应从错误中学习,以提交 IT 整体的质量管理。
17 资产管理和配置管理之间的比较。
答:监视和维护对实体或组有价值的东西的过程称为资产管理。配置管理是指控制,识别,计划和验证服务中的配置项以支持变更管理的过程。
18 您能否陈述和解释连续测试的各个关键要素?
答:持续测试的各种关键要素包括:
19 请从开发和基础架构方面说明 DevOps 的核心运营。
答:DevOps 在开发和基础架构方面的核心运营是:
20 您对 DevOps 有什么了解?
您的答案必须简单明了。首先介绍一下 DevOps 在 IT 行业中的重要性。讨论这种方法如何旨在使开发和运营团队共同努力,以最小的故障率加速软件产品的交付。包括 DevOps 如何成为增值实践,开发和运维工程师在整个产品或服务生命周期中(从设计阶段到部署点)携手合作。
21 为什么最近几年 DevOps 变得突出?
在谈论 DevOps 的日益普及之前,请讨论当前的行业情况。首先,举例说明 Netflix 和 Facebook 等大型公司如何投资 DevOps 来自动化和加速应用程序部署,以及这如何帮助他们发展业务。以 Facebook 为例,您将指出 Facebook 的持续部署和代码所有权模型,以及这些模型如何帮助其扩大规模,同时确保体验质量。在不影响质量,稳定性和安全性的情况下实现了数百行代码。
下一个用例应该是 Netflix。这家流媒体和点播视频公司采用完全自动化的流程和系统遵循类似的做法。提及这两个组织的用户群:Facebook 有 20 亿用户,而 Netflix 将在线内容流传输给全球超过 1 亿用户。
这些都是很好的例子,说明 DevOps 如何帮助组织确保更高的发布成功率,减少错误修复之间的准备时间,通过自动化简化并持续交付,以及总体上降低人力成本。
22 哪些是最受欢迎的 DevOps 工具?您是否有使用这些工具的经验?
较流行的 DevOps 工具包括:
23 您是否想要掌握所有这些 Devops 工具?
彻底描述您有信心的任何工具,其功能以及为什么要使用它。例如,如果您具有 Git 方面的专业知识,则可以告诉采访者 Git 是一种分布式版本控制系统(VCS)工具,该工具可让用户跟踪文件更改并在需要时还原为特定更改。讨论 Git 的分布式体系结构如何为开发人员带来更多优势,使开发人员可以在本地进行更改,并可以在其本地 Git 存储库中拥有整个项目历史记录,以后可以与其他团队成员共享。
24 什么是版本控制?为什么要使用 VCS?
定义版本控制,并讨论该系统如何记录对一个或多个文件所做的任何更改并将其保存在集中式存储库中。VCS 工具将帮助您重新调用以前的版本并执行以下操作:
仔细查看一段时间内所做的更改,然后检查哪些有效,哪些无效。
将特定文件或特定项目还原回旧版本。
检查由于特定更改而发生的问题或错误
使用 VCS 为开发人员提供了同时处理特定文件的灵活性,并且所有修改内容以后都可以进行逻辑组合。
25 敏捷和 DevOps 之间有区别吗?如果是,请解释。
作为一名 DevOps 工程师,对这样的面试问题充满期待。首先描述 DevOps 与敏捷之间明显的重叠。尽管 DevOps 的实现始终与敏捷方法保持同步,但是两者之间存在明显的差异。敏捷原则与软件的无缝生产或开发相关。另一方面,DevOps 处理开发工作,然后部署软件,以确保更快的周转时间,最小的错误和可靠性。
26 为什么配置管理过程和工具很重要?
讨论正在开发的每个软件或测试软件的多个软件构建,发行,修订和版本。继续说明存储和维护数据的需求,跟踪开发构建和简化的故障排除。不要忘了提到可用于实现这些目标的关键 CM 工具。讨论诸如 Puppet,Ansible 和 Chef 之类的工具如何在多个服务器上自动化软件部署和配置的过程中提供帮助。
27 Chef 如何用作 CM 工具?
chef 被认为是行业首选的 CM 工具之一。例如,Facebook 将其基础架构和后端 IT 迁移到了 Chef 平台。解释 Chef 如何通过自动化流程来帮助您避免延迟。这些脚本是用 Ruby 编写的。它可以与基于云的平台集成并配置新系统。它提供了许多用于基础结构开发的库,这些库以后可以部署在软件中。借助其集中式管理系统,一台 Chef 服务器足以用作部署各种策略的中心。
28 您如何解释 “基础架构即代码”(IaC)的概念?
谈论 IaC 是一个好主意,有时将其称为可编程基础结构,在该基础结构中,与其他任何代码的感知方式相同。描述传统的基础架构管理方法如何退居二线,以及手动配置,过时的工具和自定义脚本的可靠性如何降低。接下来,重点介绍 IaC 的好处,以及如何使用 IaC 更快,更安全,更轻松地对 IT 基础架构进行更改。包括 IaC 的其他好处,例如将常规的单元测试和集成测试应用于基础结构配置,以及维护最新的基础结构文档。
如果您已经完成了 Amazon Web Services(AWS)的认证,并且正在接受诸如 AWS 认证的 DevOps 工程师之类的利基角色的面试,那么您必须准备以下一些 AWS DevOps 面试问题:
29 AWS 在 DevOps 中的作用是什么?
在面试中被问到此问题时,请直接说明,AWS 是亚马逊提供的基于云的服务,可通过无限的计算能力和存储来确保可扩展性。AWS 使 IT 企业能够开发和交付复杂的产品,并在云上部署应用程序。其一些关键服务包括 Amazon CloudFront,Amazon SimpleDB,Amazon Relational Database Service 和 Amazon Elastic Computer Cloud。讨论各种云平台,并强调您过去使用云基础架构处理过的任何大数据项目。
30 持续集成的成功因素是什么?
你如何在我公司实践 DevOps?
参考回答:作为一名 DevOps 工程师,我会对 DevOps 项目管理的管理目标、敏捷交付、持续集成进行管理,并从敏捷项目管理新三角《敏捷项目管理》出发,与团队一起设定目标,实现简化的 ITIL 工作流,维护敏捷的 DevOps 管理范围,研究和引入新的技术或框架,通过 DevOps 流水线,实现从需求转化为工作流从整体工具链进行全局优化。
配置管理工具在 devops 中的作用是什么?
参考回答: 配置管理工具是指支持完成配置项标识、版本控制、变化控制、审计和状态统计等任务的工具。 自动化的配置管理工具可以帮助 DevOps 实现持续流水线的技术支持基础。使用 CM 工具,可以帮着管理与存储关于系统、软件、测试相关的版本和构建及配置信息,并提供软件和测试软件之间的可跟踪性。成功的 DevOps 从配置管理开始。
DevOps 工程师的职责是什么?
参考回答:DevOps 工程师与敏捷开发团队紧密合作,站在业务价值视角,拉动 IT 从业务需求到运营交付,确保通过高质量(JKK)的自动化测试,实现持续集成和持续交付等 IT 技术功能所需的环境。DevOps 工程师必须经常与开发保持联系(SRE 模式、丰田模式、持续交付模式、协作模式),使环境中所有需要的部分都能无缝地工作,实现高质量的增量迭代。可以扩展说说相关工具。
文章来源:https://www.cnblogs.com/xuelong3/p/12587932.html
文章来自网络,如有侵权,将第一时间删除文章。
———————————————————————————————————————————
更多内容关注公众号【OSC DevOps】,进群和更多从业者一起交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。