我在 2026 年 3 月走完了 Perplexity 的 frontend 面试 loop。拿到 offer 也接受了,所以可以比较坦诚地分享。
背景:4 年前端经验,主要 React 和 TypeScript,也做过一些 design systems。Bay Area。
流程
先是 recruiter phone screen,然后一轮 technical screen,再 4 轮 onsite(virtual)。没有 take-home。
technical phone screen:React 为主。他们让我在 coding 环境里做个小组件。题目涉及在多个 UI 元素之间管理一些 state,没什么特别离谱的,但他们会观察我怎么组织结构,并追问 tradeoff。他们也测了 TypeScript 熟练度。
onsite 四轮:
Frontend system design:最让我意外的一轮。「design the autocomplete/suggestions feature for a search bar(设计搜索框的自动补全/建议功能。)」听着简单,但他们问得很深。客户端缓存建议、debouncing vs throttling、慢网环境怎么处理、accessibility(键盘导航、读屏)。提到 accessibility 时我很庆幸自己有真实观点,而不是只会说「对,我会做无障碍」。
Coding round 1:数据结构题,放在偏前端的语境里用。比如怎么高效渲染一个很大的列表。
Coding round 2:更多 React。组件组合、lift state、prop drilling vs context。他们让我主导,同时一直问「what would break if X changed.(如果 X 变了,会坏掉什么。)」
Behavioral:比较直接。提前准备 2-3 个扎实的 STAR 故事。他们问了我一次不同意某个 design decision,以及我怎么处理的。
真正重要的点:他们想要的是理解 web 平台「为什么」这样运作的人,而不是只会把组件接起来的人。比如浏览器渲染、repaint vs reflow、什么时候用 web worker 这种深度。不是当成 trivia 来问,但会在 design 讨论里自然出现。
comp:我拿到的 senior FE offer 在 SF 大概是 $185k base + equity。我不清楚长期的 equity refresh 怎么样。
整体流程:略超过 3 周。