两周前走完 senior frontend/product engineer 岗的完整 onsite 后收到了拒信。花了一周才不那么烦,能把这事写清楚。我觉得实际发生了什么大概是这样。
背景:4 YOE,frontend/React,有一些 TypeScript infra 经验。LinkedIn 投的,2 周内 recruiter 主动联系。流程是:recruiter screen,一个技术 phone screen,然后 4 轮 onsite(两轮 coding,一轮 system design,一轮跨职能)。
我觉得我做错了什么:
System design 那轮。我就是在这输的。题目是设计一个实时协作的 UI 功能。我对这个领域还算熟,但我太快钻进了窄处。我先冲进组件架构和状态管理,没先把 backend contract 和数据流讲清楚。面试官一直让我 zoom out,我也做了,但能看出来我是在补救。教训:特别是对 Anthropic 来说,就算是 product engineer,他们也想看你先能在全栈系统层面站得住脚,然后才到 UI 层。
Behavioral 部分。回答还行,但我可能太保守了。我选的故事更多体现执行力,而不是在模糊或高风险场景里做独立判断。对于一个很强调在不确定性下深思熟虑决策的公司,我可能应该更多讲那种需要穿越真实不确定性的时刻,而不只是「把东西交付得很干净」。
我做对了什么:两轮 coding 感觉还可以。都很实用,不是 leetcode-hard。一轮更像在真实代码库上做 debugging/refactoring,另一轮是端到端做一个小功能并带上不错的测试覆盖。我觉得这里我表现还行。
我实际拿到的反馈:recruiter 几乎没给任何有用信息。标准的「我们决定推进其他候选人」那套话。只多了一句「technical depth at the systems level」。所以跟我对 system design 那轮的判断一致。
我会再投吗?可能 12 个月后,如果这段时间我能做更多偏后端的工作。我当时以为「senior frontend」就是要一个强 frontend。现在我觉得他们要的是一个刚好做 frontend 的 senior engineer,这是另一种要求。
流程整体很顺,面试官也很认真。拒信很扎心,但我对他们处理方式没什么抱怨。发出来是因为我当时很希望有人在我进去之前写过类似内容。