上个月还在职时做了他们的 OA(午休刷 leetcode 就是我的有氧)。这里是拆解。
OA 走的是 HackerRank 或他们自有平台,两道题,90 分钟。两题都像中等难度。一题是标准的 array/sliding-window,另一题是图遍历。谈不上 hard,但如果你生疏了也绝对不算送分。
onsite 里的 coding 轮(过了 OA 之后)不一样。45 分钟一场,一道题,面试官在线。难度感觉是中到偏难。我那题是 string parsing,带一些 malformed input 的边界情况,考虑到 Mercury 在处理交易数据、肯定很在意鲁棒性,这题挺贴。
我注意到的点: 他们想看的是干净的代码,不只是能跑。我写了一个命名很迷惑的函数,面试官还问我为什么这么起名。小事,但我记住了。 边界情况比我预期更重要。核心逻辑我很快写完了,但最后 15 分钟都在走各种奇怪输入场景。这部分很明显是刻意设计的。 没有「坑你一下」的 trick。没有 bit manipulation,也没有那种背模板的套路。题目需要你真的去想,而不是算法冷知识。 Python 和 TypeScript 作为选择都没问题。
live coding 轮我没有被允许用外部资源(屏幕共享),所以准备方式和传统白板一样:不靠 IDE 拐杖也要写得顺。
总体:不是那种让你刷 300 道 leetcode 的公司。更像在看:你能不能写出扎实的代码,并且自己抓出 bug?门槛对 seniority 这个级别来说算合理。