当前位置: 首页 > Linux

20个最重要的DevOps面试问题

时间:2023-04-07 02:08:01 Linux

DevOps代表开发和运营。它是一种新的软件开发形式,彻底改变了软件产品的开发和分发方式。DevOps方法侧重于提供频繁的较小升级,而不是不频繁的大型功能集。IT运营受益于DevOps。在DevOps出现之前,IT团队仍然有一些固有的担忧。这导致IT团队面临某种程度的意外怀疑。但随着DevOps的加入,这一切都发生了变化,它允许IT运营与组织的其他部门分享这些问题,从而提高透明度并改善IT运营与其他团队之间的协调。以下部分介绍了前20个DevOps面试问题,这些问题将为您的下一次DevOps面试做准备:问题1:您能告诉我们DevOps和敏捷之间的根本区别吗?回答:尽管DevOps与敏捷方法(它是最流行的SDLC方法之一)有一些相似之处,但两者都是根本不同的软件开发方法。以下是两者之间的各种基本区别:敏捷方法论——敏捷方法论仅适用于敏捷开发,而敏捷方法论适用于DevOps中的开发和运维。实践和流程——敏捷涉及敏捷Scrum和敏捷看板等实践,而DevOps涉及CD(持续交付)、CI(持续集成)和CT(持续测试)等流程。优先级——敏捷优先考虑及时性,而DevOps优先考虑及时性和质量。发布周期——DevOps提供更小的发布周期和即时反馈,而敏捷只提供更小的发布周期而没有即时反馈。反馈来源——敏捷依赖于客户的反馈,而DevOps涉及来自自身的反馈(监控工具)。ScopeofWork——对于Agile,工作范围只有Agile,而对于DevOps,则是Agile,需要自动化。问题2:为什么我们需要DevOps?答:如今,组织正在尝试通过一系列版本向客户提供小功能,而不是发布大功能集。这样做有很多好处,包括更好的软件质量和快速的客户反馈。所有这些好处都会带来更高的客户满意度,这是任何产品开发项目最重要的目标。为此,公司需要:提高部署频率减少修复时间降低新版本的故障率更快的平均恢复时间,以防新版本崩溃DevOps有助于满足无缝软件交付的所有这些要求。Amazon、Etsy和Google等成熟组织已经采用DevOps方法,实现了以前未知的性能水平。通过采用DevOps方法,组织可以在一天内执行数万次部署。此外,这样做还提供了一流的可靠性、安全性和稳定性。问题3:使用DevOps的重要业务和技术优势是什么?答:DevOps带来了很多业务和技术优势。下面列出了一些最重要的参数:业务收益操作环境稳定性的提高更快地交付功能更多时间为产品列表增加价值一些最常用的DevOps工具?答:这里列出了一些最广泛使用的DevOps工具:Ansible–配置管理和应用程序部署工具Chef–配置管理和应用程序部署工具Docker–容器化工具Git–版本控制系统(VCS)工具Jenkins–持续集成(CI)工具Jira——敏捷团队协作工具Nagios——持续监控工具Puppet——配置管理和应用部署工具Selenium——持续测试(CT)工具问题5:selenium的作用是什么?答:Selenium用于DevOps中的持续测试。该工具专门用于功能和回归形式测试。问题6:您对DevOps中的Puppet了解多少?答:这是一种配置管理工具,用于自动执行管理任务。Puppet采用主从结构,其中两个实体通过加密通道进行通信。系统管理员执行许多重复性任务,尤其是安装和配置服务器。编写脚本来自动执行此类任务是一种选择,但当基础设施很大时它会变得很忙。为此,配置管理是一个很好的解决方案。Puppet帮助配置、部署和管理服务器。这不仅使此类冗余任务变得更容易,而且还节省了总工作时间的很大一部分。成熟的配置管理工具:持续检查主机所需的配置是否到位。如果更改,配置会自动恢复为每个主机定义不同的配置动态扩展机器(向上和向下)提供对所有配置机器的控制,以便集中更改可以自动传播到所有这些机器你对反模式了解多少?回答:当其他组织普遍采用的DevOps模式在特定上下文中不起作用并且组织继续使用它时,就会导致采用反模式。换句话说,反模式是关于DevOps的神话。一些著名的反模式是:一个组织需要有一个单独的DevOps组敏捷等同于DevOpsDevOps是一个过程DevOps是开发驱动的发布管理DevOps由于独特的组织而无法完成开发人员管理生产DevOps将解决所有问题失败在正在进行的DevOps过渡中包括组织的所有方面在DevOps过渡开始时未定义KPI采用新的DevOps团队以减少与组织其他部分的隔离问题8:DevOps有一个叫做CI的东西。它是什么,它的目的是什么?答:DevOps中的CI代表持续集成。CI是一种开发实践,开发人员每天多次将代码集成到共享存储库中。开发和测试的持续集成提高了软件的质量并减少了交付所需的总体时间。如果审查代码的团队成员遇到编译失败,开发人员将中断构建。这样,其他开发人员就无法在不将编译错误引入到他们自己的工作区的情况下与共享源代码存储库同步。这破坏了协作和共享的开发过程。因此,一旦配置项构建中断,就必须立即识别并更正问题。通常,配置项过程由一组单元测试、集成测试和回归测试组成,每次编译成功时都会运行这些测试。如果上述任何测试失败,则CI构建被认为是不稳定的(这在正在进行开发的敏捷冲刺中很常见)并且没有被破坏。问题9:我们经常听说DevOps中的左移。它是什么?A:在纸上画图时,传统的软件开发生命周期有左有右。图左侧包括设计和开发,右侧包括生产阶段、压力测试和用户验收。在DevOps中向左移动仅意味着需要在右侧执行尽可能多的任务,这通常发生在应用程序开发过程的末尾,并纳入DevOps方法的早期阶段。在DevOps中有几种方法可以完成事情,最值得注意的是:在每个敏捷冲刺结束时创建现成的工件在每个版本中包含静态代码分析例程在DevOps级别的正确执行直接取决于可能的左移程度.问题10:DevOps中的CAMS代表什么?答:缩写词CAMS通常用于描述DevOps方法论的核心原则。它代表:CulturalAssertionsMeasurement共享问题11:用于评估DevOps成功的少数KPI是什么?回答:KPI是KPI的合同形式。为了衡量DevOps流程的成功,可以使用多个KPI。一些最流行的是:应用程序性能应用程序使用和流量自动测试通过率可用性变化量客户工单缺陷逃逸率部署频率部署时间错误率部署失败交付时间检测时间(MTTD)平均恢复时间(MTTR)问题12:您认为实施DevOps自动化的主要好处是什么?答:以下是自动化DevOps的主要好处:从CD等式中消除人为错误的可能性(核心好处)随着任务变得更加可预测和可重复,当出现问题时,很容易识别和纠正。因此,它可以产生一个更可靠、更健壮的系统,消除CI管道中的瓶颈。这导致更频繁的部署和更少的失败部署。它们都是重要的DevOpsKPI问题13:您对容器了解多少?答:容器是一种轻量级的虚拟化形式,有助于在进程之间提供隔离。容器比chroots重,但比管理程序轻。问题14:微服务是DevOps的核心部分。您能说出两个用于创建微服务的流行Java开发框架吗?答:有几种Java框架可以创建微服务。然而,EclipseMicroProfile和SpringBoot作为DevOps中用于创建微服务的两个主要Java开发框架脱颖而出。问题15:您对版本控制系统(VCS)了解多少?定义其用途。答:版本控制系统或VCS是一个记录在一段时间内对文件或文件组所做更改的系统。Git和Mercurial是两个最流行的版本控制系统。VCS的重要用途是:检查导致问题的原因上次修改时间的比较确定谁引入了新问题以及何时将一个或多个文件恢复到某个较早的状态将整个项目恢复到以前的状态问题16:Git是一种流行的DevOps工具。告诉我们您将如何还原已推送和公开的提交。答:有两种方法可以做到这一点:通过创建一个新的提交来撤消由已推送和公开的提交所做的所有更改。执行以下命令:gitrevert通过修复或删除新提交中的坏文件,然后将其推送到远程存储库。对文件进行必要的更改后,使用以下命令将其提交到远程存储库:gitcommit-m"commitmessage"问题17:什么是事后分析会话?A:很多时候需要讨论DevOps过程中哪里出了问题。为此,安排了一次测试后会议。这些会议产生了应该采取的步骤,以避免将来在安排会议时遇到同样的失败或一系列失败。问题18:比较资产管理和配置管理。回答:为实体或集团监控和维护有价值的东西的过程称为资产管理。配置管理是指控制、识别、规划和验证服务中的配置项以支持变更管理的过程。问题19:您能否陈述和解释持续测试的各种关键要素?A:持续测试的各种关键要素包括:AdvancedAnalytics——用于预测和预测未知的未来事件StrategicAnalysis——指改进测试过程RequirementsTraceability——指描述需求和整个过程的能力风险评估——一种方法或识别可能造成潜在危害的危险和风险因素的流程服务虚拟化——允许使用虚拟服务而不是生产服务。为简单测试模拟软件组件测试优化——改进整体测试过程问题20:请从开发和基础架构方面描述DevOps的核心操作。A:在开发和基础架构方面,DevOps的核心操作是:应用程序开发——开发满足所有客户要求并提供卓越质量水平的产品代码覆盖率——测量块、线或弧代码的总数开发——准备产品开发所需的代码库配置——以尽可能最好的方式使用产品部署——安装最终用户要使用的软件编排——安排一些自动化任务打包——参与准备的活动发布结构更改及时到达所需代码单元测试——测试单个单元或组件的方法这完成了20个重要的DevOps面试问题列表。除了增加获得DevOps职位的机会外,这些绝对可以帮助您评估和提高您当前对DevOps的知识水平。资料来源:http://bjbsair.com/it/1307.html