skip to content

Search

谷歌 2026 暑期 SWE Intern 面经

6 min read

投递了 Software Engineering Intern, 2026 - Shanghai,体验下外企面试的同时也想试试能不能拿到谷歌实习生的 offer。

Preparation

之所以想要投递谷歌,一方面是在朋友圈里看到了一位在谷歌工作的学姐发的内推帖子,另一方面也是听闻外企很 wlb,再加上对世界上最顶级的互联网公司的向往,于是十分地心动。咨询了一下学姐,她说当时在谷歌实习大部分的时间都在享受(

投递谷歌需要在它的官网上填写一系列的表格,其中不乏许多特别具有人文关怀的问题。然后 recruiter 会向你发送邮件确认时间,并简要给你一些 tips,其中包括建议你要善于表达自己的想法和沟通、即便一时写不出来代码也要和你的面试官交流你的想法和假设等等,以及例行的“注重你的隐私和面试体验”环节。

面试前,我把简历发给了 Gemini,让它为我分别撰写一份中英文的自我介绍,并假装面试官根据我的简历向我提问。哈基米还是太有人情味了,最后还鼓励了我一番,让我增强了不少信心

当然还有临时抱佛脚环节:猛刷 LeetCode。

面试过程

当天一共面了两场,早上 11:00-11:45,下午 13:00-14:00,两场的面试官都是中国人。

上午场

上午的面试官进来一看要求:啊,使用 Mandarin。于是我们全程十分愉快地用中文进行交流。首先让我做了个介绍,然后问了我两个问题:

  1. 在做项目中印象最深的是什么事?
  2. 如果要你设计一款产品,如何让它能被全年龄段的人都喜欢用?

然后就是 coding 环节:

有一个 N(可能非常非常大)位的数字,寻找一个 K 位的子序列,使得这个子序列所表示的数字最大。

我想到的是一个 brute-force 的方法,先取原数字的后 K 位,然后一位一位往前遍历,如果遇到大于等于的就替换掉,时间复杂度是 O(NK)O(NK)。面试官原本让我再想想,然后看了一眼材料说:你面试的是 intern 啊,如果是正职不太行,intern 没关系,我这边 OK 的,你可以直接实现的。于是我就开始写了,写完后有个小小的索引错误,面试官还帮我指正了出来。

上午场就十分愉快地结束了。

下午场

下午的面试官进来就说,他也是被临时叫过来的,然后看了一眼要求,要用 English,于是他立刻转变了语言。

严格意义上,我好像还没用英语和别人正经交流过,中间还是挺吃力的,经常让面试官重复解释或者把描述写在共享文档里

下午没有问问题,上来就是 coding,但不是就简单地写代码,而是边写边与他交流,带着我从简单到复杂地去解决一个问题,以及调试、debug 和模拟遍历一次程序从输入到输出的过程。说实话,感觉经过这场面试,我对实现一个功能的代码也有了更进一步的认识

题目是这样的:

有一系列课程,需要把它们排在日历视图上,已知每门课的起讫时间,输出每门课在日历视图上的位置(即左上角点的坐标和矩形的长宽)。

我一开始没太理解题目意思(因为是英语),所以请面试官在文档中写下题目的要求,他还把问题拆分成了一个 first task,先让我统计下至少需要几间教室,然后再在第一次实现的代码上做多轮的修改和完善。

其实我一开始采用的方法就是错误的,但面试官似乎并没有直接指出,而是带着我一步一步地做下去,中间还帮助我 debug。最后问我这个实现有没有什么问题,我就诚实地告诉了他其中的问题,那时候还剩下十分钟,他让我可以再想想换个方法写,能写多少是多少。最后结束的时候,他说后续会为这次面试撰写一份报告。