我在 2026 年 4 月走了 Google 的 SWE 流程,当时还在职(对,中午休息时间面试,对,真的很累)。这里是 coding 环节的真实情况。
OA(online assessment,如果你会拿到): 两道题,70 分钟,通过 Codility。我拿到一道 medium 级别图题(BFS 变体,识别出套路就不难)和一道 medium-hard 的字符串处理题。时间压力比题目本身的难度更关键。他们想看你能写出干净、可运行的代码,而不是炫技的一行流。
phone screen(技术): 一个面试官,Google Meet + 共享文档(没有自动补全,没有语法高亮,对,这是刻意的)。45 分钟。我拿到一道 leetcode 风格 medium 题,带两个 follow-up。follow-up 才是真正的测试:第一个逼我从 O(n^2) 优化到 O(n log n),第二个加了个约束,直接把解法思路改掉了。如果你只能做出 base case,大概率过不去。
onsite coding 轮: 我这轮有三场。两场更像算法题(一场数组,一场树),一场更像「大型代码」风格:他们给了现有代码,让我扩展。第三场是很多人会被惊到的地方。它不是考你知不知道算法,而是考你能不能在压力下写出可读、可维护的代码。命名很重要。结构很重要。
difficulty 范围:基本是 medium,偶尔 medium-hard。我没见到纯 leetcode 意义上的 hard。但 medium 题会有层次,是很多人平时不怎么练的那种。
一个值得知道的点:他们不会提示你最优解。如果你卡在 O(n^3),他们可能会问一句「能不能做得更好」,但基本就到这。所以你要能判断自己的方法不对,并且干净利落地 pivot。
总体:这个流程是可以刷出来的。不是抓你漏洞。就是高频 medium leetcode,把套路刷到形成肌肉记忆。