好,我现在做了 mongodb 的 OA 两次(第一次实习,第二次 2026 cycle 的 new grad full time),所以这里可以做个对比。
形式:HackerRank 平台,2 道题,90 分钟。不是每题单独计时,这点挺好,因为你可以自己分配时间。语言自选,大多数人似乎用 Python 或 Java。
难度:我真实感受是 LC 的 medium-to-hard。第一题通常能先 brute force 再优化,比如改版 BFS/DFS,或者带点 twist 的 sliding window。第二题才是“杀手锏”,经常是更难的 graph 或 DP,要求你真理解结构,不是套模板。
第一次我遇到: 题 1:找图中两点之间的所有最短路径(中等偏上,但 all-paths 版本更难) 题 2:带依赖的 interval scheduling,本质是有约束的 DAG 拓扑排序
第二次: 题 1:string parsing + 基于栈的表达式计算 题 2:一个带多维约束的 knapsack 变体,我没完全做出来
最坑我的点:partial credit 很关键。6/10 test cases 和 0/10 差别很大。所以哪怕你做不出最优解,也要先把 brute force 跑通,再尝试优化。别把 80 分钟都花在一个你最后交不出来的 O(n log n) “漂亮解”上。
他们 OA 不做 live coding,这点跟 onsite coding 轮不一样。听说 onsite 会有一轮 live coding,面试官会看着你写。我还没走到 full-time 的那个阶段,但我在这边看到的都是这样。
总体建议准备到 medium-hard。别因为觉得 graph algorithms 或 DP “很少考”就跳过。mongodb 真的不算少。