想进Google做软件开发工程师(SDE),你得先过在线评估(Online Assessment)这关,也就是在像 Hackerrank平台上做的测试。你这次在线评估考得怎么样,直接决定了你能不能接到下一轮的电话面试或者现场/线上面试通知

你可能听说过谷歌在线评估(Online Assessment, OA)中的OA1、OA2。这些其实是指在线评估的不同部分:第一部分和第二部分。具体而言,OA1是调试题,OA2是类似LeetCode风格的编程题,这是一项评估候选人工作风格的测试,不涉及编程。如果你是有经验的软件开发工程师(SDE),通常只需要完成OA2。而应聘谷歌SDE实习生或应届生职位的候选人,则需要完成OA1和OA2。

Google OA1

OA1 主要考察调试和逻辑推理能力。在调试部分,你会看到一小段包含细微错误的代码,然后你需要找出并修正这些错误。常见的错误类型包括导致无限循环的不正确循环条件、差一错误(off-by-one errors)等等。通常会有 5-7 个调试题。

此外,可能还会有逻辑推理题或简单的数学题。例如,给你一个数列,像这样:4 12 6 18 12 36 30,问下一个数字应该是多少?答案是 90,因为你可能会发现偶数位置上的数字是它前面那个奇数位置上数字的 3 倍。

Google OA2

OA2 是 LeetCode 风格的编程题。你将有 1.5 小时来解答一到两道题目。请参考下面的列表进行练习。

谷歌的技术面代码考题向来都是在众多科技大厂中出了名的难,即使是最常见的题目所涉及的技术特征都具有是以图、DP 和高级数据结构为中心的复杂模式,需要候选人对复杂算法和数据结构有深刻的理解,有时候面试官还会故意设置题目陷阱来考验候选人对实际问题的辨别能力,可谓是面面俱到的技术考察。

以下是2025第一季度谷歌部分面试真题方向,务必熟练:

重点练习题考察技术点
记录器速率限制器基础数据结构与算法
两个对象之间的差异基础数据结构与算法
删除节点并返回森林深度优先搜索
范围模块高级数据结构
会议室 III堆,模拟
查找 MK 平均值高级数据结构,堆
文字算术谜题回溯算法
奇偶跳高级数据结构、动态规划、杂项。
大家成为朋友的最早时刻高级数据结构、基础 DSA
最小面积矩形基础数据结构与算法

谷歌技术面重点关注领域

谷歌的面试题看起来很吓人,会难住一大批的候选人,但仔细一看几乎所有的谷歌代码问题都可以用以下几种模式之一来解决:

  • 双指针(Two Pointers)
  • 广度优先搜索(Breadth-first Search, BFS)
  • 深度优先搜索(Depth-first Search, DFS)
  • 回溯算法(Backtracking)
  • 堆和优先队列(Heap and Priority Queue)
  • 图遍历算法 (Graph Traversal Algorithms)
  • 高级数据结构(Adv. Data Structure)
  • 动态规划 (Dynamic Programming)

每种模式又细分为若干子模式,CSOAsupport为每个子模式都提供了介绍性文章和练习题,在参加面试前,务必确保你对它们了如指掌,你可能还需要了解一些动态规划(Dynamic Programming),但只需掌握基础知识即可,比如”零钱兑换” (Coin Change) 和”爬楼梯” (Climbing Stairs) 这类经典问题。

谷歌面试的常见问题

在线测试(OA)使用摄像头吗?

在OA开始时,会要求你使用摄像头拍一张身份证件照片。但实际的OA测试过程并不会通过摄像头录像。

在线测试(OA)有时间限制吗?

是的,有时间限制。具体时长可能会因平台而异。在HackerRank平台上通常是135分钟。

在线测试(OA)期间可以使用谷歌搜索吗?

你的浏览器活动是会被监控的。所以务必提前熟悉你选择的编程语言的语法和常用的数据结构。

在线测试(OA)是如何评估的?

你的解法会通过公开和隐藏的测试用例进行测试,结果将作为你是否能进入下一轮面试的决定因素。

谷歌在线测试(OA)有多难?

这个取决于你的运气。难度可能从LeetCode的易(easy)到难(hard)不等。但大多数题目不会太难。可以参考上面的列表来了解难度,并练习相应的题型。

如何准备谷歌在线测试(OA)?

利用上面提到的的谷歌题型进行准备或寻找有经验的OA远程协助团队进行学习和模拟面试,这样成功率会更高

留下评论

趋势