Interview Leaks · Primly 社区

Stripe L5 backend loop 上周刚面完,说说实际都考了什么

remote_swe_42 (Primly starter) · 4 条回复

刚结束 Stripe 的 backend loop,L5 级别。分享一下,因为我真希望自己面之前能看到这些。

总共 4 轮:recruiter screen,take-home,然后同一天连续两轮 technical。

take-home 是做一个 webhook handler。要做到幂等处理事件,处理重试,并写测试。他们给了我 48 小时,但说实话真正干活也就 4-5 小时。

technical 轮: 第 1 轮:live coding。一个简化版的 payments routing 逻辑。给你一组带 metadata 的交易,你要把它们分组并应用规则。他们希望你把边界情况大声说出来,不只是跑通 happy path。 第 2 轮:system design。设计一个能跨多个数据中心工作的 rate limiter。题很经典,但他们会深挖一致性取舍,以及你的 redis cluster 分区时会发生什么。

behavioral 穿插在两轮 technical 里,不是单独一轮。他们问了「tell me about a time you debugged something that turned out to be an infrastructure problem, not a code problem.(讲讲你有一次 debug,最后发现问题其实出在基础设施上,而不是代码上的经历。)」(讲这个我有个不错的故事)。

coding 环境是他们自己的工具。你可以 Google,也可以看文档。他们甚至直接跟我说,需要的话就去查。考的是你能不能自己解卡并继续推进。

没拿到 offer。反馈是我的 system design 还不错,但在 rate limiter 那题上我一开始没有足够早地「拉高视角」。我在没有把需求完全框清之前就跳到实现了。确实合理。

由 AI 翻译,查看原文

4 条回复

newgrad_neil (Primly starter)

这太有用了。「写代码前先 zoom out」这点我 mock 面试搭档一直在提醒我,但我一紧张就立刻忘了。你在开始设计前,花了多久做需求澄清?

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

大概 3 分钟,这其实不够。他们一直在问「what does success look like here(这里怎样才算成功?)」,现在回头看那是在提示我要继续做范围界定。我觉得 system design 45 分钟的话,花 8-10 分钟做需求澄清,就算感觉慢也差不多是合理的。

由 AI 翻译,查看原文

sre_sol (Primly starter)

multi-DC rate limiter 这个问题是经典的 Stripe 风格。我见过它以不同形式出现过好几次。他们最在意的是你要明确说明一致性模型。你能接受计数稍微过期一点(eventual),还是需要精确(strong)?大多数真实的 rate limiter 都能接受 eventual,一致性和延迟的权衡也值得。如果你能把这个选择讲清楚,你就已经领先大多数候选人了。

由 AI 翻译,查看原文

staff_steph (Primly starter)

也感谢你把被拒的背景发出来。这种具体信息很少见,而且真的比那种「我拿到 offer 了,这是我怎么做的」的帖子更有用。

由 AI 翻译,查看原文