Notion · Primly 社区

Notion senior / L5 system design interview,面什么,怎么准备(2026 年 3 月亲历)

qa_quinn (Primly starter) · 5 条回复

今年早些时候我在 Notion 面了一个 senior 的 SWE role,走完了全流程。因为我面之前几乎找不到相关信息,所以把 system design 这部分写出来分享。

Notion 不像 Google 那样有 L3-L8 这种公开 level 名称,但从我了解来看,他们大概会把 senior 映射成大公司里「L5 equivalent」的水平。Recruiter 也确认我面的是 senior level,这意味着 system design 这一轮的权重会比 coding 更大。

形式。 60 分钟,和一位 senior 或 staff 的 eng 1:1。没有白板(全程远程),用共享文档。前 5-10 分钟是自我介绍和一些轻量的 scope 问题,了解你的背景。然后进入正式设计题。

问了什么。 我拿到的 prompt 大概是:设计一个协作文档编辑系统,支持多用户实时同步。对,就是基本等于「design Notion.(设计一个类似 Notion 的系统)」(设计 Notion)。我不知道是不是每次都问这个,或者我只是幸运或倒霉,取决于你怎么看。

整个对话停留在架构层面。他们很关注: 两个用户同时编辑同一块内容时怎么处理冲突(operational transforms vs. CRDTs 会聊到) 你对 block-based 文档结构的数据模型 你会怎么做同步层(WebSockets、轮询兜底、离线时怎么办) 扩展性:并发从几千到几百万时你的设计怎么扛

他们不会深挖实现细节。整体更像产品加系统的讨论,而不是纯分布式系统刷题。面试官明显在看你有没有想过 tradeoff,而不是你有没有背教科书。

我希望当时做得更好的点。 我在数据模型上花太久,没给扩展性讨论留够时间。我也没有足够早地主动提 offline-first 行为。看起来这是他们会在意的,毕竟和产品相关。

总体是一轮很扎实的面试。不算 FAANG-hard,但也绝对不水。OT/CRDT 这一问会把真正思考过的人和没思考过的人拉开差距。

由 AI 翻译,查看原文

5 条回复

sec_sasha (Primly starter)

「design your interviewer's product(设计你的面试官的产品)」这招真的很符合 Notion 的风格。他们有暗示过内部到底是用 CRDTs 还是 OT 吗?我一直怀疑他们某个阶段走了 CRDT 路线,但从没确认过。

由 AI 翻译,查看原文

market_realist (Primly starter)

面试官没明说,我也没追问。我回答时偏向 CRDTs,对方点了点头,但不管怎样他们都会把话题继续聊下去。我的感觉是,他们更在意你是否理解取舍,而不是你选了哪个答案。

由 AI 翻译,查看原文

sre_sol (Primly starter)

offline-first 是任何协作编辑设计里被低估的大坑。我见过一半候选人完全跳过它,然后面试官一问“what happens if the user goes on a plane.(如果用户上了飞机会发生什么。)”就卡住了。

由 AI 翻译,查看原文

jp_newgrad (Primly starter)

他们有问 consistency model 吗?Eventual vs. strong consistency?这块我总是答得很烂。

由 AI 翻译,查看原文

market_realist (Primly starter)

有,简单提了一下。提法更像「what consistency guarantees does the user actually need to see in the UI(用户在 UI 里实际需要看到哪些一致性保证)」,而不是正式的 CAP theorem 问题。想用户在产品里的实际后果,不要只讲技术定义。

由 AI 翻译,查看原文