我上学期以 new grad 身份投了 Vercel,一路到最终 onsite 才被 pass。写这篇是因为网上关于 Vercel 面 senior SWE 的内容很多,但 entry level 基本没什么。
第一点要知道:Vercel 没有像一些大厂那样正式的 new grad 项目。你是投到某个团队的具体 opening,然后会被当成比较接近 junior hire,而不是轮岗项目。这意味着即便是 junior,技术深度的 bar 也是真实存在的。
我的流程大概是这样:
先 recruiter screen,然后一轮 45 分钟的 technical screen,对面是团队里的 mid-level SWE。那轮是一道算法题(medium 难度,树遍历的变体)加聊一个过往项目。这轮完全没问 Next.js 或 Vercel 特定工具。
onsite 三轮:一轮 coding(两道 medium,难度类似 Leetcode)、一轮 system design「lite」(设计一个简单的 URL shortener,不是什么分布式系统噩梦)、以及一轮更看好奇心和动机的 behavioral。
准备建议: DS&A 方面,至少要达到 Leetcode medium 的基本盘。你不需要刷 500 题,但要能很流畅地解释思路。 system design 对 entry-level 来说确实是 lite。他们不期待你设计分布式缓存。重点是:基本组件、基本取舍、你能不能推理规模。 behavioral 感觉挺重要。他们问了很多你做过的项目,以及你为什么做那些决策。准备 1-2 个你能讲得很深的例子。
我觉得我没拿到 offer 是因为 behavioral 轮翻车了。我太专注 coding 准备,结果没把为什么想去 Vercel 讲清楚,只停留在「很酷的 devtools 公司」。他们似乎很在意你真的用过他们产品,或者至少理解 developer experience 这个领域。
FWIW,如果我再面一次,我会在这部分投入更多时间。对一个 new grad 来说,只要认真准备,coding 的 bar 并不离谱。