刚结束我的 figma frontend engineer 面试 loop,拿到 offer 了(准备接)。老帖子细节都很少,所以想写一下真实情况。
背景:4 年经验,React 为主,上家公司做过 design system。投的是一个靠近 senior 的 frontend 岗,不是 staff track。
流程: Recruiter screen(30 分钟)-> technical phone screen(60 分钟)-> virtual onsite(4 轮,一天)
phone screen: shared editor 里 live coding。一道算法题,中等难度。大概是图遍历之类。他们希望你写代码前先把思路讲清楚。我一开始解释得有点乱,面试官说了一句「先退一步,这题更简单的版本是什么?」我还挺喜欢这种方式的。不是那种挖坑的氛围。
onsite round 1 - UI implementation:最 figma 的一轮。让你从零写一个小的交互组件。不用框架,vanilla JS + DOM API。原题是:实现一个最小版 tooltip,能相对 anchor 定位,并且如果会溢出 viewport 就调整位置。我核心逻辑写出来了,但边界情况没来得及处理。还是过了。完整度没那么重要,更看方法。
onsite round 2 - algorithms:标准 LC 风格。一道中等一道简单。如果你 10 分钟做完,经常会追问「如果约束变成 X 会怎样」。我就遇到了,追问把我卡了一下。
onsite round 3 - system design:让我设计一个实时协作白板,基本就是简化版 figma。他们希望你高层次聊到 operational transforms 或 CRDT、同步策略、client state。你不用很懂 OT 的细节,但要知道这个概念存在,以及为什么 eventual consistency 很难。我画了一个基于 websocket 的简单方案,然后深挖各种边界情况。
onsite round 4 - behavioral / values:45 分钟,单独一轮。问题围绕跨职能协作、我怎么处理和设计师的分歧、一次我对 scope push back 的经历。figma 确实是设计师-工程师文化,他们会看你能不能和设计协作而不领地意识太强。
comp:offer 是 $195k base,$180k RSU(4 年,标准 cliff),senior IC level。base 在 SF 但我 remote。以我的经验来说定级挺合理。
欢迎问 follow-up。