上个月刚结束 Fidelity 的 coding 轮。分享下我看到的情况,因为很多旧帖子写的流程跟现在发生的已经不太一样。
OA(online assessment)
HackerRank 两道题。90 分钟。拿到链接后几天内自己预约。我遇到的是: 一道图遍历题(在带权图里找最短路径,典型 BFS/Dijkstra 范围) 一道字符串解析题,更偏实现细节,不太偏算法
难度:两道都算 leetcode medium。不难。你最近如果刷了 50-80 道 medium,基本没问题。OA 更像过门槛,不太用来拉开差距。评分感觉对边界情况没那么严,更像「你能不能在可见用例上输出正确结果」。
另外还有少量 Java 和一些数据结构基础的选择题。很简单,但别跳过,每题单独计时。
technical phone screen 的 coding 部分
这部分不一样。在 CoderPad(实时共享)里做一道题。题本身也是 medium,但期待明显不同:他们想看你怎么思考,而不只是能不能写出代码。我在处理一个边界情况时卡了一下,边说边想,面试官也帮我推进了。这是正常的。别僵住不说话。
onsite coding 轮
还是一道算法题,但现在会加一层设计/扩展。你先做出核心解法,然后他们会让你扩展:「now what if the input could be millions of rows?(如果输入可能有几百万行呢?)」或者「what if you needed to add X feature?(如果你需要加一个 X 功能呢?)」。这在考你能不能跳出眼前的解法继续往下想。
关于语言选择的一些感受: 我用的是 Python,没人介意。我听说内部 Java 比较常见,对某些面试官可能更顺,但我没有硬数据。可以问 recruiter 具体团队是否有偏好。
变化点: 至少有一个我聊过的人说以前 OA 更难(3 题,更偏算法),而且 behavioral 以前是单独一通电话。现在看起来是整合了。当前形式更像是校准过的:OA 筛掉很多年没写代码的人,phone screen 和 onsite 才是主要的信号收集。
总体难度:稳稳的 medium。不是那种要 grind 500 道 LeetCode 的流程,但也别裸考。