最近我做了 Moderna 的 OA + technical coding 轮。趁记忆新鲜做个记录,因为我准备时几乎没搜到什么。
Online assessment(OA): 通过 HackerRank 发。两道题,90 分钟。一题是比较直接的字符串处理,按 LC 标准是中等难度,大概 LC medium-easy。第二题是图遍历,没有什么花活。BFS 就够了。没 proctoring,时间也比较宽松,够我把两题都想清楚。
Coding(live): 一轮 60 分钟,一位面试官。CoderPad。先给了个 warm-up:给一组临床试验站点 ID 以及它们提交数据的时间戳,找出哪些站点错过了窗口。基本是排序加区间题。然后 follow-up 加了约束:有些站点存在 "parent" 站点关系,需要按 parent 聚合。
面试官真的很友好,我卡住时会给提示。他们也直说更在意你怎么沟通你的思考过程,而不是你能不能立刻写出最优解。我两题都做出来了,但第二题我有大概 10 分钟走错路。也没事。
观察: 没有 LeetCode hard,都是扎实的 medium。 题目会套在临床/生物科学的语境里,但不需要领域知识。只是给标准算法题加了一层背景。 Python 和 Java 看起来都完全 OK。我用的是 Python。 如果你来自 FAANG,这会显得比较轻松。如果你准备还早,LC medium 熟练度应该就能过。
目标角色是 senior software engineer。他们说得很清楚:OA 是过滤器,不是重信号。live coding 更看重,因为有沟通维度。
希望能帮到别人。