[经验] 日本高盛, Line, Google 面试心得分享

楼主: nkfly (远足)   2018-06-10 20:28:00
各位大大好,先说结论,因为另外两间没上,我只有一个选择,最后加入 Line。
背景:
小弟我 112 资工系大学+硕士毕业,期间从无到有做过上线的 Android App 与整个 Bac
kend;硕一生硕二的暑假有到日本的 R 社实习两个月;也自干全端做过自己的上线 Web
Application;打过 Kaggle 几场比赛。
虽然我大学是转系生,但自问硕士毕业之际,对于前端、后端、App、Machine Learning
均有相当的实作经验,实力上,应该不输一般的毕业生。
于是,因为硕班暑假到 R 社实习的缘故,我拿到 Return Offer,在硕班一毕业之后就来
到 R 社工作一年半,在此时机,开始转职,从转职最初时 Leetcode 刷了 200题 以上,
到最后Google Japan Onsite Interview时 Leetcode 刷了329 题。
以下依据时间顺序,分享这 3 间公司面试心得。
Goldman Sachs(高盛)
这间公司的机会一开始是在 2017 年 7 月有 Head Hunter 联络我。那时 Job Descipti
on 上写得很模糊,大抵就是要找 Java 后端与时下前端都懂的 Gerneral Software Engi
nner,因为公司名气大,我便愿意尝试。
与 Head Hunter 投了之后,无声无息好几个月,直到约 11 月 Head Hunter 才突然联络
我。他跟我说:因为 GS 内部人事系统变动,导致履历未送达,最近才修正之类的,总之
,很快安排了 12 月第一次线上面试。
第一次线上面试时间一小时,跟香港那边的印度工程师面试,我选择使用的语言为 Java
。形式是线上共用一个线上可Compile的 IDE,然后他们会打电话过来,也就是一般的 Ph
one Interview。
第一题我记得是写一个辨别 input 是不是 power of 10 的函数。第二题我忘了,但也是
Leetcode easy 等级。
完成两题之后,大约还剩 20 分钟,他说:第一次 phone interview 只要解决这两题,
就算过关,但你要不要挑战下一次 interview 难度的题目? 我说好,他就丢给我一题著
名的考题 Implement Hashmap。
然而,其中牵扯到 Java Generic 的部分,我其实不熟悉,所以在那边卡了一阵子,20
分钟内没能解出来,但总之,第一次 Interview Pass。
接下来约了第二次的线上 Interview,我被高盛的工程师放鸽子(好像是香港印度工程师
生病)。接下来又补约一次线上 Interview,我“又”被放鸽子(我请了两次的假都白费
了)。
终于,被放鸽子两次后,下一次电话面试,总算有来人了。题目我一看:Implement Hash
map!看来他们面试官之间没有沟通好,我因为有了准备,就能用 Generic 的语法解决了

