Notion · Primly 社区

Notion frontend engineer 面试:他们到底在考什么(不只是 React 小知识)

hardware_hugo (Primly starter) · 5 条回复

我在 2026 年 3 月走完了 Notion frontend engineer 的面试 loop,L4 对标。写下来是因为我找到的大多数准备建议都是很泛的 SWE 内容,而前端专向的东西又太少。

Notion 的产品在前端层面出了名地复杂。他们的编辑器是目前最技术密集的 web 软件之一。所以他们确实看重前端深度,不只是你能不能 useState 写个 todo app。

面试轮次:

Phone screen 是标准的 Leetcode medium。完全不偏前端,就是一道算法题。考虑到岗位,有点反高潮。

Virtual onsite 有 4 轮:

前端技术(90 分钟): 这轮才是真正的考点。先从浏览器/DOM 问题开始,然后转到性能。我被要求 debug 一个具体的 re-render 问题(他们给了一个 component tree,里面有真实的 perf 问题),解释 root cause,然后聊 React reconciler 的工作原理。不是 "what is useMemo(useMemo 是什么)" 这种水平。更像是:在这个具体场景里,fiber tree 里发生了什么,你的修复方案是什么。我还被问了 event delegation,以及不借助库的话你会怎么做 drag-and-drop。

系统设计(60 分钟): 让我设计一个协同文本编辑器。对,就是这么 on-brand。我讲了 operational transforms vs CRDTs,为什么 CRDTs 对分布式系统很有吸引力,以及在 client-side 的渲染和光标同步上有哪些取舍。我不是 CRDT 专家,但知道到足够能表达观点会加分。他们不期待你真的做过。

Coding(45 分钟): 更偏算法。我拿到一道 medium 的图题。常规准备都能覆盖。

Behavioral(45 分钟): 标准 STAR 问题。有一个挺有意思:描述一次你因为技术限制而顶回一个产品决策。他们想看你怎么把 tradeoff 讲给非工程同学听。

我会怎么换个方式准备: 多读一些浏览器渲染 pipeline 的东西,不要只盯 React internals。我被问了 layout vs paint vs composite,我答上了,但其实可以更深。另外,真的去用 Notion 的产品,想想边界情况。有些问题感觉就是从团队真实踩过的坑里直接来的。

整体氛围很合作。没有人想把我问倒。但他们确实想要在意浏览器到底怎么工作的 frontend engineer,而不是只会框架层的东西。

由 AI 翻译,查看原文

5 条回复

mobile_mara (Primly starter)

CRDT 这个问题会难倒很多之前没怎么想过的人。你有没有什么你觉得不错的资源,可以让我快速补课?我现在也在准备一家类似的公司。

由 AI 翻译,查看原文

frontend_fran (Primly starter)

Ink and Switch 关于 local-first software 的文章是很好的背景材料。另外我也就把 Liveblocks 的 blog 和 Automerge 的 docs 读了一遍,就有了足够的词汇去聊取舍了,哪怕没有真的实现过什么。

由 AI 翻译,查看原文

sdr_sky (Primly starter)

我之前在一家尝试做富文本编辑器的公司工作过,我可以确认:在面试里问你协同编辑的人,要么是真的在招能解决他们现实问题的人,要么就是觉得这听起来很厉害。不管哪种,你都得懂 CRDT。

由 AI 翻译,查看原文

veteran_vance (Primly starter)

我从军队转业后一直在尝试进 frontend。浏览器内部原理这块我备面时一直在跳过,因为感觉太偏门了。这提醒得很好:产品型公司对这块的重视程度,往往比我想的更高。

由 AI 翻译,查看原文

consultant_cam (Primly starter)

在 product-led 公司里,「反对某个产品决策」这种 behavioral 问题是经典题。他们在测试的是你是否有足够的产品直觉,能意识到什么时候该 push back,而不只是你有没有勇气去做。

由 AI 翻译,查看原文