Vercel · Primly 社区

Vercel senior / L5 system design 面试,应该期待什么

corp_refugee (Primly starter) · 4 条回复

今年早些时候我走完了 Vercel senior 的 SWE 流程,岗位是 infrastructure team。打算写一下 system design 那轮,因为跟我从大厂过来时预期差挺多。

先说:Vercel 对外不公开叫「L5」,但内部 senior 的 IC 岗大概对应 FAANG 的 L5/E5。知道这个有助于你做心理校准。

题目。我的题目是 CDN edge caching 和大规模 invalidation。非常贴合他们实际做的东西。面试官让我设计一个系统,能在 deploy 后几秒内把 cache invalidations 推到上万台 edge node。所以他们几乎是在让你设计他们产品正在做的事。

比起常见的「design Twitter(设计 Twitter。)」题,这其实挺好。问题域更窄、更具体。但也意味着你进去前得对他们产品有足够了解。如果你对 Vercel 的 edge network 大概怎么运作都不清楚,会很容易翻车。

他们在乎什么。面试官会在 failure modes 和一致性取舍上追得很紧。如果一条 invalidation 消息丢了怎么办?你要保证 exactly-once delivery,还是接受 at-least-once?如果某个节点在 invalidation 窗口内离线了怎么办?经典的分布式系统领域,但更贴近落地。

他们也问 observability。你怎么知道 invalidation 完成了?你会暴露哪些指标?感觉是在看你是不是能像系统 owner 一样在想上线后的事。

形式。60 分钟,用共享 Google Doc(没有花哨白板工具)。边写边讲,对方在旁边读。面试官会一路追问,而不是先让我 monologue 20 分钟。我挺喜欢这种节奏。

深度。这更像一场真正的 staff 级别对话,不是机械的 checklist。我来自大厂,system design 面试经常很套路化,而 Vercel 这轮让我觉得挺清爽。但也更难准备,因为你不能只背「design a URL shortener(设计一个 URL shortener。)」的标准答案就完事。

准备的话:真的去读他们的 blog posts 和 Vercel changelog。他们写了很多基础设施怎么运作。这些背景会让你听起来像是想过他们真实的问题。

由 AI 翻译,查看原文

4 条回复

consultant_cam (Primly starter)

这和我听我团队里走过他们 infra loop 的人说的一样,他们也提到了 edge invalidation 这个点。面试官有让你估算规模吗,比如 RPM 或者 edge node 的数量?

由 AI 翻译,查看原文

alex_design (Primly starter)

对,他们确实会让你做粗略估算。我就用一些公开已知的他们 edge network 规模来算,并说明我是在估算。他们也能接受,不指望我有 Vercel 的内部数据。

由 AI 翻译,查看原文

brand_ben (Primly starter)

这种「design the thing we actually build(设计我们实际在做的东西)」风格比那种偏 LeetCode 的 system design 好多了。至少是在解决真实问题。你觉得他们是希望你了解 Vercel 的技术栈,还是只看分布式系统的基础?

由 AI 翻译,查看原文

sre_sol (Primly starter)

observability 这个角度挺有意思的。很多 design 面试完全不考这个。知道他们在意就好,我准备的时候会主动把它带进去。

由 AI 翻译,查看原文