如今,站点可靠性工程师(SRE)供不应求,其职位空缺数以万计。如果在招募网站Indeed上搜索美国的SRE职位需求,最新的一次搜索结果是有9,475个SRE职位空缺。由于各行业组织都希望提高其系统的性能和可靠性(无论是面向客户的服务还是关键的内部应用程序),因此站点可靠性工程师(SRE)的数量难以满足需求。
而与其他IT部门工作相比,SRE面试的准备工作可能更加困难。即使其起源于传统的IT运营以及DevOps团队,SRE对于许多企业来说仍然是一个崭新的领域和角色。而其具备的软技能和技术技能一样至关重要。
什么是SRE?
DevOps Institute公司首席研究官Eveline Oehrlich 对于SRE的角色给出这样的定义:“站点可靠性是谷歌公司首先提出的一种服务管理方法。这是操作大型系统的后期实践,而其工程师则侧重于操作。”
他指出,“SRE通常是软件工程师,他们执行现场操作。SRE采用现场原则来管理可用性、延迟、性能、效率、变更管理、监控、紧急响应和容量规划,从而为生产系统及其用户的可靠性提供支持。他们还可以充当技术支持工程师,使用监控、容量和优化自动化工具提供支持。他们的重点是满足可用性、性能、安全性和可维护性的非功能性需求。”
如何为站点可靠性工程师(SRE)的工作面试做好准备
Nobl9公司首席运营官Kit Merker说:“由于具有技术技能和丰富经验时,SRE的作用实际上就是帮助他人权衡取舍和减轻施加给他们的压力,以实现快速和安全交付产品。一方面要求组织提供新的功能,另一方面要确保安全、良好和稳定,而每个组织都存在这种冲突。”
在某些组织中,尤其是那些拥有根深蒂固的流程和文化的组织,人际交往能力或各种软技能可能是工作中最困难的部分。
Harness公司首席技术官Ravi Lachhman说,“站点可靠性工程的兴起表明技术对我们的日常生活产生了重要影响。与DevOps相似,SRE有着更多的技能,组织需要启用和促进SRE文化和实践。”
如果认为SRE是超级英雄的话,那么这是一个不切实际的想法。Lachhman表示,这种情况确实会发生,但SRE真正关注的是确保停机不会发生,他们对正常运行时间更加关注。
Lachhman说:“SRE被看作是行业专家,可以帮助提高有关组织的系统健壮性和可靠性,并在其实践和架构间提供建议。”
不过,鉴于SRE在许多组织中仍然是新角色,因此无法确定其定位。SRE具有值得信赖的专家身份,这意味着要与组织中的团队和个人密切合作。这个角色既具有社交性又具有技术性。
Merker说:“SRE通常是那些有说服力的人物,他们的业务范围不仅涉及计算机系统,而且涉及社交领域。这是因为人类是任何系统中最重要的部分,而不是代码或服务。”
站点可靠性工程师(SRE)面试的7个问题
求职者在应聘SRE职位时,需要记住如何回答以下这些问题;同样,招聘人员也要了解这些问题。以下是对对站点可靠性工程师(SRE)的7个工作面试问题的解析和回答。
问题1:如何确定团队应该开发新功能还是减少技术债务?
SRE在协商开发新功能与减少技术债务之间的紧张关系方面扮演着越来越重要的角色:大多数组织总是同时面临这两个事项。尽管这个问题可能源于技术决策,但它说明了SRE的社交性。
这是Merker最喜欢询问的问题之一,他特意将这个问题设为开放式问题,这是因为他希望了解求职者的信息,以获取更多数据和背景。
Merker说,“如果对于问题的回答有严格的规定,那么求职者的回答可能不会让我满意。我要寻找的是他们对客户和业务的好奇心,对组织各种角色的理解,以及获取数据以支持不同观点的愿望。”
对于SRE求职者来说,这一问题是展示其如何处理看似无法克服的问题的机会。他们需要回答一些问题:例如,如何确定人们能够达成一致并努力工作的优先事项?技术债务何时可以接受(或不可避免)?如何支付?
Merker说:“SRE工作的很大一部分是在这些不同的利益之间进行调解,并为一些不可能解决的问题找到切实可行的答案。虽然没有确切的正确答案,但真正重要的事情是找到答案的过程。”
问题2:如何设置SLO和SLI,以及在必要时如何进行调整?
服务水平目标(SLO)和服务水平指标(SLI)是衡量SRE的基本指标。SLO是特定应用程序的目标。SLI是针对这些目标的绩效的实际衡量标准。
Lachhman指出,SRE功能通常是定义和完善SLO和SLI的核心。通常情况下,开发人员不一定了解他们构建和维护的应用程序的规范或基准,特别是在SRE才入职的情况下。
招聘经理应该深入研究求职者如何识别和定义SLO和SLI;而作为求职者,则应该准备回答如何使用这些指标。此外,确保可以讨论经过深思熟虑的过程,以便随着时间的推移重新评估和优化这些指标。
Lachhman说,“像任何指标一样,它们也需要进化,而就SLO/SLI的改变进行协商是十分重要的。”
问题3:可观察性的三个因素中哪一个对你最重要?你觉得需要更加关注哪一个?
可观察性的三个支柱是日志记录、指标和跟踪。总体而言,可观察性是SRE领域固有的特征。
Lachhman说:“测量系统的科学是聘用SRE的核心。”他指出站点可靠性工程中的四个信号是思考这个问题的基础。
Lachhman说,“哪个因素可以帮助你确定最佳的信号?这些因素最终将引导你进行SLO/SLI测量。而对一个或多个因素表现出兴趣将会表明你已准备好扮演自己的角色。”
通常情况下,在任何SRE职位上衡量都是至关重要的,因此,如果你希望从另一个IT领域担任这一角色,需要记住这一点:这是一个数据驱动的规程。
问题4:你在过去如何实施流程改进和其他更改?
SRE中的“E”代表工程师,虽然SRE具有技术技能。但是这一角色比其他IT人员需要更多的软技能和变更代理功能。
DevOps研究所的Oehrlich说,“虽然SRE职位是一个工程角色,但与人们认为的工程角色不一样。尽管在某些组织中已经建立了现有的监视实践、呼叫程序和其他标准流程,但SRE应该思考并挑战现有的工作方式。这需要具有创造力和坚韧性。”
创造性和坚韧性实际上是SRE关键的特征,尤其是在处理自我意识、对变革的文化抵制和其他挑战时。
Oehrlich说:“作为招聘经理,我会问求职者在哪些方面表现出了这样的素质,他们是如何做到的,以及取得了哪些成就。”
问题5:你如何平衡团队中不同主管部门的意愿和需求?
Oehrlich指出,工作的另一个关键目标出现在SRE的名称中:可靠性。不同的组织和不同的客户群对可靠性的最佳途径有不同的看法。即使在DevOps社区中也存在意见和分歧。
Oehrlich说:“存在上游(开发)和下游(运营)的任务、流程和程序,需要理解、利用或潜在地改变。这意味着有时上游和下游所有者可能会保护已经存在的东西。”
这就是DevOps和SRE的角色经常重叠的原因。
Oehrlich说:“透彻的技术知识、真诚的改进意愿,专注于任务而不是自我,所有这些都是SRE必不可少的特质。作为招聘经理,我将会关注求职者在开发和运营两个部门之间如何工作的意愿。”
问题6:客户经验或员工经验如何影响你的SRE策略?
招聘经理和SRE都应提防这一警告标志:可以整天谈论指标,但不能将这些指标与客户或内部用户的结果联系起来。
Oehrlich说:“出色的平均恢复时间(MTTR)和满足服务水平目标(SLO)并不能自动提高客户或员工满意度。SRE需要从外向内思考,并将SLO、SLA和SLI转化为重要的内容。”
SRE通常需要精通脚本、编排和监视等领域。但是他们需要知道这些技术如何在严格的技术范围之外解决问题。
Oehrlich表示:“我们所见过的最好的SRE是可以将外部视角(即客户和员工体验)转化为可靠的可观察性和监控策略的人员,这种策略会慢慢转向积极主动的客户和员工体验。因此询问他们在客户体验(CX)和员工体验(EX)管理方面的专业知识可能是一个好主意。”
问题7:你如何学习并紧跟行业趋势和工具链的发展?
在IT面试中,提出有关学习和专业发展的问题相对常见,但它们在SRE领域中具有特定的用途:可以告知求职者其具备的一些知识可能很快就会过时。
Lachhman说:“有时总是采用新技术解决传统问题,但也可能面临新的挑战。作为专家,SRE需要紧跟趋势和技术进步。”
与DevOps和各种开源项目一样,新兴的SRE领域值得探索。有很多针对SRE的社区。GitHub上的Awesome SRE存储库提供了资源列表。
原文标题:7 top Site Reliability Engineer (SRE) job interview questions,作者:Kevin Casey