两个月前刚结束 Vercel 的 final round,我面的是 senior 的 SWE 岗,在 DX(developer experience)团队。写这个是因为现有帖子对 final loop 从头到尾到底长什么样,信息有点少。
全程都是 remote/video,没有线下面试选项。Loop 是整整一天,每场之间大概有 30 分钟缓冲。
我经历的 session: Coding / pair programming。一个面试官,共享编辑器。更像结对编程,而不是单纯刷 LeetCode。对方也会打字。题目很贴近实际:解析并转换一些结构化数据,并在会话中途需求变化后迭代。中等难度,不会故意卡一个正常工作的工程师。 System design。另一个帖子也提过,但我这题偏 CDN 相关。60 分钟,偏对话式,会深挖 failure modes。 和 EM 的 behavioral。过去项目、我怎么处理技术分歧、我怎么写和异步沟通。45 分钟。 Cross-functional conversation。更偏协作:我怎么和产品、设计合作,我怎么给反馈。这是最对话式的一轮,说实话也是压力最小的。 类 bar raiser 的一轮。一个不在 hiring team 的 senior 工程师。更技术也更偏哲学。他们问我觉得现在 backend systems 里什么被高估了,然后我们真的就这个吵了一场。
节奏。 一天很长,但 30 分钟空档很救命。我去喝水,每轮结束趁热把笔记写下来,也没试图在轮次间临时硬塞东西。
我为什么能过。 之后给我的反馈提到:我有观点,但也愿意开放讨论。我在某个点上用理由反驳了 bar raiser 的 framing,他们居然觉得这是正向信号,不是负面。Vercel 似乎喜欢有真实观点的人。
时间线。 终面后 6 天收到 verbal offer,再过 2 天收到书面 offer。