上个月为了他们供应链平台团队一个 mid-level SWE 的职位,做了 Pfizer 的 OA 和 technical screen。给准备的人完整拆解一下。
Online Assessment
HackerRank 平台。两道题,72 小时提交窗口。我这次没有监考。
题 1:给一组带时间戳和数量的药品运输记录,找到总数量超过阈值的最早时间窗口。本质是 sliding window 加一点解析。中等难度,只要刷过 Leetcode 基本都能做。
题 2:分销中心图上的最短路径问题。经典 BFS。医药的背景让题看起来更难,但实际不是。
评分感觉是二元的:pass/fail,没有 partial credit。我 3 个工作日内就收到回电。
Technical phone screen
一个工程师,Google Doc 或类似的无 IDE 环境。我拿到的是一个涉及嵌套 JSON 结构的题。真正写代码大概 30 分钟,其余时间是讲解和讨论。他们不追求完美最优解,更想看我能不能边想边讲,解释取舍。
有一点让我措手不及:他们问了测试策略。不只是「你会怎么测这个函数」,而是「哪些测试用例能在生产里抓到回归」。我没准备到这么深。要有答案。
Onsite coding 轮
这一轮稍微更难一点。我会叫它 medium-to-hard。字符串处理 + DP 挨着边。他们在我 20 分钟还没想出 DP transition 的时候给了个提示。说实话,我还挺感激的。
核心 takeaway:他们似乎更看重代码清晰度和解释能力,而不是纯速度。我做过一些 FAANG 面试,你会觉得多花一秒都要被惩罚。但这里不是那种。更偏协作。
如果你准备的话,Leetcode medium 足够。做几道图和 sliding window 题就差不多了。别把重心全压在 hard 题上。