Q1。DevOps和Agile之间的根本区别是什么?

下表中列出了两者之间的差异。

特征 DevOps--开发运维 Agile--敏捷
敏捷 开发和运营中的敏捷性 只有发展才能敏捷
流程/实践 涉及CI,CD,CT等流程。 涉及诸如敏捷Scrum,敏捷看板等实践。
时效与质量 时效与质量同等重要 及时是重中之重
发布周期/开发周期 释放周期短,可立即获得反馈 释放周期更短
反馈来源 反馈来自自我(监视工具) 反馈来自客户
工作范围 敏捷性与自动化需求 仅敏捷

Q2。DevOps有什么需求?

这个答案应该从解释总体市场趋势开始。公司没有发布大量功能,而是尝试查看是否可以通过一系列发布系列将小的功能传输给客户。这具有许多优点,例如来自客户的快速反馈,更好的软件质量等,从而导致很高的客户满意度。为此,公司必须:

  1. 增加部署频率
  2. 降低新版本的失败率
  3. 缩短了两次版本之间的交付时间
  4. 新版本崩溃时平均恢复时间更快

DevOps满足所有这些要求,并有助于实现无缝的软件交付。您可以举一些像Etsy,ali,Google和Amazon这样的公司的例子,这些公司采用DevOps来达到甚至五年前都无法想象的性能水平。他们每天进行数十,数百甚至数千个代码部署,同时提供世界一流的稳定性,可靠性和安全性。

Q3。DevOps与Agile / SDLC有何不同?

我建议您遵循以下说明:

敏捷是关于如何生产(即开发软件)的一套价值观和原则。示例:如果您有一些想法,并且想要将这些想法变成可行的软件,则可以使用敏捷的价值观和原则来做到这一点。但是,该软件可能只能在开发人员的笔记本电脑或测试环境中运行。您需要一种以安全,简单的方式快速,轻松且可重复地将软件迁移到生产基础架构中的方法。为此,您需要DevOps工具和技术。

可以这样概括地说,敏捷软件开发方法论着重于软件开发,但另一方面,DevOps负责以最安全,最可靠的方式进行软件的开发和部署。

Q4。有哪些顶级DevOps工具?您使用了哪些工具?

以下是最受欢迎的DevOps工具:

  • Git:版本控制系统工具
  • Jenkins:持续集成工具
  • Selenium :连续测试工具
  • Puppet, Chef, Ansible:配置管理和部署工具
  • Nagios:连续监视工具
  • Docker:容器化工具

您还可以根据需要提及其他任何工具,但请确保在回答中包括上述工具。

答案的第二部分有两种可能性:

  1. 如果您具有上述所有工具的经验,那么您可以说我已经在所有这些工具上工作,以开发高质量的软件并轻松,频繁且可靠地部署这些软件。
  2. 如果您仅对上述某些工具有经验,请提及这些工具,并说我对这些工具有专长,并对其余工具进行了概述。

Q5。所有这些工具如何一起工作?

下面给出的是通用逻辑流程,其中所有内容均实现了自动化以实现无缝交付。但是,根据需求,每个组织的流程可能会有所不同。

  1. 开发人员开发代码,此源代码由版本控制系统工具(如Git等)管理。
  2. 开发人员将此代码发送到Git存储库,并且对代码所做的任何更改都将提交到此存储库。
  3. Jenkins使用Git插件从存储库中提取此代码,并使用Ant或Maven之类的工具进行构建。
  4. 诸如puppet之类的配置管理工具会部署并配置测试环境,然后Jenkins在测试环境中发布此代码,并使用硒等工具在此环境中进行测试。
  5. 一旦测试了代码,Jenkins便将其发送以在生产服务器上进行部署(甚至生产服务器也由puppet之类的工具提供和维护)。
  6. 部署后,它会被Nagios等工具持续监控。
  7. Docker容器提供了测试环境以测试构建功能。

Q6。DevOps有哪些优势?

技术优势:

  • 持续交付软件
  • 不太复杂的问题需要解决
  • 更快地解决问题

