刚结束 Figma 的 loop,岗位是 senior SWE(同 L5)。system design 这一轮是大家最没底的,所以我尽量具体点。
他们给了一个很经典的协作工具场景,本质是:为多人协同编辑功能设计实时同步层。不是 Figma 本身,但明显受它启发。你需要展开: 文档状态的数据模型 冲突解决策略(CRDT vs OT,他们懂差异,你也得拿得出来) WebSocket vs long polling 的取舍,以及各自什么时候会崩 单个文档 10k 并发用户怎么扩 持久化和快照策略
面试官是真的技术向,而且 push back 了两次。不是对抗式那种,更像「那如果两个用户在同一帧移动同一个对象会怎样」。很多候选人就是在这种地方被打穿的。
bar 感觉比我 2025 年大多数 B2B SaaS 的面试都高,更接近 Meta/Stripe 的水平。我觉得 Figma 知道他们的产品技术野心很大,所以要的是在真实产品语境下思考过 eventual consistency 的人,不是背白板脚本的人。
时长 45 分钟。我用了大概 35 分钟做设计,10 分钟做他们引导的 mini 深挖。
准备时要能把 CAP theorem 的取舍放到「协同编辑」这个具体场景里讲,而不是抽象背概念。WebSocket 的扩展套路也要非常熟。他们还问了我发布部署时 socket server 会发生什么。问题很好,我回答还行,但可以更好。
L5 SF 的薪资:我最近看到的 data point 是 $280-340k TC。我的 package 是 $305k,base 大概 $185k。以难度来说我觉得合理。