Google 这个名字本身就有点吓人,每年都有人在这一关悄悄折戟,简历再好看也没用。对很多应届生来说,OA 是整个流程里第一道真正的门槛,大量优质简历都在这步被过滤掉。结果发现,其实没有想象中那么玄。
2026 届 Google OA 的整体风格延续了以往:不是考你刷了多少题,而是考你面对问题时的工程思维——代码是否清晰,边界有没有处理好,解题思路是否 structured。说白了,Google 想要的不是背题机器,是真正能写出靠谱代码的人。下面是我的完整经历,附题目思路和备考建议,希望对正在准备的同学有参考价值。
Google 2026 New Grad OA 基本信息
| 项目 | 内容 |
|---|---|
| 测评平台 | 部分批次 Codility,部分批次 HackerRank |
| 题目数量 | 2 道编程题 |
| 时间限制 | 60–90 分钟 |
| 前置流程 | 照片验证 → 直接开始编码 |
| 整体难度 | Medium,不难但容易往错方向想 |
Google NG OA真题回忆(2026 新题)
第一题:收集硬币(Token 移动问题)
题目描述
字符串board由T(令牌)、C(硬币)、.(空格)组成。
- 令牌只能向左移动,每次一步,仅能移到空格;
- 移动到
C位置时收集硬币,硬币消失,位置变为.; - 令牌不能重叠,无法移动到有其他令牌的位置。求最多能收集的硬币数量。
示例
board = "TT.T.CCCCC"→ 输出3board = "T...CCCC"→ 输出1board = "C..TT.CT.C"→ 输出2
解题思路
- 贪心核心:从右往左处理令牌,优先让最右侧令牌收集左侧最近硬币,避免抢占左侧令牌资源;
- 模拟逻辑:循环遍历,找到可移动令牌→向左匹配硬币→检查路径无阻挡→移动并计数,直到无新移动发生。
代码实现(Python)
def solution(board):
arr = list(board)
coins = 0
n = len(arr)
while True:
moved = False
for i in range(n-1, -1, -1):
if arr[i] == 'T':
j = i - 1
while j >= 0 and arr[j] == '.': j -= 1
if j >= 0 and arr[j] == 'C':
# 检查路径是否全为空格
if all(arr[k] == '.' for k in range(j+1, i)):
arr[j] = '.'
arr[i] = '.'
arr[j+1] = 'T'
coins += 1
moved = True
break
if not moved: break
return coins
第二题:最大无共享数字子集
题目描述
给定两位数数组numbers,选最大子集,要求任意两数无相同数字(如 52 和 25 共享 5、2,不可同选;90 和 90 可同选)。
示例
numbers = [52,25,11,52,34,55]→ 输出4numbers = [71,23,57,15]→ 输出2numbers = [11,33,55]→ 输出1
解题思路
- 位掩码转化:每个数字转10 位二进制掩码(0-9 数字对应位标记),如 52→
1<<5 | 1<<2; - 统计频次:用字典统计每种掩码的出现次数;
- 回溯枚举:遍历所有掩码组合,筛选 ** 无交集(掩码 &=0)** 的组合,计算最大元素和。
代码实现(Python)
from collections import defaultdict
def solution(numbers):
def get_mask(num):
s = str(num)
mask = 0
for c in s: mask |= 1 << int(c)
return mask
count = defaultdict(int)
for num in numbers: count[get_mask(num)] += 1
masks = list(count.keys())
max_size = 0
def backtrack(idx, used, size):
nonlocal max_size
if idx == len(masks):
max_size = max(max_size, size)
return
# 不选当前掩码
backtrack(idx+1, used, size)
# 选当前掩码(无冲突)
if (used & masks[idx]) == 0:
backtrack(idx+1, used | masks[idx], size + count[masks[idx]])
backtrack(0, 0, 0)
return max_size
Google online assessment 流程说明
OA 链接有效期大概 5–7 天,建议挑个状态好、网络稳的时间段做。进去先照片验证,验证完直接开始写题,没有热身题。
平台支持 Python、Java、C++ 等主流语言,有基础 test case 可以跑,但不支持本地 IDE 那种逐行 debug,所以动手前一定把逻辑想清楚。提交之后系统还会追加几个隐藏 case 做压测,边界没处理好的话这里很容易挂。
资源推荐
如果你也像我一样,在准备 Google、Meta、Microsoft 等大厂 New Grad OA 时,感觉一个人刷题效率不高,或者想针对 Google 高频题型做系统性提升,我强烈推荐 Programhelp。
他们的学长有丰富的大厂 OA助攻经验 ,尤其擅长帮助同学梳理 Google OA 高频题、优化代码风格和提升时间管理能力,能提供针对性的模拟练习和实时的思路指导。
有需要的同学可以去了解一下 Programhelp 的服务,学长会根据你的具体背景给出非常实用的建议。