Google SWE Intern 两轮新鲜面经 | 非常顺利的通过两轮Code面试

785Times read
No Comments
Google SWE Intern 两轮新鲜面经 | 非常顺利的通过两轮Code面试

Google SWE Intern 的面试就2轮面试,主要考察算法设计部分,重点考察数据结构和算法基础,包括动态规划、图算法、树操作、排序搜索等经典问题。常见题目有最大子数组和、LRU缓存实现、二叉树LCA、序列化反序列化等,需要熟练掌握时间空间复杂度分析。Google 面试用自家的text editor,没用Google Doc;建议mock的同学用text editor 练习。

Google SWE Intern VO 第一轮

题目:Google Company有一堆会议室预订记录请求,每条record有start_time和end_time。返回最少需要多少room。

澄清问题

  1. 时间区间是start开始还是end开始?
    • 若为 半开区间 [start, end)end == next.start 可复用同一间房。
    • 若为 闭区间 [start, end]end == next.start 视为冲突,需要新房间。(面试时需要先问清,若未明确,通常默认半开区间。)
  2. 输入是否可能为空?是否存在 start == end 的会议?
  3. 时间是否有上界/是否为整数?
  4. 输入是否已按 start_time 升序?

思路

按开始时间处理会议,用一个小根堆存“正在占用的房间的最早结束时间”,每来一个新会议:

  • 若堆顶结束时间 <= 新会议开始时间,说明有房间空出来了——弹出并复用;
  • 否则需要新开一间房——直接把新会议的结束时间压入堆。
    用一个变量记录堆曾达到的最大大小,即所需房间数。

复杂度:时间复杂度 O(Nlog N),空间复杂度:O(N)

Google SWE Intern VO 第二轮

这轮面试包含BQ环节和两道coding题。面试官是位美国小哥,人很nice,简单寒暄后直接进入正题,整体节奏挺舒服的,下面简单分享一下。

BQ

  1. 讲一个你从项目失败中学到重要经验的例子?
  2. 如果你和同事在技术方案上意见不合,你会怎么处理?
  3. 描述一次你主动帮助团队成员提升技术能力的经历?

Coding

题目:可变范围求和 这题要求设计一个数据结构,既能查询数组某个区间的和,又能支持更新某个元素的值。

思路:用线段树来解决最合适,把数组构建成二叉树结构,每个节点存储子节点的和,这样查询和更新都能在O(log n)时间内完成。

Follow up:

  1. 除了线段树,你还能想到其他方法吗?请比较一下它们的优劣。
  2. 如果这个数组非常大,并且需要频繁更新,你的线段树实现在内存和性能上可能会有什么瓶颈?如何优化?

FAQ — Google SWE Intern 面试常见问题解答

1. Google SWE Intern 面试一共几轮?

Google SWE Intern 的技术面试一般有两轮技术面试(每轮约 45 分钟),主要考察算法和数据结构。大多数候选人是两轮即可完成。若某一轮反馈不明确 有时会再加一个 tiebreaker(第三轮) 进行补充评估。

2. 面试只考算法吗?会有行为/项目问题吗?

根据不同实习候选人的面试回忆:

  • 绝大部分 SWE Intern 面试是纯技术算法面,不一定问行为问题。
  • 有些面试官可能会在第二轮短暂问一两个简单项目/沟通相关的问题,但不会像全职岗位那样深挖行为面。

3. 面试中典型题目难度如何?会难过 LeetCode Hard 吗?

不完全固定,候选人反馈差异较大:

有人说题目偏 LeetCode medium 到 medium-hard 级别(如图/树/DP 等)
也有人遇到更难的“跟 Hard 接近”的问题。

总的来说,Google 更看重你的思路过程、提前澄清问题条件、时间空间复杂度分析。

4. Coding 面试具体流程是什么?

一般顺序如下:

  1. 面试官简短介绍
  2. 进入 Coding 题目(中等难度 DSA 问题)
  3. 你应先问清边界条件和输入输出假设
  4. 讲解你的思路、复杂度分析
  5. 编写完整代码
  6. 至少还有一个 follow-up改进/优化问题
  7. 结束前可提问(关于团队/实习项目等)

5. 技术考察主要集中在哪些知识点?

根据官方描述和面经整理,核心如下:

算法与数据结构:

  • Tree / Graph / Linked List / Array
  • Heap / Two pointers / Sliding window
  • Recursion / DP / Sorting/Search
  • Hash table/ Set
  • Complexity 分析
    (这些内容是 SWE Intern 面试重点)

6. 我需要准备系统设计面试吗?

对于 SWE Intern 职位来说,系统设计一般不是重点,主要集中在算法和代码实现。但对于更高年级或特定岗位也可能被问到简单设计思路(如 API 设计)。

7. 我是否需要在屏幕共享 Google Doc 上编码?

与全职 SWE interview 类似,Google 面试通常共享 Google 文档进行代码交流,但也有实习候选人反馈使用的是 text editor(纯文本环境)。提前习惯无 IDE 辅助写代码会有帮助。

8. 如果没在两轮通过,是否还有机会?

是的:

  • 如果技术反馈一好一差,有时会再安排 第三轮面试(tiebreaker)
  • Google 会综合所有面试反馈来决定是否 offer 或 project match

这意味着单独某一题答得不好不会立即判定你不合格。

9. 我面试完多久会收到结果?

Google 的整体流程(从申请到 Offer decisions)通常要几周时间。具体时间因团队和流程进度不同而异。中间可能包括后台审核、project match 阶段等。

10. 有没有准备建议?

  • 多做数据结构 & 算法题练习(重点链表/树/图/DP)
  • 练习清晰叙述思路、问 clarifying questions
  • mock interview 时用无 IDE 环境练习
  • 面试前了解基础行为问题(“Tell me about a time…”)

准备过程讲逻辑和沟通的练习同样重要。

整场下来,顺利通过! 在Amazon、Meta、微软、Google等等北美大厂OA和VO都很熟悉,都能顺利通过。如果你也需要Google面试助攻、面试辅助、OA代写等服务,请与我们联系

author avatar
Alex Ma Staff Software Engineer
目前就职于Google,10余年开发经验,目前担任Senior Solution Architect职位,北大计算机本硕,擅长各种算法、Java、C++等编程语言。在学校期间多次参加ACM、天池大数据等多项比赛,拥有多项顶级paper、专利等。
End of text
 0