面试经验分享平台

将近几年的名企精品面试汇总、筛选、整理,再分享给大家
经验详情
个人经历 + Amazon/ MS面经

1.  个人背景本人和“牛”字八竿子打不着,我想我的经历能给不少同志信心和鼓励。

本科 复旦软件工程 GPA < 3.0

本科毕业国内有一年半工作经验,做测试系统的工作,感觉可能和MS家的SDET类似, 不过title是SDE

Master WPI GPA:4.0

来到美国决定努力学习一下,GPA在我投简历时还是很有作用的,特别是像WPI排名不是很高的学校,至少在学校CDC上投的campus interview公司都给了面试机会。


2. 准备过程

算法导论,前三大章内容必须都很熟,这是其他一切的基础

Programming.Interviews.Exposed, 这本书比较简单,入门.

然后做CareerCup-Top 150 Questions 4th。 这两本书有必要反复做,一直做到所有题目可以很流畅的在纸上(面试时是白板)完成代码。

http://www.glassdoor.com/index.htm 面试经验和面试题,面试前要面试的公司看其中的面试过程和近期的面试题都做熟,至少都要在大脑里想通。

本人准备时间仓促,就准备到这一步,我感觉针对除了变态面试外,已经足够了。

还有时间可以做下面面试有用网站,在做完前两本书就可以做这里面的题目,面试前针对具体公司做他们的题.

http://www.careercup.com/ 150题的网站,也有很多面试题和面经

http://www.mitbbs.com/bbsdoc/JobHunting.html 有面经

http://www.sureinterview.com 面试题

http://www.leetcode.com/ 面试题,较难

http://courses.csail.mit.edu/iap/interview/materials.php mit一个google面试的课程


3. 求职过程

参加了学校的career fair,投了学校网站上所有可以申请的interview和positions(感觉对于像WPI这个级别的学校,学校的资源很重要,外面海投的公司给面试的真的很少)。然后在上网把美国前100的公司有new grad职位的公司都投了,另外也在indeed上投了不少。一共估计投了100家左右吧……

拿到面试的有8家,2家电话HR第一轮就被拒了,1家因为天气原因没来学校面试,1家因为已经拿了A家的offer就拒了他的面试。我这里就说我正式面过on-site的4家。

第一家vistaprint, boston的公司,待遇很不错,起薪和M/A两家相当,当然bonus不能比。其实这家是我面试4家中技术题我个人认为面的最好的,完成了所有的question还有大部分的follow question。但最后被拒了。个人感觉是因为经验不够,美国one-one 的interview很注重交流,不能只在white board上写代码,必须同时把自己的思路和想法和面试官交流,公司面试活动的其他networking也要积极参加。

第二家wayfair, boston的公司,待遇平均水平,有了第一家经验,这家虽然题目做的不算很完美,但还是顺利拿到了offer。一般中型公司现在的super day都有关于公司现在新产品或者现状的介绍,我针对其中一个mobile page的设计和他们工程师聊得挺多,所以交流还是很重要的。

面试题: 第一个是database sql的题目,要会用外连接,自然连接是不够的。然后问了下网络中http传输过程的detail。第二个人是纯聊天。第三个两个coding题,第一个是算平方根,第二个是在一个sheet上每个cell里面有整数或者一个公式(比如a1 + b2),要求代码可以计算出所有cell的值,然后拓展到多线程,多服务器怎么提高性能。

第三家 Amazon

A家现在感觉招人很厉害,我去onsite之前什么面试都没做也没网上做笔试,直接让我去的。当天居然还有个一点编程都不会的人也来面试,最后半途就离开了。

我参加的是group interview。题目因为有协议我也不能透露细节,是一个和网页广告布局有关的内容。

每个组有3个人,一开始会有两个工程师来介绍Amazon,可以向他们提问,然后12:00一直到晚上5:00全部都是coding时间,project会分成三个部分,每个部分都很独立,不需要使用同一语言,配置的是linux ubuntu, 可以下载任何东西,我自己下载了eclipse。一开始会给1个小时的讨论时间,然后面试官会轮流到每个组听想法,这个感觉提供帮助的性质比较大,那个时候不需要有特别成熟的算法。挑part不算重要,有难度差异,但不大。coding过程每个人有半小时的面试时间,中间也是针对自己做的东西或者想法的展示,也是提供帮助为主。 首先注重完成自己部分,代码使用的的数据结构或自己构建的class要清晰,注释风格良好。最后我们组就我完成了,其实回想一下,如果一开始三个人都共同设计数据结构会更利于整个组的完成,不过这样会造成某个人会做出比较多的贡献,在那样的竞争环境下要打成一致也有困难。总之,最后评估和group感觉关系不大。周五面试,下周一就给了offer。


第四家 MS

不得不说MS面试体验很好,来回机场的路费都不需要自己先垫付,小费都是MS直接付,宾馆里直接叫外卖也是bill直接送MS,campus很大,工作环境还不错,最后结束也会帮每个人叫taxi,即使走路也就10分钟不到。而且结果也出的爽快……

面试分5轮,一开始先见自己的recruiter,简单聊一下。然后会帮你叫shuttle去面试的building,早上午饭前两轮面试,午饭期间有一轮面试,下面有两轮,感觉只要5轮都面完,offer基本就有了。

第一轮:一个大的board,一个小的board,里面都是integer,要找出最左上角的第一个match,返回坐标,没有就返回(-1,-1)。

第二轮: 找出两个link list交汇的那个point,没有就返回null。 zoom一个picture应该用什么数据结构。判断两个长方形是否交汇

第三轮:在数列中找出1-1000000中重复的那个数字 + lunch time聊天

第四轮:提出一个算法判断两架飞机是否会相撞,需要什么信息也是自己设计。 给你足够多的资源,你会开发什么和software有关的技术(资源保证你能成功)

第五轮: 纯聊天,面试官最后告诉我他的任务就是要说服我接受他们的offer

最后再去见recruiter,给我说了offer的细节。


最后补充一点:去面试的时候一定要对公司有了解,公司的技术,最新的进展,至少准备两个问题问出来就能让面试官知道我们的确了解过他们公司,还有准备新最新的相关技术可以和面试官侃大山。

我相信只要愿意努力找,现在的形势下,大家都能拿到很好的offer~