面试 LinkedIn SRE 是一种怎样的体验?

LinkedIn SRE 面试流程解读:从规模背景、电话筛选、代码与运维题,到现场故障排除、告警分级和大型网站架构设计面试。

作者 译文

LinkedIn SRE 照片

这篇文章通过 LinkedIn 的 SRE 招聘流程,展示大型互联网公司如何评估候选人的代码能力、系统运维能力、现场故障排除能力、告警优先级判断和大型网站架构设计能力。

先看核心要点:

  • LinkedIn SRE 面试不是只问系统管理知识,而是会覆盖代码、运维、排障、告警分级和架构设计。
  • 现场故障排除是面试重点,候选人会连接到正在运行的服务处理问题。
  • 面试会模拟真实 SRE 工作:多个警报同时出现时,候选人需要解释优先级判断。
  • LinkedIn 希望 SRE 既能维护大规模网站,也能读写代码、调试系统并与不同团队协作。

LinkedIn 简介

LinkedIn 是全球第六大流量最高的网站,每月拥有超过15亿次独立访问。LinkedIn 希望 “为全球劳动力创造经济机会”,不仅仅是在线简历,更希望创建一个“经济图谱”,类似于Facebook的社交图谱,其中包含了全球经济的各个方面——公司、就业岗位、学校、技能等。

LinkedIn 网站数据

LinkedIn 网站数据

截至2022年,LinkedIn 拥有:

  • 8.5亿会员
  • 每月1.25到1.5十亿的独立访问量
  • 2022年5月,接近15亿全球独立访客访问了LinkedIn.com,较2021年12月的13亿访客增加。
  • 39%(或3.4亿)用户为高级会员。

2017年,LinkedIn 拥有:

  • 1500多项生产服务
  • 600 TB存储数据
  • 排名世界第八繁忙网站
  • 100多个SRE支持1000多个SW工程师(比例10:1合理)
  • 运营中超过20,000台生产机器
  • 300多个RESTful服务
  • 99%服务延迟目标为10毫秒
  • 处理每天7万亿条消息的100+ Kafka集群

LinkedIn 需要这样的 SRE

在 LinkedIn,SRE 主要负责搭建并维护一个拥有 8.5 亿会员的网站,保障它的稳定和可靠。我们维护了超过 450 个独立的服务,让大家可以在任何地方、任何时间使用 LinkedIn 的服务。

这种责任真的很棒,这份工作需要具有某种特质的人,这个具有独特技能的人,是谁呢…

面试 LinkedIn SRE 是一种怎样的体验? - 图1

我不知道异常代码的位置, NullPointerException ,但我会找到并修复它

好吧,也许并没有那么夸张。但是,这份工作真的需要一个有特质的人。不仅需要具备维护超大规模网站的技能,而且必须具备编写和读取代码的能力,调试并解决问题。当超过 40,000 个生产级服务器需要处理时,自然不能一次只维护一个机器,需要将服务构建在具有多个活跃数据中心的环境中运行,每秒处理数万个查询命令。此外,即使服务处于缓慢运行状态也要保证它们的可用性,同时还需要能够与其他工程师、管理层以及其它岗位同事协同工作,听起来的确是压力很大的一份工作。

这样的 SRE,面试的过程如何?还蛮有意思的。

会面前的筛选

想雇到具有上述特质的人真的很难,找到他们已经很难了,在相应的时间内验证他们确实有这种能力更是难上加难。在这篇文章中,我将谈谈在 LinkedIn 是如何招到合格的 SRE 的。一切都是从一个电话开始的。首先,我们的招聘人员会打电话给你,问你为什么考虑加入 LinkedIn ,你什么时候可以入职,然后会问一些常见的知识系统管理问题。假如通过了这些初步环节,我们会给你一个显示 SRE 工作代码的手机,在这个手机屏幕中,我们会要求你执行一些代码问题,这些问题与你将要从事的工作有关,例如日志解析或使用 RESTful API。

一旦确定了你的代码能力,我们会给你另一个手机屏幕显示与 SRE 工作相关的操作问题,例如,互联网工作原理, LinkedIn SRE 需要执行的网站扩缩,以及如何监控复杂的网站等。假设进展顺利,我们就可以在现场与团队会面啦!

有趣的面试

进行到这一步,真正的乐趣开始了。它通常需要几个小时,包括很多环节。你会在办公室体验午餐(每个办公室为 SRE 提供午餐),并与一个 SRE 经理见面,他会告诉你他们的故事,或分享一些你需要的或能给你带来机会的数据。