通过两次线上面试后,接下来就是去六本木 Office Onsite Interview。这个第三关是两
小时,大抵就是看我的履历,问我相关的问题。也当场给我纸,考了一题 Fibonacchi 数
列用 Recursion、While loop、Dynamic Programming(就是 Recursion 但是有把答案记
下来)来解,算是很简单。
通过后来到第四关 3 小时的 Onsite Interview。前两个小时,也是问一些履历上的问题
,或是他们问问题。GS 的人特别会问很多关于 Support 情境的问题,就是说如果 Clien
t 使用系统突然出了问题,你这个工程师该如何解决?还有,也讨论了很多关于开发流程
的 Pros & Cons。
到最后一小时,Hiring Manager 来了,是一个叫 Ben 的英国人。他跟我说:Congratula
tions! 你通过了。然后他跟香港那边的一个部下叫做 Michael 跟我讨论一些问题,问我
对金融理解不理解之类的。
经过这四关,尤其那个 Ben 已经跟我讲我通过了,我本来以为不会再有关卡了,结果一
周后他们要加第五关,叫做 Bar Raiser。于是我跟香港那边的一个人线上 Confernce Ca
ll 进行第五关,也是他问我一堆情境的问题,Support 的问题,如何 Debug,或是如何
设计系统让它不会出错之类的。
第五关过后,我的 Head Hunter 跟我说:没问题!Positive Feedback。接着,我跟他等
了一个月!期间我的 Head Hunter 每日都追踪进度,但总是得到什么纽约在审核、在跑
流程之类的罐头答案。
一个月后,他们又把我叫去六本木,进行第 6 次的面试,这一次面试的两个人,我之前
都见过,他们说:想问我有没有什么问题?
我那时心里觉得非常靠北,你们把我晾在那边一个月,现在叫我过来问你们问题?我根本
没什么问题好问啊!不过我还是勉强生出一些问题,但我觉得我并不能得到满意的答案。
例如我问说:我能看看之后我要做的系统的 Demo吗?这样我可能比较可以有概念。这样
的问题,他们也拒绝 Demo,所以,我对于我假设加入,到底要做什么系统,始终都很模
糊,自然也问不出什么好问题。
在第六关之后,仍旧无声无息,刚好那时 Line 的 Offer 正式来了,Google Japan 的拒
绝也到了,我就再也不理 GS 这边。后来 Head Hunter 跟我说:Ben 觉得你还是太资浅
了,所以最终不给你 Offer。
我总结一下 GS Tokyo 的经验,他们浪费我无数时间,包括放我鸽子,一直叫我过去 Off
ice 讲一些废话,然后香港那边的 HR 从始至终不回我 Email,最后的拒绝也非常不尊重
人。对于这间公司,我只能说,Tech 的人要进去的话要三思,感觉他们对于 Tech 太不
尊重了,我给 0 分。
Line Tokyo
Line 也是透过 Head Hunter 依据我的兴趣,帮我丢了一个职位在 Engineering Efficie
ncy,也就是 DevOps 相关的职位。
首先会有一个线上测验,3 小时写 5 题,是这 5 题。
1. implement a method to calculate the surface of a rectangle
2. implement the memcpy function from the C standard library
3. implement a method to find whether or not a given directed graph has a cycl
e of a given length
4. implement a least-recently-used cache as a data structure
5. implement a queue that tracks its minimum value as a data structure
基本上,除了第一题是送分之外,另外 4 题我估计是 leetcode easy ~ medium 的程度
,因为他有一些 Class 设计的题目(4 与 5),就不是那么简单,需要考虑一些东西。
我记得我就慢慢地花了 2 小时完成这 5题。另外,我听同事说,最近这 5 题已经改掉了
,改得更简单,另外小资讯分享,同事跟我说,Line 第一关的难度是:韩国新毕业生 >
韩国中途转职 > 日本新毕业生 > 日本中途转职,因为他说韩国那边的软件公司太少了,
新毕业生的选择不多,导致竞争激烈,必须透过难的考题筛选人。
通过之后,他会寄来一份只能花 30 分钟回答的线上题目卷,有 8 题。要我在第一次 On
site Interview 之前回答完。题目里面大概是系统相关的,例如 Thread & Process的差
异;如果要你设计一个 Echo Talk Server,你会选用怎样的两种技术;一些基本资料结
构或 Sorting 的复杂度。
在第一次 Onsite Interview,两个现在的我同事来跟我进行非常深入的技术探讨。问题
比如说,Thread & Process 哪一个通常比较快?什么时候用 Process 去跑会比较快?你
用过 Java Annotation 吗?他的实作原理是怎么样?请解释 Inversion of Control;为
什么时下转用 Spring Boot ,不用以前旧的 Spring Framework ?请解释你自己做的 We
b Application的数据库 Design,请比较 Nginx & Apache Web Server,然后也会把那 3
0 分钟回答的线上题目卷拿来讨论 ....
那次 Interview 花了 2 小时。通过之后,最后一次 Onsite Interview是与另外一个 Te
am 的 Manager,这一关就比较轻松,有问了一些适性问题,离如我的强项与弱项,但也
有讨论一些技术问题,如 Container 的优点与缺点。
最后这关结束后,漂亮的人资姊姊就进来跟我解释一些公司福利相关的事情,几天后收到
Pre-Offer,接着他们会做 Backgroud Check,都没问题之后,就发正式 Offer,而条件
都跟Pre-Offer上面写的一样。
Google Japan
我是一月底自己投 Google Japan 的这个职位 Geo, Software Enginner,没想到,Googl
e 的 Recruiter 真的有在看履历,所以大概一两周后,Recruiter 联络我。
她说她查到我 2017 年有投 Google Japan New Graduate的职位,但是发现后来终止了,
想要问我确认是怎么回事(因为综所周知,投 Google 的职位有一个一年冷却期)。
我跟他解释说,去年我以为我还是 New Graduate,所以我投了那个职位,通过 Phone In
terview之后,被 Recruiter 确认说我已经在工作了,资格不符,所以那次申请就停在那
里。
顺便讲一下去年 Phone Interview 的考题,45分钟 Google Doc Programming。二维平面
上有很多的帮浦,现在有一条 y = ? 的 pipeline,请问 y = ? ,可以使所有帮浦到那
个 pipeline 的距离和最短?OK,答案是所有帮浦 y 的值的中位数。
再来,现在有 y = y1 & y = y2 两条 pipeline,任一个帮浦的到 pipeline 的距离是看
他到哪一个 pipeline 比较近,就算那个距离。这样的话,这两条 pipeline 为何可以使
所有帮浦到 pipeline 的距离和最短?我记得因为我不知道那两个群如何分,就用了一个
暴力的方式去找出两个群,那个别群里面的中位数就是那两条 pipeline。
在进阶题没有解得很好的情况下,他最后问我要听再进阶吗?再进阶就是 y = ?, x = ?
这两条 pipeline 为何可以使所有帮浦到 pipeline 的距离和最短?
不过我去年还是通过电话面试了,而且是在电话面试后一两小时就收到通过的消息。
好,回到今年,Recruiter 跟我说,想通电话确认,通电话的时候,她竟然还问了我一些
技术的问题,例如就是一些 Sorting 的复杂度、AVL Tree的搜寻复杂度、请讲出两个Jav
a 有Implement Map Interface 的 Concrete Class。让我吓了一跳,但我还是有答出来