商业利益:

  • 更快地交付功能
  • 更稳定的操作环境
  • 更多时间可用于增加价值(而不是修复/维护)

Q7。DevOps帮助我们实现的最重要的事情是什么?

据我说,DevOps帮助我们实现的最重要的事情是尽快将变更投入生产,同时最大程度地降低软件质量保证和合规性方面的风险。但是,您可以添加DevOps的许多其他积极作用。例如,团队之间的更清晰的沟通和更好的工作关系,即Ops团队和Dev团队共同协作以交付高质量的软件,从而提高了客户满意度。

Q8。说明可以在工业/现实生活中使用DevOps的用例。

Etsy是一个对等电子商务网站,专注于手工或老式物品和用品,以及独特的工厂制造物品。Etsy在缓慢而痛苦的网站更新中苦苦挣扎,这些更新经常导致网站崩溃。这影响了数百万Etsy用户的销售量,这些用户通过在线市场出售商品并冒着将商品推向竞争对手的风险。

在新的技术管理团队的帮助下,Etsy从其瀑布模型(该模型每周两次进行四小时的全站点部署)过渡到了更加敏捷的方法。如今,它拥有一个完全自动化的部署流程,据报道,其持续交付实践每天可进行50多次部署,中断次数更少。

Q9。在过去与您合作过的团队中,说明您在软件开发方面和技术运营方面的理解和专业知识。

DevOps工程师几乎总是在24/7关键业务在线环境中工作。我适应了随叫随到的职责,可以承担实时的实时系统职责。我成功地实现了流程自动化,以支持连续的软件部署。我对公共/私有云,Chef或Puppet等工具,使用Python和PHP等工具进行脚本编写和自动化以及在Agile中具有背景知识有丰富的经验。

Q10。DevOps的反模式是什么?

模式通常是常用的用法。如果其他人通常采用的模式对您的组织不起作用,并且您继续盲目地遵循它,那么您实际上是在采用反模式。关于DevOps的神话。其中一些包括:

  • DevOps是一个过程
  • 敏捷等于DevOps?
  • 我们需要一个单独的DevOps组
  • Devops将解决我们所有的问题
  • DevOps意味着开发人员管理生产
  • DevOps是开发驱动的发布管理
    1. DevOps不是由开发驱动的。
    2. DevOps不是由IT Operations驱动的。
  • 我们无法做DevOps –我们是独一无二的
  • 我们无法进行DevOps –我们选错了人

欢迎关注 Java架构师社区公众号.

本文转载自Java架构师必看 ,更多内容点击查看!

【9】进大厂必须掌握的面试题-DevOps面试的更多相关文章

  1. go golang 笔试题 面试题 笔试 面试

    go golang 笔试题 面试题 笔试 面试 发现go的笔试题目和面试题目还都是比较少的,于是乎就打算最近总结一下.虽然都不难,但是如果没有准备猛地遇到了还是挺容易踩坑的. 就是几个简单的笔试题目, ...

  2. BATJ等大厂最全经典面试题分享

    金九银十,又到了面试求职高峰期,最近有很多网友都在求大厂面试题.正好我之前电脑里面有这方面的整理,于是就发上来分享给大家. 这些题目是网友去百度.蚂蚁金服.小米.乐视.美团.58.猎豹.360.新浪. ...

  3. 一份完整的 MySQL 开发规范,进大厂必看!

    作者:听风 https://www.cnblogs.com/huchong/p/10219318.html 一.数据库命令规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象 ...

  4. 大厂常问iOS面试题--多线程篇

    1.进程与线程 进程: 1.进程是一个具有一定独立功能的程序关于某次数据集合的一次运行活动,它是操作系统分配资源的基本单元. 2.进程是指在系统中正在运行的一个应用程序,就是一段程序的执行过程,我们可 ...

  5. 大厂常问iOS面试题--性能优化篇

    1.造成tableView卡顿的原因有哪些? 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候 ...

  6. 2020年,大厂常问iOS面试题汇总!

    Runloop & KVO runloop app如何接收到触摸事件的 为什么只有主线程的runloop是开启的 为什么只在主线程刷新UI PerformSelector和runloop的关系 ...

  7. iOS开发|从小公司到进大厂,我的进阶学习之旅!

    iOS高级进发 OC源码下载地址 苹果开发文档 如何阅读苹果开发文档 GNUstep是GNU计划的项目之一,它将Cocoa的OC库重新开源实现了一遍 源码地址:http://www.gnustep.o ...

  8. 想进大厂,想收获高薪offer,资深猎头告诉你怎么做......

    其实吧,面试官面试的时候主要就看三个方面:现在能力如何,未来潜力如何,人品如何. 第一个因素是最重要的,因为后面两个因素有太多的人为判断因素,无法量化.所谓的面试准备,"现在能力如何&quo ...

  9. 会用python把linux命令写一遍的人,进大厂有多容易?

    看过这篇<2000字谏言,给那些想学Python的人,建议收藏后细看!>的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令. 文章中我就提到如何提升自己的 ...

  10. 校招必看硬核干货:C++怎么学才能进大厂

    目录 关于小猿 如何找资料 自我定位 岗位需求 学习路线及时间安排 资料获取方式 C++语言在历史舞台上出现了不短的时间,虽然一直面临着Python,Go等新语言的挑战,但它在基础架构和大型软件上的优 ...

