我现在正在跑 Notion 的 loop(最后一轮结束后的等待期,真的很煎熬),就写一篇我希望自己一开始就能看到的帖子。这篇是给 new grad / entry level 的 SWE 候选人,2024 或 2025 届。
先说清楚:Notion 的 new grad 流程跟他们的 senior 流程不一样。轮次类似,但 calibration 完全不同。他们知道你没有 production 的 STAR 故事。他们真正看的信号是你会怎么成长。
我的流程长这样:
Recruiter screen(30 分钟)-> Technical phone screen(60 分钟)-> Virtual onsite(3-4 轮,总共约 4 小时)。
Technical phone screen:两道 coding。一道偏 medium 的 array/string manipulation,不花哨。第二道更偏数据结构,我拿到的是跟 trees 相关的。他们看你怎么边想边说,和你能不能做出来同样重要。我第二题卡了 5 分钟,把我卡在哪讲出来反而帮了大忙。别沉默。
Virtual onsite: Coding round 1:又一道 medium Leetcode,但他们非常看重代码质量和边界情况,不只是你做没做完。 Coding round 2:更开放。我需要用 pseudocode 设计一个小功能,并讲我会怎么测试。这轮最像真实工作。 System design(简化版):即使是 new grad 也会做轻量 system design。我的是:为一个简单的 note-sharing 系统设计 data model。不是完整的分布式系统题,更像是在看你能不能把数据和接口想清楚。 Behavioral:45 分钟,主要围绕协作、你怎么处理不清晰的需求、以及你如何快速学习。对 new grads 他们不期待多年经验,他们想看到自我认知和求知欲。
我怎么准备的: Coding 用 Neetcode 150(做到大概 80 题就感觉够用了)。System design 我看了 Notion engineering blog,又看了几个 document storage 的入门视频。Behavioral 我从实习和课程项目里写了 5-6 个 STAR 故事,然后大声排练,虽然很别扭但确实有用。
有个意外点:他们问了很多我觉得哪些工具和流程有意思、我想做什么。感觉他们在看你会不会真的对产品兴奋,而不是只看你能不能写代码。