作者howardtzou (狗狗)
看板Soft_Job
标题[心得] 日本Google 面试心得
时间Fri Jun 28 13:37:29 2019
《前言》
虽然之前有在 Oversea_Job 版分享过类似的心得文,
但由於那篇比较像是杂谈,所以想说稍微整理一下内容再分享到这个版上。
希望能够帮助到那些以後想要应徵的人~
《背景介绍》
113电资学士班(已停招),目前以交换学生的身份在东京读书。
大学时期除了当了一学期的TA跟在中研院实习之外,并没有特别的经历。
由於暂时没有升研究所的打算,加上从以前就一直很向往在海外工作,
於是我就趁在日本交换的期间试着找看看这里的工作。
《准备》
由於我锁定的都是SWE的职缺,
我从下定决心要找工作开始每天都会用闲暇的时间刷Leetcode,
两个多月以来大概刷了130题(27% Easy、60% Medium、13% Hard)。
不得不说勤刷Leetcode对於大部分公司的coding test确实有很大帮助,
我也是在刷题时顺便复习Data Structure跟Algorithm。
在收到Google onsite interview的邀约之前其实我有被不少公司在
coding test的关卡刷掉。虽然不知道是因为自己本身coding能力不足,
还是自己的背景跟公司不符,我依然抱着全力以赴的精神去面对每个机会。
《流程》
0. 投履历(3/22)
某天无意间看到日本Google有在徵SWE new grad後,
我就请在台湾的朋友帮我扫描大学的成绩单,然後连同履历一并寄出去。
1. Online Assessment(4/18)
履历寄出去隔了一周後recruiter联络了我,
并且邀请我在指定的时间参加online assessment。
测验的内容出乎意料的容易,一共考了两题难度Leetcode Easy-Medium的题目
(Optimization Problem跟All Pairs Shortest Path)。
一共有120分钟的时间可以完成。
2. Phone Interview(5/13)
隔了一周recruiter来信告知通过OA,
同时Recruiting Coordinator A联络我并跟我约好phone interview的时间。
在phone interview时interviewer一共问了三个题组,时间大约为45分钟。
一题字串处理题、一题Pre-order Traversal实作题跟一个观念题
- Why should we increase the capacity of a dynamic array exponentially ?
- Why not linearly?
前两题因为勤刷题的关系我很快地就解出来,
第三题虽然当下我没有立即回答出来,
但在interviewer的引导下我完成了基本的数学推导,并给了差强人意的答案。
3. Onsite Interviews(5/24)
phone interview完隔天我收到了onsite interviews的邀请。
由於我目前就住在日本,我跟recruiter要求想在Tokyo office进行onsite。
Recruiter答应了要求,并透过Recruiting Coordinator B跟我约了onsite的日期。
onsite当天遇到第一个interviewer时,
我很好奇的问了他一下是不是要签NDA之类的文件,
结果他表示「我从来没有听说过有这东西耶!」。
虽然想在这里透露面试题目的细节,不过为了公平起见我还是点到为止就好。
- Interviewer A 考了Parenthesis Matching相关的题目
- Interviewer B 要我实作出一个能在graph(2D Array)上画直线的Function
- Interviewer C 考了一个Breadth-First-Search on 2D Array的应用题
- Interviewer D 考了Greedy Algorithm里经典的Scheduling Problem
当天一共有四场45分钟的interview,全程都是以英文进行。
而在第二场跟第三场之间有一个短暂的lunch meeting让你跟现役googler聊天。
每场interview的一开始interviewer会先跟你讲一下题目的specification,
接着会有一段时间让你跟interviewer讨论你解题的思维。
如果interviewer认为你的解法可行(尽管不一定是最佳解),
他会请你先把code打在Chromebook上或写在白板上,接着跟你讨论你写的code。
以下是几个常被问到的问题:
- Time Complexity?
- Space Complexity?
- 你觉得你的code可以处理 edge cases吗?
- 你觉得有哪些input可能会让你程式crash?
(例如return (y/x) 而使用者输入x = 0, y=5)
- 你觉得有更好的解法吗?
如果你的答案已经是最佳解的话,
interviewer这时可能会出一些follow-up question考验你;
如果你的答案还有改善的空间的话,interviewer会适时地引导你走向更好的解法,
然後要求你把不同的解法写下来并且比较两者。
这次面试题目的难度大致都在Leetcode Medium-Hard,
其中第四题我因为很快就提出最佳解,
follow-up的难度一口气被提升到Hard,当场直接被考倒。
综合我在onsite的心得,
我认为比起卯起来自己解题目,更重要的是把你的想法传达给interviewer,
并且适时的跟interviewer交流想法。
大部分的interviewer都会积极的跟你沟通,但不幸的我还是有遇到
爱理不理的interviewer把场面搞得很冷,只能说沟通真的很重要。
4. Hiring Committee(6/7)
Onsite完隔了几天,我主动写信给recruiter想询问onsite的结果。
结果得知我的feedback是positeve的,而他也决定把我的申请转到HC。
同时recruiter也要求我提供最新的履历、成绩单、competing offer等,
并询问我有没有对哪个team特别有兴趣。
在lunch meeting时陪我吃饭的人有提到一点他们team的资讯,
而刚好他们在做的东西跟我的背景有一些关联,所以我就表示想加入那个team。
由於我有跟recruiter说明我已经有拿到其他公司的offer,
他答应他会尽快处理我的申请。
recruiter在6/3通知我他已经把我的package寄出去,并在6/7通知我通过HC。
5. Team Match(6/19)
在Team Match的阶段我原本以为recruiter会帮我安排跟team manager聊天的机会,
没想到recruiter隔了一周告诉我我想进的team对我的也有兴趣,
所以就把我的申请推向了最後一关。
我有听说不同的office在team match时有时会有不同的流程,
也有可能是因为我competing offer的deadline快到了,
recruiter帮我省略了一些部分(?
虽然team match的阶段跟我想像的有些出入,
不过能match到自己想进的team真的是还蛮开心的。
6. Offer Review(6/28)
最後的offer review真的就是漫长的等待啊~
虽然recruiter答应我会在我competing offer的deadline前把一切处理完,
没想到居然刚好压在deadline前5小时通知我的offer被approved...
当然offer review的阶段因为是北美的team在负责,会有一些delay也是难免的。
感谢recruiter能在时间内把一切都处理好,
也很感谢另一间给我offer的公司前愿意等待我一个多月(我大概延了3次deadline)。
《总结与心得》
能走到这里完全是意料之外(感谢主!)
在被很多公司刷掉拿到第一个offer时,我其实已经决定要去那间公司。
没想到结局居然来个大逆转,只能说不到最後千万不要放弃!
与其他的SWE求职者相比我的履历其实还蛮平庸的,
没参加过任何竞赛、也没有企业实习的经验,
大学时我几乎都专注在课业上跟大三时当助教。
能挺过这麽多面试真的要感谢那些热心栽培我们的教授!
这次的求职经验也让我体会到即使没有很丰富的背景,
只要能把基础学问顾好(特别是Data Structure跟Algorithm!)
以及拥有无比的热诚,终究是能找到自己的天下。
当然进到公司只是个开始,日後还有很多要学习的地方,
我也期许自己在进到公司前能够持续精进自己。
「人生有梦,筑梦踏实」
与大家共勉之
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 124.35.221.18 (日本)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1561700251.A.474.html
1F:推 bigelephants: 推推 06/28 13:46
2F:推 aw038: 强者,但中英混杂看得好累 06/28 13:48
3F:推 cjamhe01385: 强者推~ 06/28 13:49
4F:推 mangreen: 强 06/28 14:13
5F:→ KernelChen: 是去东京google? 06/28 14:13
恩,是的~
6F:推 scott0002: 推 06/28 14:33
7F:推 abc0922001: 真的是努力的收获 06/28 14:45
8F:推 abc53: 推 06/28 14:55
9F:推 benson1212: 推 06/28 15:04
10F:推 pime: 推! 06/28 15:07
11F:推 hanyi0923: 恭喜,上次你的文让人感觉好像已经被拒绝了XD 06/28 15:10
大概是因为第一次参加onsite的缘故,我对自己的表现没什麽自信的(笑
12F:推 vi000246: 推 06/28 15:29
13F:→ goldflower: 电资绝版帮QQ 06/28 15:43
电资没有不见,只是变成了不同的样子!!
14F:推 chocopie: 恭喜 06/28 15:43
15F:推 sss81521: 强者推 06/28 15:54
16F:推 bemyself: 这篇很实用 推 06/28 15:54
17F:推 dan40418: 推 06/28 15:56
18F:推 thsyou9527: 强 06/28 16:00
19F:推 chongruei: 强者推 06/28 16:23
20F:推 hakosaki: 推 努力 06/28 16:24
21F:推 xxoooxx34567: 神人推推 06/28 16:30
22F:推 dini2012: 腿,感谢主 06/28 16:37
23F:推 plsmaop: Array expansion 那题是 CLRS 在 amortized cost 章节的 06/28 16:39
24F:→ plsmaop: dynamic array 吗? 06/28 16:39
我不太确定CLRS那章的内容是什麽,
这题我记得是当初在上OOP时教授偶然间提到的。
简单来说exponentially的好处在於insert时的time complexity是O(n),
而linearly的情况是O(n^2)。
25F:→ invidia: 感谢分享 06/28 16:50
26F:推 MoriNakamura: 推强者QQ 请问方便了解大概的待遇、是否需要日语程 06/28 16:57
27F:→ MoriNakamura: 度等等吗? 06/28 16:57
28F:→ MoriNakamura: 顺利的话明年也要去日本工作,也以跳外商为目标 06/28 16:58
待遇的话可以参考glassdoor上面的数字,
语言的话Google完全不会日文也可,大家基本上都是用英文沟通。
当然你如果想搭讪营业部门的帅哥美女的话,会日文应该蛮吃香的(笑
29F:推 doranako: 谢谢分享 06/28 16:59
30F:推 y2468101216: 推 06/28 17:07
31F:推 Neistpoint: 强者, 你的另一个offer跟防毒软体有关?那我有听过你 06/28 17:09
32F:推 plover: Welcome to Google 06/28 18:04
33F:推 fish0112: 神人 06/28 18:37
34F:推 jen1121: 高手 06/28 18:39
35F:推 j19951102: 恭喜!想问下你match的team是什麽?好奇日本Google的 06/28 18:57
36F:→ j19951102: 组是做什麽方面的 06/28 18:57
我记得主要有Search、Ads、Maps、Chrome跟Android这几个team,
而我被match到的是search team
37F:推 ntddt: 推 台湾人软体实力是国际认可的 06/28 19:59
真的!多亏有交大扎实的训练(作业)
38F:推 a3505889: 恭喜啊 06/28 20:18
39F:推 Mtcat: 111 06/28 22:01
40F:推 hcman: phone interview像google kick start 06/28 22:10
41F:推 toothlesses: 推 06/28 22:36
※ 编辑: howardtzou (124.35.221.18 日本), 06/28/2019 23:10:00
42F:推 itis0423: 推 06/29 03:01
43F:推 jyuan1993: Indeed开得比Google高,好爽 06/29 05:23
44F:推 Zatarra: Welcome :) 06/29 07:46
45F:推 angelocsc: 推一个 谢谢分享 之後也想要尝试去日本google 06/29 09:45
46F:推 musie: search team? 那有机会合作到 06/29 10:12
47F:推 rosesonata: 谢谢分享 06/29 10:26
48F:推 ks950901: 好强啊! 06/29 11:00
49F:推 plsmaop: 喔那就是了,有兴趣可以看看那张,你可以看到作梦梦到的 06/29 11:46
50F:→ plsmaop: 数学归纳法跟严谨(看不懂)ㄉ数学证明 06/29 11:46
我当下就是用类似归纳法的方式导出答案
看来效果显着
51F:推 alchemist15: 很佩服演算法可以对答如流的人 06/29 12:38
52F:推 claude51315: 电资路过推 06/29 18:16
53F:→ eva19452002: 太强了,我辈难以企及,我由衷祝福你 06/29 20:26
54F:推 nitero: Pre-order 的实作题有要求 iterative 的方法做吗(stack 06/30 01:11
55F:→ nitero: recursive 的方式能接受吗XD 06/30 01:11
我记得当时有要求用iterative的方式
不过勤解题的话写出这两种方法应该跟喝水一样轻松~
56F:推 iven00000000: phone interview的问题真的比onsite的容易很多 06/30 01:53
57F:推 THEWORLDS: 运气不错 还好你偶追根究柢 欢迎加入 06/30 14:32
谢谢!这版果然有不少Googler在浅水(笑
※ 编辑: howardtzou (124.35.221.18 日本), 06/30/2019 19:12:46
58F:推 vincent0965: 强者推 06/30 22:35
59F:推 penolove5566: Recommend this article 07/01 01:27
60F:推 genius945: 推 感谢强者分享 07/01 02:16
61F:推 brianhsu: 推推,好厉害 07/01 08:34
62F:推 Lightten: 强者推 07/01 09:36
63F:推 cacadeon: 感谢详细内容分享 07/01 10:10
64F:推 dyadi: 恭喜XD 07/01 23:51
65F:推 single4565: 感谢主 07/02 14:16
66F:推 Vanses: 好奇日本Google需要像其他日本企业那样等老板下班吗?人在 07/03 03:52
67F:→ Vanses: Tech company美东,在日本有branch,想了解一下,不过要 07/03 03:52
68F:→ Vanses: 早搞一次PR好烦>< 07/03 03:52
69F:推 asdg62558: 推强者 07/06 01:50
70F:推 billchen0412: 电资帮推XD 07/06 14:05
71F:推 ms0529876: 强 07/06 22:23
72F:推 saturn22k: 学长带带我这电资学弟 07/29 02:14
73F:推 paul800526: 强 05/07 02:19