2022 年 Devops 面试问答 – 最常见问题

已发表: 2021-01-08

目录

DevOps 面试问答

你是一名 devops 工程师,现在正在寻找工作,所以让我们看看最常见的Devops 面试问题

与其他计算机科学领域相比,DevOps 并不是很受欢迎。 但那是因为理解起来既简单又复杂。

首先,它不是工具或软件。 相反,它是一种工作文化和方法论,开发(软件开发人员)和运营(部署人员)团队结合在一起进行持续开发、集成、测试、部署和监控。 最终目标是更快地创建和交付产品,并尽可能降低故障率。 它补充并与敏捷方法一起工作,但与它不同。

如果您对该领域的混合性质感兴趣并想在其中工作,那么以下面试问题将帮助您克服障碍并获得您梦想中的工作。

  • 有哪些流行的 DevOps 工具?
    • 木偶
    • Ansible
    • 吉特
    • Maven
    • 厨师
    • 詹金斯
    • 码头工人
    • 纳吉奥斯
    • 麋鹿
  • DevOps 的核心操作是什么?
    • 发展
    • 版本控制
    • 测试
    • 一体化
    • 部署
    • 送货
    • 配置
    • 监控
    • 回馈
  • DevOps 的 3 个重要 KPI 是什么?
    • 部署频率
    • 失败部署的百分比
    • 平均故障恢复时间
  • 什么是版本控制系统?
    VCS 是一种软件,它使软件开发人员能够一起工作,同时保留在任何时候完成的工作的整个历史。
  • VCS 有 2 种类型:
    • 中央 VCS。 示例:Git
    • 分布式/去中心化 VCS。 示例:SVN
  • VCS 成为 DevOps 不可或缺的一部分的原因是:
    • 它允许开发人员一起处理一段代码
    • 它不允许他们覆盖彼此的更改
    • 它维护了每个版本的历史
  • Git pull 和 Git fetch 有什么区别?
    以简单方程的形式,
    Git 拉取 = Git 提取 + Git 合并
    git pull 命令用于从中央存储库的分支中将任何新更改或提交到本地存储库中的目标分支。
    git fetch 命令也有同样的目的。 但是,它不会将新的更改和提交存储在目标分支中,而是将它们存储在新分支中。 为了确保更改也反映在目标分支中,我们必须使用 git merge 命令。
    该等式在记住每个命令的功能时非常方便。
  • 我们如何知道 Git 中的某个分支是否已合并到 master 中?
    通过使用git branch -merged 或 git branch -no-merged 命令。
    前者显示已与当前分支合并的所有分支,而后者显示尚未合并的分支。
  • 哪些分支策略可用于 Git?
    • 特征分支
      在这个分支策略中,一个特性的所有更改都保存在分支内。 当自动化测试测试和验证功能分支时,该分支被合并到主分支中。
    • 任务分支
      在这种策略下,每个任务都在自己的分支中实现。 任务键与分支名称一起包含。 这个键的存在可以很容易地看出哪个任务是由哪个代码实现的。
    • 发布分支
      一旦开发分支准备好其功能,它就会被克隆以形成发布分支。 创建此分支会启动发布周期,因此无法添加任何新功能。 唯一可以执行的任务是:错误修复、文档生成和其他与发布相关的任务。 该版本被合并到主版本中,并在准备好发布时用版本号标记。
  • 什么是 SubGit?
    SubGit 是用于将 SVN 迁移到 Git 的工具。
  • 我们如何使用 Jenkins 克隆 Git 存储库?
    第一步是在 Jenkins 系统中输入一个人的用户名和电子邮件。 然后转到您的作业目录并执行“git config”命令。
  • Ansible Playbook 和 Roles 有什么区别?
    剧本:
    包含戏剧
    充当主机和角色之间的映射
    示例:webservers.yml、site.yml
    角色:
    是可重复使用的剧集子集
    是完成某个角色的一组任务
    示例:common, webservers
  • 什么是 Docker?
    Docker 是一种将所有应用程序和相关依赖项打包到容器中的技术,从而确保您的应用程序在任何环境中都能顺利、完美地运行。 Docker 镜像用于创建这些容器。

它仅在 Linux 和云平台上运行:

  • openSUSE 12.3+
  • 琴图
  • ArchLinux
  • RHEL 6.5+
  • Fedora 20+
  • 微软天青
  • 机架空间

仅举几例。

  • 什么是 Scrum?
    Scrum 就像一个任务解决者,它使用迭代和增量实践将复杂的软件和开发任务分成更小的可行块。 每次迭代运行 2 周。
  • Jenkins 支持哪些 SCM 工具?
    • 实时时钟
    • 强制执行
    • 透明盒
    • 吉特
    • 颠覆
    • CVS

DevOps 涵盖的领域非常广泛,因为它融合了软件创建的 2 个独特阶段。 上面的列表给出了被问到的问题类型的概念,并且绝不是详尽的。 但是,对于一个强有力的开端,你不会出错。 祝你面试准备好!

从世界顶级大学在线学习软件工程课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

至此,我们完成了Devops 面试问答。 我们希望我们的指南对您有所帮助。 我们将定期更新指南,让您随时了解最新情况。

如果您有兴趣成为 DevOps 工程师,请查看 IIIT-B 和 upGrad 的全栈软件开发计划中的执行 PG 计划。

什么是 DevOps?

DevOps 是一个术语,用于描述软件开发人员、站点可靠性工程师和质量保证工程师之间的协作。 它可以被视为一种方法论或文化。 这是一种通过软件开发人员和 IT 运营部门的协作用于应用程序开发和交付的理念。 DevOps 一词是开发和运营这两个词的混合。 已经开发和实施了新的 DevOps 实践,以帮助软件开发人员更有效地相互协作,并帮助 IT 运营人员更快地向客户交付软件。

DevOps 中使用的版本控制工具是什么?

Git 是 DevOps 中最流行的工具之一。 它是一个分布式版本控制系统,主要用于源代码管理。 Git 将项目的每个修订版存储在自己的存储库中。 Git 最大的特点是它的分布式特性。 任何程序员都可以轻松地与团队中的其他人协作和共享代码。 最好的部分是它在开发人员编码时为他们节省了大量时间,从而带来更好的工作。

DevOps 开发人员做什么?

DevOps 这个词是两个术语的组合:开发和运营。 该术语由 Patrick Debois 创造,它指的是最近将软件开发生命周期的两个方面合并并模糊其职责的传统界限的趋势。 DevOps 工程师与开发软件的团队和运行服务器的团队一起工作。 DevOps 工程师的角色可以概括如下: 拥有与交付单个服务或系统以及所有支持服务和系统相关的所有事情的所有权, 与开发团队一起确定开发和运营之间的依赖关系,与运营团队合作,帮助自动化运营和交付流程的开发, 作为开发和运营团队与产品和项目管理团队之间的联络人。