我在 2 月参加了 Netflix 的 coding round,属于 senior frontend SWE loop 的一部分。想记录一下,因为我面之前根本找不到清晰的信息,coding 部分到底长什么样。
形式: 两道 coding 题,总共 60 分钟,Coderpad。之前没有计时 OA,coding 是在 live interview 里完成的,会有工程师看着。你可以用任何语言,我用的是 JavaScript,对方完全 ok。别默认必须用 Python。
难度: 一道 medium,一道 medium-hard。medium 是字符串处理题,我在 Leetcode 见过变体。medium-hard 是带一点变化的图遍历,有个约束让朴素 BFS 太慢,你得换思路。我把核心解法写出来了,但没来得及把优化做完。
他们在意的不只是做出来: 在敲代码前先把思路讲清楚。我差点犯了直接开写的错误。停了一下,把想法讲出来,他们会温和地 push back,反而帮我抓到了一个 edge case。 代码清晰度。Netflix 以重视可维护性出名,哪怕 30 分钟的 coding slot,工程师也会在我变量命名好、或给不明显的步骤加注释时点出来。 优雅地处理未完成的解法。我第二题没把优化做完,工程师让我讲一下复杂度会是多少,如果再给时间我会怎么改。那段对话看起来挺重要。
我会怎么做得更好: 我主要刷的是随机 Leetcode medium,现在会更针对性地练图题和约束很坑的题。对 senior 级别的 coding 来说,Netflix 好像就卡在「medium-hard」这个区间。
没有动态规划马拉松,也没有什么离谱技巧。他们就是想看你能不能在轻度压力下写出干净的代码,并且过程里沟通清楚。虽然我没把全部做完,出来感觉这一轮整体还行。