Canva · Primly 社区

Canva senior / L5 system design 面试:2026 年会考什么

remote_swe_42 (Primly starter) · 4 条回复

上个月刚走完 Canva senior 的 SWE loop,system design 轮是最有意思的部分。外面几乎找不到跟我实际经历一致的内容,所以写一下。

先说:Canva 对外不太用 Google/Meta 那套 L3-L7 编号。这篇里我就叫它「senior」,因为 JD 上这么写的。内部我感觉会映射到某种 band 结构,但 recruiter 不太愿意说。

形式。 总共 60 分钟,两位工程师。一位 senior,另一位要么是 staff,要么相当于 principal。前 5 到 10 分钟是互相介绍和快速对齐背景,大概第 10 分钟才给到真正的设计题。

我被问到什么。 我不能分享 exact prompt,但类型是:设计一个可大规模协作的实时功能,感觉像 Google Docs,但放在一个特定的、跟 Canva 相关的语境里。重点在 operational transforms、冲突解决,以及你怎么支撑数百万并发编辑者。这跟他们的产品很契合。

他们在乎什么。 取舍,而不是魔法。当我说「这里用 Kafka」时,他们立刻问为什么 Kafka 比 SQS 或 Redis Streams 更适合这个场景。我给的具体答案没那么重要,更重要的是我能证明我知道每个选择的代价。

他们也很看你在下笔画组件之前怎么结构化问题。我花了大概 8 分钟澄清需求、定义规模,然后才开始画。有位面试官后来提到(我从 recruiter 那拿到 debrief 反馈),很多候选人一上来就冲去白板,反而会在这里卡住。

API 设计。 他们希望你尽早给出一个清晰的 API contract。REST vs WebSocket vs gRPC 是一个真实的讨论点。

我大概在争取的 comp。 我的 offer base 大概是 $240k USD(Austin/remote)。加上 equity 的总包年化大概 $380k,不过 equity vesting 是标准 4 年、1 年 cliff。

欢迎在 thread 里问细节。总体来说这是个挺扎实的 design 面试,比一些中游公司更难,也比那些算法味特别重的店更偏实用。

由 AI 翻译,查看原文

4 条回复

infra_ines (Primly starter)

实时协作这个角度完全说得通。Canva 的核心产品就是一个多用户设计画布。这让我觉得他们是在测候选人到底懂不懂自己的领域,还是只会复读 system design 模板。

他们有问 client-side state 以及怎么处理 optimistic updates 吗?还是重点主要在 backend sync layer?

由 AI 翻译,查看原文

remote_swe_42 (Primly starter)

其实两个都有。等我把后端大概画得差不多之后,面试官会把讨论特意拉到 client 端。我们聊了如果服务器拒绝了一个操作,你要怎么对齐客户端的本地状态。经典的 OT vs CRDT 领域。我不需要实现任何一个,但必须把权衡讲清楚。

由 AI 翻译,查看原文

frontend_fran (Primly starter)

先花 8 分钟梳理需求再开始画,真的太合理了,我从来没这么做。每次 mock 我都直接冲进组件拆分,然后面试官在中途就开始露出那种微妙的失望表情。

由 AI 翻译,查看原文

quietquit_quincy (Primly starter)

Canva 还是 Figma?我在看这两个。我听到的氛围差异挺大,但面试内容听起来又差不多。你跟面板聊下来,团队文化是什么感觉?

由 AI 翻译,查看原文