我走过两次 Apple 的 SWE 面试流程:一次是 2024(没拿到 offer),一次是 2026 年初(拿到 offer 并接受)。团队不一样,所以也能分享一点差异。
Online Assessment(如果有的话) 不是每个候选人都有 OA。2026 我拿到的是 CodeSignal。两道题,70 分钟。难度大概 LeetCode medium。一道图题,一道字符串题。你如果平时在刷题,不会有什么意外。需要 share screen,会被录屏,但没有实时面试官。
有些候选人会跳过 OA,直接进 phone screen coding。看团队和 recruiter 怎么 source 你。
Phone Screen Coding 一个工程师,45-60 分钟,用协作编辑器(通常是 CoderPad)。我拿到的是 sliding window 的变体。中等难度,可能略偏中偏难。他们想看你边想边说,不只是把答案写出来。我先解释了 brute force,再讲优化版,感觉这是对的。
他们也在意代码整洁。我写到一半被要求把变量名改得更清晰。问题不大,但注意一下。
Onsite Coding(2 轮) 两场独立的 coding,每场 60 分钟,不同面试官。我的 2026 loop 里: 第 1 轮:树/图,两道题,先一题简单热身,再一题标准 medium。 第 2 轮:偏 dynamic programming(虽然他们不会这么叫),一道题,follow-up 改了约束。
他们不会明确告诉你考点。两轮都是用 CoderPad,带真实 IDE 环境,不是空白编辑器。
时间复杂度。 每轮都会问。准备好清晰的回答,也要能讲空间复杂度,不只是时间。
准备上,Leetcode medium 是最合适的。我 6 周做了大概 120 道题,感觉就很稳。两次 loop 都没见到 hard。