上个月在在职状态下参加了 Squarespace 的 coding 轮。把真实经历写出来,因为我看到的准备指南都很旧。
onsite(我的是 virtual onsite)里有两轮 coding 连着来。每轮 45 分钟,不同面试官。
形式: HackerRank 环境,视频共享,你边写边讲。就我了解,至少在 senior 的 SWE track 里,面试前没有单独的 OA 预提交环节。new grad 可能不一样。
难度: 稳定在 Leetcode medium。一轮一题。都不是坑题,也不是冷门算法。一题是字符串解析,另一题涉及图遍历。我每题都提前大概 10-15 分钟写完,然后用剩余时间过边界情况和简单讲了复杂度。
他们不指望你 30 分钟内搞定 Leetcode hard。那不是他们要的信号。真正重要的是:我能不能把思路讲清楚,能不能自己识别边界情况(他们会等我自己先发现空输入再提醒),以及代码写得是否足够干净。
语言:Python 或 Java 都可以。我用 Python,没任何阻碍。
有个点挺明显:两位面试官在我解完题后都会追问,比如 "how would this change if the input size were 100x(如果输入规模变成 100 倍,会有什么变化?)" 和 "what would you test first.(你会先测什么?)"。所以这不完全是算法速度测试。
给个标尺:我 7 YOE 后端,两年没认真刷题,面前大概刷了 2 周 medium。足够了。如果你为了 Squarespace 专门刷半年 Leetcode hard,这对 coding 轮本身可能过度投入了。