上季度参加了 CrowdStrike 的 virtual onsite(技术上是线上,但他们内部就叫 onsite),面的是他们 threat intelligence platform 团队的 senior SWE 岗。下面是实际拆解。
形式: 一天四场,连着来,中间每场 5 分钟休息。日历上总共占了 4.5 小时。
Session 1 - Coding(60 分钟)。 两道题。第一道是中等难度,graph BFS 变体。第二道是中偏难的 simulation。都在 CoderPad 上做。需要跑他们给的 test cases。第二题有个坑:题目要读两遍。我这题有个约束藏在第二段,直接改变了时间复杂度目标。
Session 2 - System design(60 分钟)。 领域相关的题(threat detection pipeline,实时事件处理)。这轮聊超时了。最后 15 分钟在聊可靠性和失败模式。要知道你的设计在负载上来时怎么优雅降级。
Session 3 - Behavioral(45 分钟)。 对面是 senior engineer,不是 people-ops。这个很关键。他们在挖你真实经历,不是走流程打勾。问题套路可以看另一个讲 values 的帖子。
Session 4 - Cross-functional / culture(30 分钟)。 另一个 org 的 eng manager。非常偏聊天。他们想了解我怎么做跨职能协作。我问了团队结构、决策怎么做。这部分效果不错。
Debrief 时间线: 7 个工作日。recruiter 打电话口头 offer,然后 2 天后发正式 offer 包。整个流程加 debrief:大概 40 天。
我听说 onsite 里最容易让人翻车的点: system design 一开始不问澄清问题,没 scope 直接上,会显得很弱。 behavioral 回答没有指标。「我们提升了性能」不完整。「我们把 detection latency 从 4 秒降到 800ms」才是他们想要的。 behavioral 紧张说太快。他们会打断深挖,所以要留空间。
整体:严格但公平。题目感觉确实跟工作相关。