DevOps不是一个独立的工作事实上它甚至不是一个职位;这是某种跨学科的软件工程新方
法。IT专业人士通常在自己的职业生涯过程中会担任DevOps中担任某些职责而且该职位
十分火热。 
DevOps结合了软件编码知识与质量保证(QA)技能还有业务工作流程软件的持续开发以及
部署。未来的开发者必须证明自己拥有足够的技能与知识来参与和管理DevOps组织。 
练习这些在DevOps面试时的问题以展示自己的才华来争取这个令人垂涎的职位。 
  
让我们谈谈你的教育和经验 
突出强调你对DevOps原理的理解并向面试官展示你的背景以及如何准备担任这个角色。 
DevOps的职责范围各不相同但大多数入门级DevOps角色需要具有计算机科学的学士学位
或者相关领域经验包括编码、QA测试以及IT基础设施组件等。更高级别的DevOps角色
可能需要在系统架构与软件设计上的高级学位。 
谈及你在虚拟化方面的认证云计算和具体的编程语言。还有供应商提供的e-learning软件
开发工具如代码分析工具或系统管理与自动化工具可以更完整的展现你的专业知识。 
比较DevOps的招聘职位和你的简历。大多数入门级DevOps相关职位要求三到五年的代码
开发与测试经验。DevOps涉及操作和部署可能会要求至少四年的运营经验例如在数据
中心或云基础架构领域的IT系统管理工作。强调自己的系统管理与工作流自动化配置管
理和发布管理经验。 
DevOps依赖于开发、测试与运营团队之间密切的合作关系任何科学的管理后台经验都是
值得在面试中分享的。让潜在雇主了解你如何让不同的团队客服障碍共同努力保持严格
的发布计划并适应新的工具与技术。 
面试DevOps职位前必须牢记下列信息 
敏捷与迭代 
持续集成和部署 
聊天运营和配置管理 
GitHub、QA和发布管理 你的系统背景如何 
DevOps专家需要在服务器和系统上具备运营经验包括部署能够支持负载的网络硬件与架
构部署。 
一些DevOps工作需要额外的系统知识包括服务器集群与高并发系统。在这个级别DevOps
工程师需要分析系统可用性并部署升级来提升效率、可扩展性与可用性或者弹性。需要具备
坚实的操作系统与支撑技能如网络安全、×××和代理服务器配置。 
DevOps依赖于虚拟化进行快速工作负载提供——为新虚拟机提供计算资源以支持下一次部
署——所以需要对主要的虚拟化管理平台有详细了解。这包括备份、迁移以及生命周期管理
策略以便保护、优化与恢复计算资源。一些环境可能还很重视针对虚拟容器开发的微服务
软件开发。 
运营专家必须包括额外的系统管理工具知识如Microsoft System Center、Puppet、Nagios
和Chef。DevOps工作十分重视运营能力如解决问题、故障处理和分析技能。 
分享一些你是如何在节约开销的同时提升利用率如服务器整合项目或资源分配与性能监控
经验。 
你正在使用哪些DevOps工具? 
DevOps涉及到编码、测试、部署与加固等环节。工具是否合适取决于团队规模以及组织专
业化程度。 
软件配置管理和版本/发布(版本控制)巩固包括Apache Subversion、Mercurial、Fossil等等
可以完善文档变更请求。当软件变更时开发者可以更容易遵循公司的最佳实践与策略。 
持续集成(CI)工具如Rational Build Forge、Jenkins和Semaphore能整合所有开发者的工作代
码拷贝到一个集中版本。这些工具适用于更大型的团队其中的开发者们同时工作于相同的
代码库上。 
QA专家使用代码分析工具来测试软件的错误、安全和性能。如果你已经使用过HP的Fortify 
Static Code Analyzer可以说说它是如何发现代码语言中潜在的安全风险。同样可以聊聊 
GrammaTech的CodeSonar工具如何使用它来定位内存泄漏、缓存欠载以及其他C/C++和
Java代码的检查。 
你需要掌握主语言命令——Ruby、C#、.NET、Perl、Python、Java、PHP、Windows PowerShell
——并且能够在相关的操作系统环境下使用——Windows、Linux和Unix。 
你有多少基于云的软件开发? 
预计下一阶段的DevOps面试问题将问及你在云服务上的经验可能涉及到DevOps的迭代、
IT集成经验。 
许多DevOps专家需要拥有与主要云服务提供商如亚马逊网络服务(AWS)弹性计算云和谷
歌云平台的经验。分析你身边使用云平台的知识、提供新实例、编写新的软件以及通过云提
供商的API或软件开发工具包来配置集群扩展计算能力管理工作负载生命周期等。 
这是一个讨论如何用基于容器的云来替代传统虚拟机的好时机。基于事件的云如AWS 
Lambda提供另外一种软件开发方法对有经验的DevOps候选者来说是个福音。 
强调对第三方工具的全面了解能把DevOps带到云项目。专注于使用云而不是刚上市的一
次性成功项目或任务。 
在面试时谈及自己在处理大数据时的经验以及如何采用云基础设施架构提高它的扩展性
以处理复杂的计算任务。 
谈谈你是如何具体管理接手的项目 
强调自己置身于DevOps项目管理的问题中。框架化的围绕解决复杂的业务问题来讨论
DevOps管理。 
作为一名具有管理责任的专家必须证明自己对DevOps项目管理策略有着清醒地认识。讨论你如何与团队制定目标、简化工作流程、维护范围(防止蠕变)研究和推出新工具或框架
转换需求到工作流并跟进。包括如何配置管理与发布管理还有采用其他工具来跟踪项目。 
高级的DevOps角色如首席DevOps工程师需要更多商业头脑和人际交往能力。分享你
如何解决纠纷与团队冲突的经验。 
你还熟悉哪些工具可以帮助胜任这个角色? 
这个DevOps面试问题可以真正提升你从“合格”到“理想人选”。 
DevOps是如此的多元化与包容它很少以编码、测试和系统结束。一个DevOps项目可能依
赖于类似SQL或NoSQL的数据库平台数据结构服务器如Redis或者配置与事件跟踪系统
如Redmine。 
web应用程序是现代企业必备的说明自己有Web服务器如Microsoft Internet Information 
Services、Apache Tomcat 或其他Web服务器的应用背景。 
遵循标准化方法来进行软件开发的组织都会寻找熟悉敏捷应用程序生命周期管理的技术人
才与工具。 
而且DevOps角色的职位描述通常还十分注重熟悉业务在监管行业还会要求候选人熟悉ITIL
实践。