实习分享(第一弹)

实习分享(第一弹)

编者按

欢迎大家来到19CS的实习分享会,从4月11日起,将会每天更新一位同学的面试经历和经验,也欢迎大家积极投稿。

Google STEP面试经验

一、面试前

面试之前的成绩有ACM ICPC/CCPC区域赛的金银牌,项目经历有数据库的课程项目和参加Google Girl Hackathon的一个WebAPP,没做过科研,无实习经历。
只投了Google STEP这一个岗位,这是一个针对大二少数群体(在国内基本指女生)的实习项目,算是大三SWE的简单版本。了解到这个机会是因为大一在ACM队教练孙老师的介绍下参加Google开放日,去Google上海办公室参观(蹭饭),之后每次Google招实习生都会收到邮件,大二办校赛的时候和Google的HR也有一些交流,Google的招聘公众号”Google招聘包打听“会有推送,校赛也一直在打广告。对公司的了解就是食堂挺好吃的,工作很自由,dalao特别多。之前有队里的学姐成功申到了这个岗位,但是因为疫情没能线下办公,所以对具体工作内容和形式也不了解。
面试前因为期末季在狂赶ddl,没做什么准备。之前的面试经历有高中学竞赛时面过我们学校和其他几个大学,大一参加牛客女生赛面试了一次。Google开放日组织了一次线下模拟面试,做了一道很简单的题目,也了解了面试官对面试者的期待,所以对这次面试比较放松。开放日也做过简历指导,大概就是老生常谈的刚好一页纸、简洁清楚、最重要的是写清毕业年份;当时因为没做过啥项目,写了好多组织经历,勉强凑够了一页纸的简历。

二、面试过程

在宿舍线上面试,给了个网页写代码,功能挺差的,勉强能运行吧。因为Google的面试邮件里有要求用耳机,那天就用了新耳机,结果操作失误没声,最后还是关了耳机直接外放的。
自我介绍只简单说了一下学校、年级、专业、奖项,随便寒暄一下就开始出题了。两次面试好像都是只有一道要写的题和一些相关的讨论问题;写的题都是三四十行左右的简单题目,不太需要想,但是要对算法复杂度认识得比较清楚。二面的代码有一个特殊情况没有考虑,但是在和面试官的沟通中很快修正了bug。写完题目就没什么事了,为了拖时间随便聊天,一面的面试官问了我一个偏硬件和系统的问题,当时我还没学过,他让我随便凭直觉讲一下,然后告诉我其实他也不会;二面的面试官让我提问,问了如果去Google实习需要提前学习什么,面试官说什么都不用学。

三、面试后

二面当天下午收到了口头offer电话。似乎STEP是两个面试官都说ok就可以直接过,所以出结果很快,SWE还是有一些招聘委员会复审之类的流程要走的。
STEP的题目比SWE要简单一些,然后因为年级低不太会问系统类的问题,不知道SWE是不是一样。
Google因为是直接让软件工程师在工作之余去面试,不是专门的面试官,所以好像不太会问工作中完全用不到的知识。我跟同事们交流的时候发现很多人已经完全忘了数字逻辑、操作系统、编译之类的课,甚至有些同事就不是计算机系科班出身的,大家去当面试官时可能也就是准备了几道算法题;当然虚拟化之类的语言特性工作中还是会用的。既然是软件工程师选理想的同事,我觉得最重要的是友好交流,题目不懂就要及时问,口头描述的题目不够严谨也是完全有可能的,开放日时面试官甚至说有些条件就是有意等大家来确定的;写之前要能清楚地阐述自己的想法,遇到bug要善于归纳出了什么问题,然后积极接受修改意见。能力方面,我实习时听说有些SWE题没做出来也过了,比较关键的可能还是写代码的习惯,变量名、结构之类尽量易读易懂;还有写完代码要给出一些有针对性的测试来覆盖各种情况,毕竟coding和testing都是工程师的重要工作。这些我们在ACM队里每天做的事情差不多,所以觉得这次面试很自然。
Google的面试还是算法为主,这方面我也是靠题目数量堆出来的条件反射,没什么捷径。不过希望我们的周末算法讨论班能帮大家少走些弯路,我对动态规划这个主题挺期待的,感觉有好多有用有意思的方法和题目,在这也打个广告,希望大家期中季抽时间来听orz。祝大家面试顺利!


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!