上周做了 amex 的 hackerrank OA,作为他们 SWE 招聘流程的一部分。下面是我看到的具体形式。
形式: 2 道 coding 题 总共 90 分钟 HackerRank 平台,标准编辑器,没有 IDE 集成 任意语言(我用的是 python) 基础测试用例可见,另外有一些隐藏用例
难度: 第1题很简单。就是经典 easy。遍历数组、检查条件、返回结果。我大概 8 分钟写完,剩下时间一直在怀疑自己是不是踩坑了。别被它带节奏,干净利落做完就行。
第2题是 medium。我的那题是字符串/滑动窗口相关。不是那种最难版本,但确实需要你知道这个套路。如果你做过 40+ 道 leetcode,肯定见过这种。
我没看到 dynamic programming 或 graphs。我聊到的其他人也差不多。网上有人说一些 amex OA 会更难,但我感觉 new grad/entry-level track 给的题会温和一点。
时间: 90分钟做 2 题这种难度非常宽裕。我 35 分钟就做完了,剩下时间都在补边界情况和整理代码。别急。
怎么准备: arrays、strings、hashmaps,大概占 70%。 two pointers 和 sliding window 值得复习。 除非你要冲更 senior 的角色,不然不用在 graphs/trees 上花太多时间。
还有一点:我这个 amex OA 没有像一些银行 OA 那样加 debugging 轮或 SQL 部分。就我看到的是纯算法。
结果大概 6 天出来。good luck。