今年早些时候我走完了 okta 的 coding interview 流程,岗位是他们 identity platform team 的 mid-level SWE。想写一下,因为流程和我想的有点不一样。
在你和工程师交流之前,会先有两个阶段:
阶段 1:recruiter screen 在任何 coding 之前,会和 recruiter 打 30 分钟电话。挺标准的。他们确认你的经验级别、介绍岗位、问你为什么 okta。没有技术问题。
阶段 2:异步 coding assessment 他们会发一个 HackerRank 链接。你有 90 分钟做 3 题。我那一批是: 一道 easy 的字符串处理(热身) 一道 medium 的数组/hashmap 题(经典频次统计那类) 一道 medium-hard 的图遍历(找环,BFS-ish)
难度感觉是扎实的 Leetcode medium,可能比 Google 的 bar 低一档。图那题会坑到任何没复习过 BFS/DFS 的人。我觉得你需要熟悉 hashmaps、sliding window、以及图遍历基础。
有个让我意外的点:这个 assessment 是按题单独计时,不是总时长累加。你不能把 easy 题省下来的时间挪给后面。开始之前务必仔细读说明。
OA 之后: 如果通过,会进入 technical phone screen(45 分钟,live coding),然后是 onsite loop。live screen 的难度和 OA 差不多,但你得全程大声讲解思路,这是另一种能力。
总体难度: 跟 AWS 或 Google 比,okta 的 coding bar 感觉更容易一些。coding 阶段对 system design 的比重更低。他们更看重干净、能跑的代码,而不是理论上的复杂度优化。我拿到的反馈是我的图题解法是 O(n log n),但其实可以做到 O(n),他们还是让我过了,因为代码可读且正确。
如果你在准备:LC mediums 重点刷 graphs、arrays、strings。这个阶段不用在 hard dp 上钻太深。祝好运。