刚做完 robinhood 的 OA,就在上周,所以记忆很新。发出来是因为我准备的时候找不到近期有用的信息。
online assessment 在 codesignal 上,两道题,总共 70 分钟。按 leetcode 标准两道都是中等难度。第一题是图/BFS 的变体,第二题是 sliding window 的字符串题。状态好的时候都算不上「hard」,但你得写得又干净又快,因为计时是真的。
几个特别明显的点:
真正考的是时间压力。 70 分钟两道 medium 听起来没问题,直到你意识到 codesignal 有自己的计时方式,而且环境有点糟。我光是搞清楚怎么在他们的编辑器里本地测试就花了 8 分钟。
代码要写得干净。 听内部的人说他们会看代码质量,不只是对不对。变量名写清楚,加一两句注释。别只把能过测试用例的解法一股脑丢上去。
我在多份面经里反复看到的主题: arrays、hashmaps、graphs(BFS/DFS)、dynamic programming、sliding window。偶尔会有 trees。OA 阶段不会出现 system design。
我的背景:backend swe,4 YOE,投的是 mid-level。OA 过了,现在等 phone screen 的消息。后面如果继续推进我会更新。
一个小提醒:robinhood 是 fintech,所以一些 fintech 相关的题(running totals、portfolio calculations、transaction streams)在一些人的面经里出现过。值得想想流式数值数据相关的数据结构。
如果你是 new grad:题的难度一样,但他们认为「通过」的标准可能不一样。我看到过一些 new grad 的面经是两题都必须完全做出来才能进下一轮。