在软件版也潜水了几年,想说分享一些今年的面试经验。
自我介绍:
四大CS硕毕业,毕业后在一家外商待了快四年。
1. 阿姆斯特丹 Booking.com
时间:2017/5
方式:透过FB看到征人广告就去应征了
语言:英文
结果:英文不合格
过程:一开始HR会打来聊你的背景、做过的专案、个人特质等等,说明面试流程等等。
1. Phone Interview
对方会打电话来并用e-mail给你一个网址,可以共同编辑写code,
对方工程师有两个人,问了两题,没有太难,常写code通常都可以写得出来,
不过过程中有一段英文听不太懂所以卡了一下子。
后来就接到了通知说要去荷兰on-site,他们会负担来回机票跟四天的住宿,
他们会有agent帮忙订所有的机票跟饭店,你只要跟他说想要的班机跟住宿
的日期就好,这点还蛮不错的。
2. On-Site
后来就去荷兰面试,顺道跟太太去比利时跟法国玩两个礼拜。
面试当天一开始HR跟你说明这边有多好啊,公司怎么样等等的。
之后开始第一轮面试,有两位工程师一起面试,
题目是跟搜寻有关的算法,并不会太难,面试官一开始提一些需求,
请你设计算法,之后请你优化。
不过我那时候时差没调回来还很想睡,而且英文沟通上有点误解面试官的意思,
所以没有表现得很好。
第二关是System Design,题目是有关Load Balancer的设计,
过程中面试官会问如果在某情况之下,你要怎么改善你的设计等等,
经过刚刚的轰炸之后,头脑比较清醒了,所以表现得还不错。
最后一关是一个主管来做Behaviral Test,
有问到过去遇到过印象深刻的Bug、加入之后可以为Booking.com带来什么贡献,
还有一些情境题等等。
结果:他们认为我英文不够好被拒绝了...不过后来今年9月又收到那位HR的信,
问我要不要再去面试,我在想等我想去欧洲玩的时候再找他好了XD。
2. 福冈 Line
时间:2017/7
语言:英文
方式:FB上看到Top Career的征人广告就去应征了,Head Hunter是个台湾人,
所以沟通上还蛮方便的。
结果:Offer Get
1. Offline Assessment
一个Word档,上面有几个问题,
包括一些一般性问题跟算法,大概五题。
2. Offline Assessment
一份线上考题,范围蛮广的,包括算法、OS、Java、iOS等等的问题,
大概十二题,没有限制填答的时间,不过需要一次写完。
3. On-Site
地点在台湾的Line总部,那只两层楼高的熊大还蛮吸睛的,
当天到了之后,HR带你到一个房间,面试官有两个,
一位外国人、一位日本人,一开始寒暄一下之后,
针对上一份线上考题,一题一题深入地问,
有聊到Java的底层、算法、OS、Computer Network等等的问题,
我就清楚的把我知道的内容说明给他们听,
过程中常会用到白板画图或写code来说明,整个过程大概是两个小时。
4. Phone Interview
地点也在台湾的Line总部,是连线到日本东京的跟一位高层面试,
台湾这边有一个翻译,对方用日文问一些一般性的问题:自我介绍、
为什么要应征Line、做过的专案等等,翻译都会翻给我听,
对方可以听英文,我就用英文回答。
接下来HR开始说明有关薪资结构还有职级等等的资讯之后就结束了。
过了一周后,Hunter就通知说收到Offer了。
3. 苏州 Microsoft
时间:2017/7月中 ~ 2017/9月初
语言:中文 + 英文
方式:HR透过LinkedIn联络我
结果:Offer Get
过程:一开始HR先用电话跟你聊一下你的背景、意愿跟动机等等,
后来寄了一份文件上面有一题算法,说一天内回传,
我想说没有很难就马上写完回传了,之后收到phone interview邀约。
1. Phone Interview (1 hour):
方式:Skype,以及Skype共同编缉区域写code。
流程:一开始问了一些Java、物件导向、设计模式跟
数据库Index的底层实作等等的问题,接着出了一题算法,
我写了一个版本之后,开始讨论要如何优化,后来我想到几个地方可以优化之后
时间上有点超过,他说不用实作没关系就结束了。
过几天后就收到on-site邀请,再过了几天,
HR跟我说美国那边说需要再加一场Phone Interview,
所以过几天就进行第二次Phone Interview
2. Phone Interview (1 hour)
方式:Skype,以及Skype共同编缉区域写code。
流程:出了一题算法题,还蛮有趣的,过程中需要证明一下你的算法是正确的,
Interviewer人蛮好的,会引导你,我证明完且写出来之后有挑出一点小错后
就结束了。
接着就收到了On-Site邀请啦,他们会补助两天的餐费、住宿费以及所有的
交通费、来回机票等等,不过比较不一样的是要自己保留发票,之后还要填表格
,给他们汇款资讯等等,稍微麻烦了一点。
不过HR还蛮有诚意的,在机场准备要登机之前,打给我说到饭店安顿好之后,
要不要一起吃个饭聊一下,所以当天晚上HR就请我跟我太太吃晚餐,
隔天早上就去on-site了。
3. On-Site (1 hour)
一开始就请我自我介绍,聊一下做过的东西,
问了Web Server遇到流量peak的时候要怎么解决,因为没有处理过这样的问题
所以只能靠以前大概看过的解法回答,没有回答得很详细。
之后出了一题算法题,我写完之后,讨论了一下要怎么优化,
修改了一下之后就结束。
最后面试官带我去他们的餐厅吃饭,边吃边聊了一些有关公司的事情,
过程中还有三、四个其他部门的人参一咖聊了一下。
4. On-Site (1 hour)
一开始被问了一些Scala的问题,应该是看到我的履历上有写的关系,
不过因为我才开始用Scala一年而已,对一些知识不是很足,只能尽量回答,
看来履历上还是要写有把握的才行啊...之后出了算法题,
跟面试官讨论了做法跟如何优化之后就开始写Code,过程中面试官还出去了一下
写完后刚好他回来,就跟他讲解code,他说很接近最佳解了,并说哪边可以
稍微修改一下后就结束了。这个面试官感觉比较不那么亲切(人还是不错),
出的题目算比较难的,应该是个Bar Raiser的角色。
5. On-Site (1 hour)
Interviewer: Hiring Manager (Principal Engineering Manager)
一开始就稍微聊一下,然后问一下之前有用英文面试吗?我说没有,
接下来就都改用英文跟对方沟通,过程中也出了一道算法题,跟对方讨论一下
解法,写完并跟对方讲解完code之后,对方说没什么太大问题,
后来我问了蛮多有关未来工作内容、流程、team的组成、
在这边的生活等等的问题。
整体面试下来感觉蛮好的,HR很有诚意,面试官也都蛮亲切的,
都很愿意跟你讨论。因为我有工作经验,以为他们会考一些System Design相关
的题目,后来蛮意外的全都是算法题。
隔天在苏州观光的时候就接到电话说通过面试了,要开始跑Offer流程了。
4. 东京 Amazon
时间:2017/8
结果:婉拒面试
LinkedIn上收到HR说台湾有联合招募会就报名了,应该蛮多人都有收到的。
1. Off-line Assessment
时间: 70分钟
内容: 三道题目,大概是LeetCode Medium等级,全部写完且测资全过。
后续:从苏州回来后就写信问Amazon HR有没有通过,对方说通过了,
并希望我台湾面试会的时候去on-site,不过时间在10月中...
后来考虑到因为我已经有Microsoft Offer,而且我跟我太太都不会说日文,
生活上不太方便,所以就拒绝了。
准备面试的感想:
1. 勤写LeetCode:我自己是都挑Medium跟Hard写,Hard写累的时候就换Medium写,
写完之后也会看一下别人的解法,对自己也蛮有帮助的,
我常常坐捷运通勤的时候就挑个题目先在脑袋里想,
到公司的时候再把它写出来。
2. Mock Interview:我跟我朋友每个礼拜轮流做一次英文的Mock Interview,
练习用白板写Code跟学习沟通,这样面试时可以无缝接轨。
3. Mindset很重要:面试官不是要考倒你,而是想知道你过程中如何思考、
如何跟面试官沟通等等,所以跟面试官讨论非常重要。
如果他们只是为了看谁写的出最佳解,干嘛叫你来on-site?
直接把题目撒出去看谁最快写对就好了啊XD。
4. 英文很重要:国外公司就不用说了,即使是外商的中国分公司,因为有很大机会
需要跟各国工程师合作,所以难免需要英文面试,不过不用很流畅,
至少能听懂对方讲什么,而且能表达自己的意思就好,有点卡没
有关系,不过如果你是要去BAT的话这就可以跳过了。
5. 不要想太多:不要被自己的想法困住,我认为软件产业还在上升中,
有机会都可以去试试看,我也是把每次面试当作练习的机会,
所以都没有想太多就去试试看,反正没有录取多一次面试
的经验也蛮不错的。
最后决定去微软了,Offer内容有兴趣的人可以上一亩三分地看看,刚好上面有人分享
,非大陆地区且带家人的话relocation fee会高很多,苏州房价跟台中差不多,环境清幽
,算是蛮适合生活的地方。
Line的Offer的话,应征时Head Hunter通常会跟你说大概的数字,不会差太多,
可以去Top Career网页上应征,会有Head Hunter联络你,希望这些分享可以帮助到大家。