通完电话后,她说我去年的成绩可以直接拿来用,不必再 Phone Interview,所以直接邀
请我去 Onsite Interview。
敲定日期后,我就开始在多刷一点题直到 329 题。然后 Google Japan 现在的面试会给
一台Chrome Book在那里了,所以,自己可以选择要用白板或是打在电脑上呈像出来。每
一轮是 45 分钟,共 5 轮。
(以下的题目我就稍微讲自己的解法就好,不然很多内容...)
当天第一轮的题目是日本人面试官来问的,在一个 Sorted Integer Array中,只有一个
数字出现一次,其他数字都出现两次,请找出那个出现一次的数字。这题经过面试官的帮
忙,最终最佳解是 Space Complexity O(1), Time Complexity O(lgN),要用 Loop 来做
Binary Search。
第二轮题目是西方人面试官,有一个国王家族谱,假设国王死了,继承顺位是长子,除非
长子以下的后代全死光了,才会轮到年纪更小的兄弟。请设计一个 Class及资料结构,让
我们可以很快速的找到下一个继承人。
这题我用 Tree,每个 Node里面有一个 PriorityQueue 的资料结构来实现。写完后他要
我分析自己的资料结构及 Function 好坏。
这一题解完后,还有 10 分钟,他出一题有一段很长的 Text,给予一个行宽,例如 10 c
haracters,请把这段 Text 依据行宽换行。每一个英文字不能被截掉,然后空白 space
出现在每一行的最后的话,就要拿掉。
这题我没解完,但最后他说,你讲一下你现在写的 Code 大概有哪里要注意还有 bug 会
在哪,我就跟他解释一下。
第三轮一个非日本人面试官,进来先跟我闲聊了一下我做的 Project,又问我了一些 OOP
的概念,例如什么时候用 public, protected, private,还有Inheritance。闲聊完毕后
,他问我写一个可以处理大数加减的 Class。
我跟他讲,一般可以用 BigInteger 这个 Class,而我要自己写的话会用String来存数字
,处理的时候才用自己的处理。然后 Code 写完之后,他就要我分析哪边会最慢,如何优
化,我就说改用StringBuilder,做一些如果数字很小就用 Built-In type的integer去处
理就好之类的。
但这一关,我自己感觉跟面试官沟通没有很顺利,他好像有点不太能会意。
接下来中午吃饭休息时间,有另一个日本人工程师带我去会议室旁边的餐厅拿 Buffet,
然后我们回到会议室里面来吃,又跟他聊了一个小时。
下午第一场,一个脸非常严肃的日本人面试官。他就是这篇 Amazon 学长
https://www.ptt.cc/bbs/Soft_Job/M.1486241833.A.6D3.html
提到的第二位面试官。然后他也问了一模一样的问题。
1-1. 什么是中位数?什么状况下会考虑使用中位数而非平均数?
1-2. 写一个函式吃三个数字吐其中的中位数、并附上 unit test 测资
1-3. 你的函式执行一次最多会用到几个 > 、 < 或 =
2. 设计一个负责收集 log 的系统;这个系统要能收集从多个服务器传来的 log 、
并让工程师调出指定时段内的所有 log
在中位数这题,我一开始直接下去硬比,最多花3次比较。
不过,我还被多问了一个问题,就是有一个飞镖游戏,你投下去可能会得分 10, 5, 3, 1
,你玩了 N 轮,所有可能的分数为何?请写一个 Function 处理。
最后一关,西方人,是 Leetcoe #766
https://leetcode.com/problems/toeplitz-matrix/description/,Easy等级。瞬间写完
之后,他开始问我说如果资料量非常大,是 Streaming进来
的,你的Memory 只够储存一行的话,你该怎么处理。
之后我跟他说,可能可以用MapReduce的概念,每一个 Node 只比较两行之类的,最后在
整合起来。总之,之后我跟他都在讨论如果 Memory 不够装下整个 Matrix的话,该怎么
办。
五关通过之后,我跟 Recruiter 讲,因为我拿到 GS的 Offer(那时候还以为我拿到了)
,所以希望 Google 这边尽快知道结果。Recruiter跟我讲:OK!于是她开始跟我拿我
的资料,例如年薪、大学与硕士的成绩单!,Google 内部推荐人以及外部推荐人,啊~
我忘了讲的是,在我收到 Recruiter的信之后,我有询问我在 Google Japan认识的学长
,他说愿意帮我转成内部 Referral,所以我后来的申请已经转为内部 Referral。
过了两周后,Recruiter 先线上跟我讲等一下可以打电话给我吗,然后就打电话来告诉我
Hiring Committee 还是把我拒绝了。申请至此结束,学长跟我说,我到蛮后面的 Hirin
g Committee 阶段,但因为 Google Policy 不能给 Candidate Feedback,所以我也还是
不知道我哪里可以做得更好。
结论:
我目前在 Line 待得觉得还不错,相比于 R 社,Line的好处有自由上下班时间、Work Fr
om Home、每周日文课、更多的出差机会(我明天就要出差回台湾..),很多 Developer
meetup 可以充实自己、较高的薪水,可能 R 社的优势就是好吃的餐点以及人情味吧。
不过两家都是好公司,如果有版友对于日本就业有兴趣的话,我现在都可以介绍这两家的
机会,我也常常在 Facebook 上 Po 日本这边台湾人圈子的生活上的一些心得感想,欢迎
追踪或与我联系 https://bit.ly/2MdbWM0。
作者: lc85301 (pomelocandy)   2018-06-10 20:32:00
跪了
作者: likewindboy (Mr. Deschanel)   2018-06-10 20:39:00
感谢分享经验!
作者: kirbytsai (tsai)   2018-06-10 20:55:00
推 感谢经验分享 想知道是否能分享薪资福利部分
作者: kangta0819 (崭新)   2018-06-10 21:03:00
推一个
作者: keke0421 (zrae)   2018-06-10 21:56:00
感谢分享
作者: zxcv447785   2018-06-10 22:53:00
感谢分享
作者: Telemio (Telemio)   2018-06-10 22:58:00
感谢分享 推
作者: go4world   2018-06-10 23:31:00
推分享
作者: yeats0114 (米米)   2018-06-11 00:58:00
推。GS六关好折腾人!
作者: hadoop (elephant)   2018-06-11 01:03:00
厉害
作者: dacn2017 (puppy)   2018-06-11 01:17:00
推强人学长
作者: AdonisFlies (相信自己)   2018-06-11 01:18:00
感谢分享
作者: yeh10jp   2018-06-11 01:31:00
GS香港HR不意外啊XD 不过我们一向不重视IT倒是真的~~IT比operations的地位还低...可能因为我第一个工作也是投银所以当初去面试时工作经验只有三年多,但二面后就拿到两个team的offer,原PO在IB来说就是血统不纯才会被这样搞=,=
作者: cchao28   2018-06-11 01:36:00
感谢分享
作者: KaryuuIssen (一闪)   2018-06-11 02:04:00
面试是都用英文还日文?
作者: Huiee (灰Hui)   2018-06-11 04:40:00
推推强者我朋友
作者: immomo808 (momo)   2018-06-11 07:19:00
推!!
作者: pornstar (迪克)   2018-06-11 09:07:00
GS拉基~ 领的钱又没FLAG高不知道在跩三小~
作者: askaleroux (FalconTW)   2018-06-11 10:42:00
有这等身手就别去GS当打工仔了下次再努力应该就会上G社了吧 加油
作者: laba5566 (最爱56家族 啾咪)   2018-06-11 10:46:00
NY GS也差不多ㄅ 给得钱不多也跩ㄉ二五八万 很邱的公司
作者: yeh10jp   2018-06-11 11:28:00
GS只有front office拿得多啊~middle back根本免洗...
作者: useeseeu (U See See U)   2018-06-11 11:31:00
GS就是一家傲慢的公司,但还是当buy side的狗啦
作者: pinkwei   2018-06-11 13:44:00
有朋友今年去面台湾MS的AI职位 skype+onsite总共七次结果五月说该team今年上半年已经没有预算发offer跟原po去高盛面试的情况有得拼 XD
作者: Luos (Soul)   2018-06-11 15:35:00
我丢line从来没鸟过我
作者: askaleroux (FalconTW)   2018-06-11 15:41:00
MS找了一堆人去面 然后后来Reorgnization
作者: Luos (Soul)   2018-06-11 15:51:00
喔喔 还呆过乐天 我下个月可能也会去
作者: roy415012   2018-06-11 19:13:00
推一个 感谢分享!
作者: s122274848 (上下左右 AB)   2018-06-11 21:25:00
推强者
作者: a22918097 (宝宝狗)   2018-06-11 23:28:00
跪了
作者: cha122977 (CHA)   2018-06-12 02:20:00
@Luos Line连三年都会到台湾招人了 线上测验条件不高
作者: poormusic (唉唉)   2018-06-12 07:47:00
谢谢分享
作者: penril0326   2018-06-12 08:11:00
跪了
楼主: nkfly (远足)   2018-06-12 08:20:00
薪资不是这篇的重点耶 哈哈 全部面试都是用英文 但是东京的 Line 进来后会需要日文
作者: qaz512qaz512 (qaz512qaz512)   2018-06-12 11:10:00
作者: DONmilK (DONmilK)   2018-06-12 11:13:00
G的第一轮题目 应该能用XOR达到O(N)啊 没事 没看到sorted 还可以更快XDD
作者: jcaosola (纸袋)   2018-06-12 11:40:00
楼下刷完LC 800题
楼主: nkfly (远足)   2018-06-12 14:35:00
XOR 的解法我有跟他说
作者: okhcf   2018-06-12 17:57:00
硕班一毕业就到R社好厉害! 想请问原po当初有兵役问题吗?
楼主: nkfly (远足)   2018-06-13 00:41:00
我个人因素不用当兵
作者: dormice (MJ KING OF POP )   2018-06-13 09:20:00
高盛也太烂了............恭喜你
作者: microbird (台中魂)   2018-06-13 21:41:00
有神快拜
作者: nike2497070 (nike2497070)   2018-06-14 01:31:00
作者: yaxauw (yaxauw)   2018-06-14 09:56:00
推神学长
作者: SeaSprite (海雪碧)   2018-06-14 11:19:00
GS IT就是back office不赚钱的成本单位,地位没有最差只有更差。no offer是祖先保佑
作者: urmfo (Bambi)   2018-06-14 18:21:00
好详细!谢谢分享
作者: sam927   2018-06-14 20:25:00
大推
作者: Blankfein (LloydBlankfein)   2018-06-14 20:50:00
I am sorry
作者: Mariobrother (马力欧兄弟)   2018-06-17 01:33:00
作者: a54965 (安迪)   2018-06-17 04:17:00
强者 跪了
作者: ming1053 (ming)   2018-06-21 14:42:00
你没签G社NDA喔还分享题目
作者: kingnamefu (Hey! K)   2018-06-21 21:06:00
推分享
作者: lapinmusic (绿先生)   2018-06-22 23:21:00
GS也太欺负人了吧……
作者: wasijacky (牙刷)   2018-06-27 11:41:00
我面G面了2次,第一次有签NDA, 第二次没有。第二次也是到最后HC没上。哈!
作者: drakd4d (NULL)   2018-06-29 19:44:00
G社可以面到这么后面真的很猛
作者: qazedcrfv (512)   2018-08-11 17:27:00
推神学长

Links booklink

Contact Us: admin [ a t ] ucptt.com