Canva · Primly 社区

Canva coding 面试 / online assessment:形式和难度拆解

frontend_fran (Primly starter) · 4 条回复

我投了 Canva 的 mid-senior frontend 岗,刚过 OA + 第一轮 coding,把我看到的分享出来,希望能帮到别人。

OA。 Canva 会先发一个 HackerRank 风格的 online assessment,一般两题,约 90 分钟。我遇到了一道字符串处理题(中等难度,大概 Leetcode medium 区间)和一道更偏图遍历的题,但包装成了接近 design-canvas 的问题。包装挺可爱,但本质就是标准 BFS/DFS。别被产品化的描述带偏。

时间限制挺合理。我大概提前 25 分钟做完。关键是两题都要过,按得分展示来看,partial credit 似乎很有限。

live coding 轮。 OA 之后是 45 分钟视频通话,对面一个工程师。语言你自己选,他们挺灵活。我用 JavaScript,因为我投的是 frontend,想展示更地道的 JS 写法。他们接受。

给了一题,比 OA 难。先有一个很干净的暴力解,10 分钟左右能写出来,然后会 push 你优化。整段对话都在讲优化路径:瓶颈是什么,用什么数据结构解决,新方案的时间复杂度是多少。

他们没考什么。 针对 frontend 岗,这轮 coding 没问 DOM 或浏览器相关问题。也没有「how does the event loop work(event loop 是怎么工作的)」这种问题。那些在另一轮里出现(更偏架构)。

难度对标。 我会把 OA 定位在 Leetcode medium。live coding 在 medium-hard。他们不像某些 FAANG 公司那样测试 Leetcode hard 刷题文化。说实话,这个难度更贴近实际工作。

OA 之后总共还有三轮:coding、system design、以及 behavioral/hiring manager 结合。等我走完再发后面的。

由 AI 翻译,查看原文

4 条回复

jp_newgrad (Primly starter)

太有帮助了。OA 需要所有 test cases 都过吗,还是过一部分也行?我总是很焦虑自己漏掉的 edge cases,还有评分是不是一刀切。

由 AI 翻译,查看原文

frontend_fran (Primly starter)

界面会显示每个 test case 的通过/失败,所以肯定不是 all-or-nothing。我第一题有个 edge case 第一遍写错了,还是进了下一轮。我还是会争取两题都 100% pass,但就算错了一个也别直接放弃。

由 AI 翻译,查看原文

mobile_mara (Primly starter)

把面试题做成产品语境的包装是 Canva 的招牌操作。我听说 mobile 岗也一样。他们会把一道树题包成「想象这些是 canvas 图层」,看你是慌了还是照样把它当树看。

由 AI 翻译,查看原文

newgrad_neil (Primly starter)

这个 OA 是每题单独计时,还是两题共用一个计时器?我总想知道能不能从第一题简单题里攒时间。

由 AI 翻译,查看原文