背景介绍:台湾 EE undergrad,当完兵后目前在湾区大学念 CS MS。F-1 visa。
** 以下中英夹杂,敬请见谅 **
从去年九月来到美国之后开始投履历,直到三月左右,找 intern 的事情才尘埃落定。
来这边发现机会实在是多太多, 抢人的盛况没过来真的很难想像。从 info sess-
ion free food,到我和我室友各抽到一台 tablet,真的是奇招百出。Oracle
甚至直接抽十个人发 $250 的现金。以下我想要分享一下这几个月找 intern 的
心得,还有一些我希望在来之前就知道的事。
一般的建议:
1) 来美国之前先做好 resume,千万不要超过一页。只要放上去的东西他们都有
可能问。所以如果有东西不想要被问的话,就不要放上去。如果不知道如何
取舍的话,我的建议是如果被问到不能讲个一分钟的话就不用放了。关于
resume 的问题也请多准备,例如这个 project 你觉得最困难的部分是什么。
2) 口说能力是必备的。不过更重要的是要听得懂别人说什么。一开始碰到印度
人常常一半以上都听不懂,这时候就要先猜他的意思,然后反问他是不是这
样。至少总比一直请别人重说好。
3) 算法、资料结构就是基本功了。至少要到 cracking coding interview 全
部都可以自己想出来的程度。
4) 在 career fair 投 resume 的时候,要清楚的介绍自己。比如说我是 master
第一年,想要找明年的 intern,对 mobile 有兴趣之类的,然后再把 resume
交出去。尽量引起 recruiter 的兴趣,最好要讲到他在你的 resume 上面做
记号。
5) 一开始可以先找一些公司练习一下,建议可以找 finance 的公司。因为根据
我的经验面试的题目通常比较难,是个不错的练习对象。(另外之是我对 finace 没
兴趣...)
6) 大公司实习比较不看重经验,通常会有 intern program 并找 mentor 指导你。
Start-up 比较倾向找即战力,但是比较有机会做出贡献,学到的东西不见得比
大公司少。
6) 通常在 interview 开始 interviewer 会介绍他的 team (except Google),
这时候请用心听,因为之后通常都会有时间可以问问题,最好可以展现出对
这个 team 很有兴趣,很想要加入团队的企图心。如果真的当场想不到也请
准备一下一般的问题,比如说想知道之前 intern 的 project,或者 team
是如何决定应该要做什么 feature 之类的。
7) 如果你有机会拿到 offer 的话,有时候 HR 会开始死缠烂打。一直用假设语
气问你问题。(这也是我高中学到这种语法第一次真的听人讲) If you were
to receive an offer from XXX,Should you XXX,基本上就想要打听你拿
到 offer 会怎么做,有没有其他公司也有 deadline 等等。这时候就要不畏
艰难和他卢就对了,能把 deadline 拖越久越好。
接下来是一些公司的面试经验和 interview process:
1) Microsoft
Microsoft 一开始我是 on-campus interview,不过如果是 phone interview 我
觉得应该也是差不多,就是四十五分钟的 coding question。如果能解出两题应该
就过关了。接下来他会安排去 Seattle 总部的 on-site interview。机票、住宿
、租车全包,有 $50 的旅游预算,每天还有 $75 的餐费,可以去玩个三天。所以
就算对 Microsoft 没兴趣的也应该去 interview 一下。On-site interview 会有
三到五个 interview 不等,我是碰到四个。形式是每人各一小时,大概半小时解
一个 coding 题,剩下的时间是两人轮流问问题。On-site interview 完后结果
很快就出来了。Microsoft 的 intern offer 其实很不错,只是 project 有点无
聊,不然去 Seattle 感觉也很不错。
2) Yelp
Yelp 的第一关是电话机智问答,问些 1 byte = ? bit 或者 http port = ? 之类
的问题。第二关是 phone interview,会要你在协作平台上写 code 给他看。因为
我之前说要做 website 所以问了一些 server 设计 (ex: cache design) 和 JS 的
问题。顺带一提 Yelp 都是 full-stack developer。这关过了之后就去 San Francisco
on-site interview。一开始会有 HR 带你参观,解说一些公司文化,例如每季有内部的
hackathon。之后有两个 interview,都是 coding (Python),过了之后大概一个星期有
消息。Yelp 的 offer 也很好,会补助你在 SF 找房子。
3) Facebook
这家我投了几次 resume 都无声无息,我觉得应该是一定要找人 refer。
4) Yahoo
Yahoo 我在 career fair 的时候丢的时候是和他说要做 mobile,所以直接就把我
送到 mobile team。Yahoo 都没有问 coding question,都是直接问架构问题,比
如说要设计一个 app 要怎么做,怎样可以节省 data 用量等等,如何用 asynchronous
减少延迟。第二个 interview 也是类似的情况。之后就说要准备 offer 请我给他一些
资料,要送去给 CEO 批。(intern 也要找 CEO...) 我一月中送出二月底快才收到
offer。
5) Adobe
我在 career fair 和他说要做 mobile,聊了几句之后就要我隔天去 interview,
基本上只简单谈了之前的 project,之后就说他们在二月会办内部的 career fair
做 intern matching,到时候才会决定有没有 offer。结果到了二月说不办了,变
team 会主动找人来 interview。二月初 interview 了一次,基本上也是在问 resume
的问题,后来变成 hiring manager 要 interview,不过因为我已经找到 intern 就
回绝他们了。我个人觉得对于要做 computer graphics 和 computer vision 的人,
Adobe 应该是个不错的 intern 选择。
6) Apple
Apple 是让我最崩溃的公司,前后 interview 了六次还没上。每个 team 各自为政,
如果另一个 team 给 offer 的话还要我自己和他们说。一开始 on-campus interview
分到两个 team: iOS framework 和 developer relation。去了才发现 developer
relation 是在写 API documentation,我实在不懂为什么他们找个英文不好的人来
写 documentation。iOS framework 组问了我不少 Obj-C 和 OS 的问题。比如说怎
样避免 deadlock,还有 Objc-C 传 block 的时候 block 要放在 stack 还是 heap。
之后又 schedule 了两次 phone interview,其中一次还放我鸽子。两次完后他们告诉我
他们已经选了别人,所以会帮我 refer 到其他的 team。两个星期后又开始了类似的
process, 最后又选了别人。大概三月中又找我第七次 interview,这次变成 on-site。
只是一方面已经找到 intern 二方面没什么时间就没去了。
7) LinkedIn
我和 LinkedIn 有过一次 phone interview,也是在协作平台上的 coding 问题。
比较让我傻眼的是 interviewer 连 floating point 比较时不能用 == 都不知道,
我还要和他解释,他一直说 "我在 Java 都直接用 =="...... Recruiter 也是很奇
怪,我寄信和他说我 deadline 快到可不可以加速,他竟然要我自己去问 interviewer。
8) Google
一开始我自己丢 resume 也是如同石沉大海。后来请了学长帮我 refer 之后,两天内
就 schedule 了 interview。Google 的 intern interview 比较像是 qualifacation
连续两个四十五分钟 coding question,如果做出四题应该就会进了。进了之后就会
进入 intern pool 等 host 拿 project 来挑你,被挑中就有 offer,六个星期没中
就只好说再见了。我进到这个 pool 的时候很有 deadline 压力,只能等一个星期而
已。再去拜托了学长看看可不可以帮我找 project,好心的学长把我的 resume 转寄
给台湾人的 group,结果隔天就有两个 project host 对我有兴趣。和两个 team 分别
interview 之后,只要双方确认是 match,很快就会发下 offer。
在这里再次谢谢帮助我的学长们!