今年早些时候走完了 Zoom 的 SWE 面试流程,面的是 mid-level 岗(目标 L4)。写下来是因为他们的在线测评形式让我有点措手不及,之前也没找到什么靠谱的信息。
OA: 平台是 Coderpad,不是 HackerRank 或 Codility。两道题,90 分钟。语言随便用,我用的是 Python。
第 1 题是中等难度的数组/滑动窗口,挺常规的。我 20 分钟就做完了。
第 2 题更绕一些。是图遍历题,一开始看起来像树题,我觉得这是故意的。我差点就按更简单的解法写了,后来重读 constraints 才发现可能有环。这里花了大概 40 分钟,最后跑通了,但代码没有我希望的那么干净。
他们在考什么:先看正确性,再看时间复杂度。我在代码里写了注释标了 O(V+E) 的复杂度,后面面试官说这点很亮眼。他们也想看你不靠提示就能处理边界情况,比如空输入、单元素之类。
难度:大概 LeetCode medium。我没碰到 hard。一个走过 L5 loop 的朋友说她其中一轮 coding 更难,接近 hard,所以级别大概率会影响难度。
现场 live coding(onsite):和 OA 分开。这轮 45 分钟,面试官在场,可以提问。更像协作式解题,而不是纯测试。我走偏的时候面试官会给一点提示,我还挺感激的。
结论:如果你 medium 题比较稳,而且能把思路大声讲清楚,coding 轮整体是可控的。别想太多。