面试 LinkedIn SRE 是一种怎样的体验? - 图2

咖啡馆由我们的员工精心打理。照片来自 Jo Chou

在评估你的技术能力前还不能离开,对于大多数面试,我们在现场会提供 3 个独立的机会。面试的很大一部分与现场故障排除有关。这是真实的,你将通过一台笔记本电脑连接到正在运行的服务,去处理它的一些问题。这就像是上班,如果你陷入困境会有人出来帮你。在练习期间,你可以使用你喜欢的搜索引擎,可以查看手册,以及其他在故障排除时需要做的事情。

在 LinkedIn 做 SRE 很酷的一点是,当一个问题发生时,你很可能是历史上第一个解决这个问题的人。考虑到我们堆栈的复杂性和服务之间的交互,处理每个问题都像是第一次。这就是为什么我们有现场故障排除模块,我们希望你体验到这是什么:)

除了现场故障排除练习,作为 SRE 的另一个重要部分是分类问题。甚至,你会被呼叫并负责网站的操作。发生这种情况时,你可能会看到几个警报同时触发。我们会要求你优先提供一组示例警报,并说明你为什么按照这种方式对其进行优先级排序。然后我们会向你询问一些疑难问题。这项安排旨在模拟你在工作中的真实情况,并让你了解作为 LinkedIn SRE 会是什么样子。

当你在白板前和我们谈论完构架以后,面试就结束了。作为 SRE 角色的一个重要职责,就是从一开始就参与到新的服务架构和设计决策中。因此,作为面试过程的一部分,我们将要求你完成一个标准的大型网站架构。也会和你谈谈好的地方以及不好的地方,质疑你的组件,讨论如何处理容错,位置分布,缓存清除以及在我们所做的规模上操作网站时需要考虑的其它事项。

LinkedIn 的 SRE 必须快速行动以解决问题,我们也会在面试后迅速采取行动。我们会在几天内(在这里没有几周的过程)让你知道,如果一切顺利,你就可以加入并帮助我们建立新的机会了!

把流程拆开看,LinkedIn SRE 面试主要在验证这些能力:

面试环节 验证能力 典型信号
招聘电话和基础问题 动机、可入职时间、基础系统管理知识 是否理解岗位和基本运维概念
代码问题 读写代码、日志解析、RESTful API 使用 能否用代码解决 SRE 工作中的实际任务
运维问题 网络、扩缩容、复杂网站监控 是否具备大规模系统操作意识
现场故障排除 实时诊断、搜索资料、使用手册、定位问题 能否在不确定场景下推进排障
告警优先级 事故分类、风险判断、值班决策 能否解释为什么先处理某类告警
架构设计 容错、分布式部署、缓存、规模化运行 能否从设计阶段考虑可靠性

LinkedIn Build Opportunity

我们的工程口号是“建立机会”, 它真的涵盖了我们在 LinkedIn 所做的,我们为世界上的每一个专业人士创造机会。

期待 LinkedIn 成为你的下一个归宿

如果你认为你可以处理我们网站的操作要求,并且觉得刚刚描述的工作是有趣和让人兴奋的,我们很希望你加入我们的团队!山景城,桑尼维尔,旧金山,纽约和班加罗尔都有职位,所以无论你在哪里,你都离 LinkedIn SRE 不远!

常见问题

Q1:LinkedIn SRE 面试为什么强调代码能力? A:原文强调 SRE 不只是维护机器,还要能编写和读取代码、调试并解决问题。日志解析、RESTful API 等题目直接对应日常 SRE 工作。

Q2:现场故障排除环节考的是什么? A:它模拟真实工作:候选人连接到正在运行的服务处理问题,可以使用搜索引擎、手册和常规排障工具。重点不是背答案,而是在复杂系统中推进定位。

Q3:告警优先级题为什么重要? A:SRE 值班时可能同时收到多个警报。候选人需要判断影响范围、严重程度和处理顺序,并说明自己的依据。

Q4:这篇文章对准备 SRE 面试有什么启发? A:准备方向不应只停留在 Linux 命令和基础概念,还要覆盖编码、系统设计、故障演练、监控告警和沟通协作。

英文原文:https://engineering.linkedin.com/engineering-culture/hiring-sres-linkedin

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

标签 LinkedIn SRE
快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云