随机推荐

  1. Java 的设计模式之一装饰者模式

    刚开始接触装饰者的设计模式,感觉挺难理解的,不够后来花了一个晚上的时间,终于有头绪了 装饰者设计模式:如果想对已经存在的对象进行装饰,那么就定义一个类,在类中对已经有的对象进行功能的增强或添加另外的行 ...

  2. Elasticsearch1.7到2.3升级实践总结

    概括 简述 升级分为Elasticsearch server升级和Elasticsearch client api升级 为什么要迁移 当前团队内多个业务方公用一套ES集群,容易被影响,重要业务应该独自 ...

  3. 解决ultravnc在win2008 R2下CTRL+ALT+DELETEA组合键发送失败的问题

    首先,请google “ultravnc ctrl+alt+delete”,得到的解决方法是,更改UAC.进入组策略-计算机配置-管理模板-windows登陆选项,“禁用或启用软件注意序列”,更改成“ ...

  4. GridView分页操作

    1.html <PagerStyle HorizontalAlign="Center" /> <PagerTemplate> 第: <asp:Labe ...

  5. Python安装模块出错(ImportError: No module named setuptools)解决方法

    原地址:http://www.cnblogs.com/BeginMan/archive/2013/05/28/3104928.html 在window平台下安装第三方模块时,出现这样的错误:

  6. linux安装Tesseract-OCR

    安装Tesseract-OCR 1. leptonica 需要源码编译安装http://www.leptonica.org/ leptonica 包: leptonica-1.73.tar.gz  解 ...

  7. Struts2的整体回顾(Action, 拦截器, 值栈, OGNL表示式, ModelDriven)

    ValueStack里有map(request, session, attr, parameters)和对象栈. Map调用的方法: ActionContext.getContext().put(k, ...

  8. Redis多实例及主从搭建

    主从搭建前提是服务器上已经安装好了redis, redis安装可搜索本站另一篇博客:redis安装. redis单主机多实例 一.我们首先拷贝两份文件: cp /etc/redis.conf /etc ...

  9. Android 分包 MultiDex 策略总结

    1.分包背景 我们在Android开发中,会不断的在App代码里面增加新功能,引入新的类库,如果不加控制的话,那么会碰到编辑器IDE爆出一下错误: Error:Execution failed for ...

  10. linux内核完全剖析——基于0.12内核-笔记(2)-统一编址和独立编址

    IO是什么 ? IO(Input and Output)是输入输出接口.是CPU和其他外部设备(如串口.LCD.触摸屏.LED等)之间通信的接口.一般的,我们说的IO就是指CPU的各种内部或外部外设. ...