【注】本文译自:www.javatpoint.com/devops-inte…
下面列出了常见的DevOps面试问题和答案。
1) 请解释 DevOps?
DevOp 是两个词的组合,一个是软件 Development(开发)、另一个是 Operations (运营)。它允许一个团队处理从开发到测试、部署和运营的整个应用程序生命周期。DevOps 可帮助您减少软件开发人员、质量保证(QA)工程师和系统管理员之间的联系。
2) DevOps 的原则是什么?
DevOps 背后的原则是:
- 持续部署
- 基础设施即代码
- 自动化
- 监控
- 安全
3) DevOps 对开发人员有何帮助?
DevOps 对开发人员修复错误并快速实现新功能非常有帮助。它还有助于团队成员之间更透明的沟通。
4) 解释一些流行的 DevOps 工具?
- Jenkins: Jenkins 是一个 DevOps 工具,用于监视重复任务的执行。Jenkins 允许持续集成的软件,安装在进行集中构建的服务器上。
- Ansible: Ansible 是领先的DevOps工具。 Ansible 是一个开源 IT 引擎,可自动执行应用程序部署、云供应、内部服务编排和其他 IT 工具。
- Nagios: Nagios 是 DevOps 较为有用的工具之一。它可以确定错误,并在网络、基础架构、服务器和日志监视系统的帮助下进行纠正。
- Docker: Docker 是一种高端 DevOps 工具,它允许在多个系统上构建,发布和运行分布式应用程序。
- Git: Git 是一个__开源的分布式版本控制系统__,每个人都可以免费使用。它旨在快速高效地处理各种规模的项目。
5) 实施 DevOps 的前提条件是什么?
以下是实现 DevOps 的一些有用的先决条件:
- 团队成员之间的适当沟通。
- 至少一个版本控制软件。
- 自动化测试。
- 自动化部署。
6) DevOps 在应用开发和基础架构方面的核心操作是什么?
DevOps 应用开发和基础架构的核心操作是: 应用开发
- 代码建设
- 代码覆盖率
- 单元测试
- 打包
- 部署 基础架构
- 供应
- 配置
- 编排
- 部署
7) DevOps 的关键组件是什么?
DevOps的最重要的关键组件是:
- 持续集成
- 持续测试
- 持续交付
- 持续贩卖
8) 什么是 Vagrant?
Vagrant 是 DevOps 的工具,可以创建和管理用于测试和开发软件的虚拟化环境。
9) DevOps 工作文化在技术和业务上有什么好处?
以下是 DevOps 工作文化的技术和业务优势: 技术优势
- 不要解决太复杂的问题。
- 持续交付软件。
- 更快的错误解决。 业务优势
- 最稳定的操作环境。
- 有更多时间可用来增加产品价值。
- 更快地交付功能以使客户满意。
10) 什么是 Scrum?
Scrum 用于通过迭代和增加实践将复杂的软件和产品开发任务划分为较小的块。Scrum 由三个角色组成,例如:
- 产品拥有者
- Scrum 大师
- 团队
11) 什么是版本控制?
它是一个随时间记录对一个文件或一组文件的更改的系统,因此您可以调用特定版本。 版本控制系统由一个中央共享存储库组成,团队成员可以在其中将更改提交到一个文件或一组文件中。它允许:
- 将文件还原到以前的状态。
- 比较一段时间内的变化。
- 将整个项目还原到以前的状态。
- 查看谁修改了文件中的内容。
12) DevOps 中使用了哪些脚本工具?
DevOps 中使用了Python和Ruby脚本工具。
13) AWS 在 DevOps 中的作用是什么?
AWS 是 Amazon 提供的基于云的服务,可通过无限的计算能力和存储来确保可扩展性。它使 IT 企业能够开发和交付经验丰富的产品,并在云上部署应用程序。
14) 为什么开源工具可以提升 DevOps?
由于 DevOps 在组织构建、发布、变更管理和基础架构管理领域的各个方面都具有自动化的特点,开源工具被大部分组织用于流水线中。
15) 组织剧本作为角色的需求是什么?
在考虑删除Oracle DB后MySQL安装的任务时,作为角色的组织剧本为任何角色提供了更多的可靠性和可重用性。在安装java之后,安装MySQL还需要另一个需求。在这两种情况下,都需要安装MySQL,但是如果没有角色,就需要分别为这两种用例编写剧本。不过,一旦使用了角色,通过调用__site.yaml中__的逻辑,就可以创建任意次数的MySQL安装角色。
16) 有多少云平台可用于 DevOps 实施?
以下是用于 DevOps 实施的一些云计算平台,例如:
- 谷歌云
- 亚马逊网络服务
- 微软Azure
17) 解释两因素身份验证?
两因素身份验证是一种安全性方法,用户可以通过它提供来自不同类别的两种身份验证方法。
18)PTR在DNS中的用途是什么?
PTR是用于反向DNS查找的指针记录。
19) 说出一些网络监视工具?
一些最重要的网络监视工具是:
- Nagios
- OpenNMS
- Splunk
- Icinga 2
- Wireshark
20) 列出三个重要的DevOps KPI?
三个最重要的DevOps KPI是:
- 部署频率
- 失败部署的百分比
- 平均故障恢复时间
21) 解释关于 DevOps 的结对编程?
结对编程是极限编程规则的一种工程实践。在这种情况下,两个程序员使用相同的设计或算法在同一系统上工作。 一个程序员充当__驱动者__,另一个充当__观察员__,他不断监视项目进度以发现问题。这些角色可以在任何时间点互换,而无需事先通知。
22) 什么是CBD?
基于组件的开发(CBD)是进行产品开发的独特方法。在这种方法中,开发人员始终在寻找现有的定义良好、经过测试和验证的组件,以将它们组合并组装成产品,而不是从头开始开发。
23) 给出 DevOps 自动化的定义?
自动化是 DevOps 实践的关键需求,使一切自动化是 DevOps 的基本原则。自动化从开发人员计算机上的代码生成开始,直到将代码推送到代码,以监视生产中的应用和系统。 DevOps 中的自动化可提高速度、一致性、更高的准确性、可靠性、并增加交付数量。
24) 什么是 DevOps 流水线?
软件工程团队中的流水线是一组自动化流程,使 DevOps 专业人员和开发人员能够可靠、高效地将其代码编译、生成并部署到生产平台。
25) 什么是Azure DevOps?
Azure DevOps 也称为 Microsoft Visual Studio 团队服务(VSTS)。它是为云构建的一组协作开发工具。 VSTS通常被用作独立术语,Azure DevOps 是一个由几种不同产品组成的平台,例如:
- Azure Test Plans
- Azure Boards
- Azure Repos
- Azure Pipeline
- Azure Artifacts
26) 哪些因素使 AWS DevOps 具有高度可访问性?
以下是使AWS DevOps广受欢迎的一些原因,例如:
- AWS CloudFormation
- AWS EC2
- AWS CloudWatch
- AWS CodePipeline
27) DevOps 中的构建是什么?
构建是一种方法,其中将源代码放在一起以检查其是否作为单个单元工作。在构建创建过程中,将对源代码进行编译、测试、检查和部署。
28) 说明哪个场景中使用了 SSH?
您可以使用SSH登录到远程计算机并在命令行上工作。此外,您还可以使用它来隧穿系统,以促进不安全网络上的两个主机之间的安全加密通信。
29) AWS中如何执行基础架构代码?
在 AWS 中:
- 基础结构的代码将采用简单的 JSON 格式。
- 此 JSON 代码将组织到称为模板的文件中。
- 这些模板可以部署在 AWS DevOps 上,然后作为堆栈进行管理。
- 稍后,CloudFormation服务将在堆栈中执行创建、删除、更新等操作。
30) 请解释 Git Bisect?
Git Bisect 使用二进制搜索帮助查找哪些提交引入了错误。