2017实习生面经
50多天,15份简历,3次面试机会,一张offer。 说实话,这个结果我既满意又不满意(跟没说一样…)。满意的是在投简历之前,我定了几个目标公司,终极目标是Google和Amazon,目标达成。不满意的是,只拿到了一张offer。
准备
9月19号学校实习宣讲,讲了大三后半学年有两个option。一个是外出实习,要求岗位与本专业相关,并且实习至少4个月。二是留校做project,时长是12周,然后答辩放假。
我在大一入学就知道有这样的安排,所以为了让自己更有竞争性吧,大二就开始找本专业实习,幸运的是我也找到了。在这顺便对找实习的劣势做一下说明。
- 工作经验。同班同学或者就整个爱尔兰来说,你的大部分竞争者都可能有专业相关的工作经验。
- 语言障碍。和本地人或者说英语是母语的人来比较,是劣势。
第二点没什么好说的,没人可以帮你。但第一点,好好规划是可以弥补的。我在大二圣诞节的时候,天天刷各大公司官网看有没有招实习生的,虽然我知道招大二学生的可能性连个位数都不到。但至少可以看看一线公司对本专业的在校学生具体要求是什么,可以通过一年的时间去了解相关技术。
2016年1月底投了几个大二实习的简历;2月底得知进shortlist;3月10号电话面试;3月底拿offer;6月初Induction Day;6月13号入职。在Marine Institute(爱尔兰国家海洋研究所)实习了3个月,职位是Applications Development Bursar。
这就是我第一段实习经历。也很感谢最后Supervisor给的推荐信,在申请大三实习的过程中,这个推荐信起了很大作用。
推荐信
9月21号开始投递简历。
导师一下群发了十几封邮件,都是相关的实习机会。其实我想说,等导师给你群发工作机会再投简历,算是输在起跑线上了。从9月开学到实习宣讲,我几乎每天都刷喜欢的公司官网还有glassdoor。因为导师收集到的实习机会其实也是公开在公司网站上的。不一样的是,自己挖掘到的绝对比导师发给你的岗位多的多。这一部分岗位也叫hidden opportunity,它就在网上,只是没人会喂到你嘴里,要自己去找。
所以在导师群发邮件的当天,我早就把实习机会做了筛选,一下投了9份简历。
Aol.(美国在线)
9月27号得到Aol.(美国在线)线上测试的通知。我也是有点急,放学回家马上就做了。HackerRank,45分钟,10道题。前5道是单选,前端和java基础。后面是数据结构,比如Binary Search Tree某些Operation的实现。
9月28号下午收到Aol.的邮件,让我10月4号去Dublin面试。效率非常快。
10月4号去之前在Glassdoor上面看了一下考试讨论的一些面试题,都说Aol.的面试都是非常基础的问题。
我的面试也印证了这一点。大概的问题有:
- 什么是一个比特?
- 说几个数据结构
- 在一个html文件中,当你想要引入一个JavaScript文件的时候,有几种方式。外部引用的话,引用代码放在哪里比较好,为什么?
都是一些很简单的问题,不过确实有同学被what’s a bit给问懵了。
大概回答了10个问题之后,考官根据你答的情况决定下面题目的难度。也就是说,不用怕最后答不上来。他就是要问到你说不会为止,这种情况下是知道你有一定水平了,但是还想知道你现在的上限在哪?
接下来是Programme Manager问一些简历上的问题以及之前的工作经验。
面试完自我感觉还可以,等待的时间也说明离Offer很接近了。因为在那之后一直在说还想等等看其他考生的情况,所以直到11月9号我收到Aol.邮件,他们说最后在我和另一个学生里面选了另一个。
Aol. Failed…
Amazon 第一次(Software Development Engineer)
10月3号得知进面试。
10月6号去Amazon Dublin面试。班里包括我一共有4个人进了面试。一共三轮,每轮30分钟。 这三轮分别是Problem Solving,Data Structure,Programme Manager。跟Aol.相比,Amazon面试真的是难很多,当然也有热身的过程。比如问Map的插入操作,时间复杂度和空间复杂度之类的BigO问题。
Data Structure最后一个题是Graphic相关的,没答好。Problem Solving把问题解决了,在考官帮助下把算法优化了一下。Programme Manager是印度人,口音重,交流不顺畅。
面试完一个半小时接到电话,Failed。但这个速度太快了,后来导师跟我们说Amazon一直这样。因为所有人都很忙,可能今天面完过几天再做决定的话仅靠当时纸上的分数并不能做出最正确的决定。而且像这种大公司,招人并没有明确的人数限制。所有他们面完马上开个小组会商量一下今天面的几个人,要或不要马上就做出决定。
Amazon 第二次(System Development Engineer)
在Amazon第一次面试失败后我又补投了Riot Games(拳头公司)等等,一直没消息。然后基本决定留校做project了。
转机来了,Amazon突然又放出了一个System Development Engineer Internship的岗位,说跟之前的SDE有区别,让仔细看Spec.
11月10号得知再次进面试。
11月15号去Dublin面试。面试结构还是一样的,三轮每轮30分钟。
但内容有点不一样:Programme Manager,Linux&Networking,Problem Solving 顺序也和之前一次不一样,第一轮是PM面。相当于上来先是谈话节目,考官是DNS部门的Leader,他很喜欢也很好奇我简历上有很多很多在Coursera上自学的相关内容。问我为什么要学这些?时间是怎么安排的?要学的东西是你感兴趣还是说这些技术是你的短板?另外看我简历上在CoderDojo做志愿者,问我为什么要去?
我的回答大概就是学校学的吃不饱阿,自己感兴趣之类的。时间上谈了一些Time Management和效率上的问题。要学的东西我说根据当年学校的课程设置,有时候在网上提前学下一年的内容,有时候学校的课程虽然考试通过了,但是觉得有必要再深入学一下就上相关的网课blabla… 志愿者的事情,我说我大概也是10-12岁左右的时候在学校里学的HTML,在自己掌握的这部分知识上,尽自己所能,做一些分享。让喜欢编程的孩子在课外能有地方把兴趣进一步延伸。
可能是PM面起到了热身作用吧,后面两轮都答的很好。(因为这个offer签了保密协议,技术上的面试题不方便透露)
因为有之前的经验,开车回家的路上我就在等电话。大概过了半个小时,还没上M50就来电话了。开着免提,告诉我面试通过了,接下来会转到HR那边。
Offer
前后折腾了很久,因为过去七年在爱尔兰之外居住过超过一年(中国)。不仅要做爱尔兰的background checking,中国的也要做。 好在这周终于签了合同,十几份文件。 被分到了Amazon Data Services,Search Operation组。 申请实习的事情就算圆满结束了。 (写的比较仓促,后面会继续修改补充)