两周前做了 BofA 的 HackerRank online assessment,面的是 mid-level SWE。发帖是因为我当时很难找到具体信息,结果把时间用在了错误的方向上,准备过头了。
形式:2 道 coding 题,90 分钟,监考(摄像头 + 屏幕共享)。没有 system design,没有 SQL,没有选择题。就两道算法题。
难度:两题都在 LeetCode medium 区间。一题是数组上的经典 two-pointer,另一题是 grid 上的 BFS/DFS。没有需要很怪的数据结构,也不需要高等数学。如果你能在 30 到 40 分钟内稳定做完 LeetCode medium,时间上就没问题。
我没想到的:coding 环境很基础。没有自动补全。老版本里甚至没有语法高亮。把代码写得像在纯文本编辑器里一样干净。先用 sample inputs 测,再在运行前把边界情况在脑子里走一遍。
语言选择:主流语言都可以。我用 Python。一个月前做这轮的朋友用 Java。我们都过了。
OA 之后:过了会在大概一周内接到 30 分钟的 recruiter 回电。听说不会 code review 你的 OA 解法,只给一个 pass/fail 标记。
我希望当时多花时间的:BFS/DFS 复习。我很久没做 grid 题了,在方向向量上反复自我怀疑浪费了时间。前一天花 30 分钟重做两道 grid traversal 就够了。
从 OA 到 verbal offer 总共大概 4.5 周,感觉挺慢,但大家都说这对 BofA 很正常。他们的审批流程层级很多。