Google 的面试到底有多难?单说 OA,就已经劝退一波人了。但其实,只要掌握出题套路 + 把握好时间分配,OA 完全是可以逆袭的第一步。今天就借助 Programhelp 学员的真实经历,带你复盘一次完整的 Google OA 流程+真题解析,提前踩点不吃亏!
Google OA 基本情况速览(适用于校招 / 实习)
不夸张地说,Google OA 是少数“能考出 LeetCode 原题还卡你思维的那种”。出题方向相对稳定,但会变体绕弯,很考临场反应。
| 内容 | 说明 |
|---|---|
| 平台 | CodeSignal(大多为应届生岗位)或 Karat(偏向在职/高年级) |
| 总时长 | 一般为 70 ~ 90 分钟 |
| 题量结构 | – Coding 2~3 道 – 加上部分简答题或逻辑题(偶尔) |
| 语言支持 | Python / Java / C++ 等(建议用最熟练的) |
| 难度分布 | 通常是 1 Medium + 1 Hard,也有遇到 2 Hard 情况,运气成分不少 |
| 是否录屏监控 | CodeSignal 版本通常会全程录屏 + 拍照认证 |
真题还原 + 解题思路(近两年高频题)
题目 1:Fill 2D Array Google OA 2025
Fill 2D Array Google OA
Given a N x N matrix. Fill the integers from 1 to n*n to this matrix that makes the sum of each row, each column and the two diagonals equal.
Example 1:
Input: n = 2
Output: null
Explanation: We need to fill [1, 2, 3, 4] into a 2×2 matrix, which is not possible so return null.
Example 2:
Input: n = 3
Output:
[[8, 3, 4],
[1, 5, 9],
[6, 7, 2]]
Explanation: We need to fill [1, 2, 3, …, 9] into a 3×3 matrix. This is one way to do it
Each row [8, 3, 4] [1, 5, 9] [6, 7, 2] sum is 15.
Each column [8, 1, 6] [3, 5, 7] [4, 9, 2] sum is 15.
The two diagonals [8, 5, 2] [4, 5, 6] sum is 15.
int[][] fillMatrix(int n) {}
题目 2:Largest Subarray Google OA 2025
Largest Subarray Google OA
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
A subarray is a contiguous part of an array.
Example 1:
Input: nums = [-2,1,-3,4,-1,2,1,-5,4]
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
Example 2:
Input: nums = [1]
Output: 1
Example 3:
Input: nums = [5,4,-1,7,8]
Output: 23
题目 3:Maximum Area Serving Cake Google OA 2025
Maximum Area Serving Cake Google OA
Given an array containing the radii of circular cakes and the number of guests, determine the largest piece that can be cut from the cakes such that every guest gets a piece of the cake with the same area. It is not possible that a single piece has some part of one cake and some part of another cake and each guest is served only one piece of cake.
Example 1:
Input: radii = [1, 1, 1, 2, 2, 3], numberOfGuests = 6.
Output: 7.0686
Explanation:
Reason being you can take the area of the cake with a radius of 3, and divide by 4. (Area 28.743 / 4 = 7.0686)
Use a similarly sized piece from the remaining cakes of radius 2 because total area of cakes with radius 2 are > 7.0686
Example 2:
Input: radii = [4, 3, 3], numberOfGuests = 3
Output: 28.2743
Example 3:
Input: radii = [6, 7], numberOfGuests = 12
Output: 21.9911
题目 4:Compare Strings Google OA 2025
Compare Strings Google OA
One string is strictly smaller than another when the frequency of occurrence of the smallest character in the string is less than the frequency of occurrence of the smallest character in the comparison string.
For example, string “abcd” is smaller than string “aaa” because the smallest character (in lexicographical order) in “abcd” is ‘a’, with a frequency of 1, and the smallest character in “aaa” is also ‘a’, but with a frequency of 3.
In another example, string “a” is smaller than string “bb” because the smallest character in “a” is ‘a’ with a frequency of 1, and the smallest character in “bb” is ‘b’ with a frequency of 2.
Write a function that, given string A (which contains M strings delimited by ‘,’) and string B (which contains N strings delimited by ‘,’), returns an array C of N integers. For 0 <= J < N, values of C[J] specify the number of strings in A which are strictly smaller than the comparison Jth string in B (starting from 0).
For example, given strings A and B such that:
Input:
A = “abcd,aabc,bd”
B = “aaa,aa”
Output:
[3, 2]
Explanation:
the function should return [3, 2], because:
All the strings in A are strictly smaller than “aaa” on the basis of the given comparison criteria.
Strings “abcd” and “bd” are strictly smaller than “aa”.
Constraints:
1 <= N, M <= 10000
1 <= length of any string contained by A or B <= 10
All the input strings comprise only lowercase english alphabet letters (a – z)
Google 投递建议|什么时候投 & 怎么投更有效?
不少同学会问:“Google 要不要早点投?”、“内推有用吗?”、“投完多久出 OA?”这边给大家总结一下👇
建议一:尽早准备,提前投递
Google 秋招每年 7~8 月就陆续开放申请入口,建议尽早准备好简历,7 月中旬就可以开始关注。提早投递意味着能早点收到 OA,不容易被系统 backlog 或“批量拒”。
建议二:尽量内推,命中率更高
内推会优先处理,而且不影响后续正常流程,成功率普遍比官网自投更高一些。如果你没内推人,可以找校友、GitHub 联系工程师。
建议三:岗位匹配要精准
如果你是应届生,建议优先投递 “University Grad” / “SWE Intern” 类岗位,系统更容易打标签识别。在投递前,把简历中的关键词(项目名称、技术栈)和岗位 JD 尽量对齐,提升匹配度。
小提示:投完简历后,OA 通常 1~3 周内发出,耐心等待 HR 邮件。如果超过 3 周没动静,建议适当 follow-up 或换路数二投。
Programhelp 助你高效冲刺 Google OA
作为面试辅助领域的老朋友,我们已成功助攻数十位同学通过 Google OA,并拿下 Google / Meta / Amazon 等科技巨头 offer。我们提供:
最新 Google 高频 OA 真题训练 + 分题讲解
Coding 模拟 + Karat 视频面试演练
高分策略拆解(如何拿满 score / 优化代码结构)
OA 远程助攻服务(题意分析 / 答题思路指引)
如果你也正在备战 Google OA,欢迎私信我们领取题库样本 & 一对一辅导排期!