作者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://www.ptt.cc/bbs/Soft_Job/M.1561700251.A.474.html
推 bigelephants: 推推 06/28 13:46
推 aw038: 強者,但中英混雜看得好累 06/28 13:48
推 cjamhe01385: 強者推~ 06/28 13:49
推 mangreen: 強 06/28 14:13
→ KernelChen: 是去東京google? 06/28 14:13
恩,是的~
推 scott0002: 推 06/28 14:33
推 abc0922001: 真的是努力的收穫 06/28 14:45
推 abc53: 推 06/28 14:55
推 benson1212: 推 06/28 15:04
推 pime: 推! 06/28 15:07
推 hanyi0923: 恭喜,上次你的文讓人感覺好像已經被拒絕了XD 06/28 15:10
大概是因為第一次參加onsite的緣故,我對自己的表現沒什麼自信的(笑
推 vi000246: 推 06/28 15:29
→ goldflower: 電資絕版幫QQ 06/28 15:43
電資沒有不見,只是變成了不同的樣子!!
推 chocopie: 恭喜 06/28 15:43
推 sss81521: 強者推 06/28 15:54
推 bemyself: 這篇很實用 推 06/28 15:54
推 dan40418: 推 06/28 15:56
推 thsyou9527: 強 06/28 16:00
推 chongruei: 強者推 06/28 16:23
推 hakosaki: 推 努力 06/28 16:24
推 xxoooxx34567: 神人推推 06/28 16:30
推 dini2012: 腿,感謝主 06/28 16:37
推 plsmaop: Array expansion 那題是 CLRS 在 amortized cost 章節的 06/28 16:39
→ plsmaop: dynamic array 嗎? 06/28 16:39
我不太確定CLRS那章的內容是什麼,
這題我記得是當初在上OOP時教授偶然間提到的。
簡單來說exponentially的好處在於insert時的time complexity是O(n),
而linearly的情況是O(n^2)。
→ invidia: 感謝分享 06/28 16:50
推 MoriNakamura: 推強者QQ 請問方便了解大概的待遇、是否需要日語程 06/28 16:57
→ MoriNakamura: 度等等嗎? 06/28 16:57
→ MoriNakamura: 順利的話明年也要去日本工作,也以跳外商為目標 06/28 16:58
待遇的話可以參考glassdoor上面的數字,
語言的話Google完全不會日文也可,大家基本上都是用英文溝通。
當然你如果想搭訕營業部門的帥哥美女的話,會日文應該蠻吃香的(笑
推 doranako: 謝謝分享 06/28 16:59
推 y2468101216: 推 06/28 17:07
推 Neistpoint: 強者, 你的另一個offer跟防毒軟體有關?那我有聽過你 06/28 17:09
推 plover: Welcome to Google 06/28 18:04
推 fish0112: 神人 06/28 18:37
推 jen1121: 高手 06/28 18:39
推 j19951102: 恭喜!想問下你match的team是什麼?好奇日本Google的 06/28 18:57
→ j19951102: 組是做什麼方面的 06/28 18:57
我記得主要有Search、Ads、Maps、Chrome跟Android這幾個team,
而我被match到的是search team
推 ntddt: 推 台灣人軟體實力是國際認可的 06/28 19:59
真的!多虧有交大扎實的訓練(作業)
推 a3505889: 恭喜啊 06/28 20:18
推 Mtcat: 111 06/28 22:01
推 hcman: phone interview像google kick start 06/28 22:10
推 toothlesses: 推 06/28 22:36
※ 編輯: howardtzou (124.35.221.18 日本), 06/28/2019 23:10:00
推 itis0423: 推 06/29 03:01
推 jyuan1993: Indeed開得比Google高,好爽 06/29 05:23
推 Zatarra: Welcome :) 06/29 07:46
推 angelocsc: 推一個 謝謝分享 之後也想要嘗試去日本google 06/29 09:45
推 musie: search team? 那有機會合作到 06/29 10:12
推 rosesonata: 謝謝分享 06/29 10:26
推 ks950901: 好強啊! 06/29 11:00
推 plsmaop: 喔那就是了,有興趣可以看看那張,你可以看到作夢夢到的 06/29 11:46
→ plsmaop: 數學歸納法跟嚴謹(看不懂)ㄉ數學證明 06/29 11:46
我當下就是用類似歸納法的方式導出答案
看來效果顯著
推 alchemist15: 很佩服演算法可以對答如流的人 06/29 12:38
推 claude51315: 電資路過推 06/29 18:16
→ eva19452002: 太強了,我輩難以企及,我由衷祝福你 06/29 20:26
推 nitero: Pre-order 的實作題有要求 iterative 的方法做嗎(stack 06/30 01:11
→ nitero: recursive 的方式能接受嗎XD 06/30 01:11
我記得當時有要求用iterative的方式
不過勤解題的話寫出這兩種方法應該跟喝水一樣輕鬆~
推 iven00000000: phone interview的問題真的比onsite的容易很多 06/30 01:53
推 THEWORLDS: 運氣不錯 還好妳偶追根究柢 歡迎加入 06/30 14:32
謝謝!這版果然有不少Googler在淺水(笑
※ 編輯: howardtzou (124.35.221.18 日本), 06/30/2019 19:12:46
推 vincent0965: 強者推 06/30 22:35
推 penolove5566: Recommend this article 07/01 01:27
推 genius945: 推 感謝強者分享 07/01 02:16
推 brianhsu: 推推,好厲害 07/01 08:34
推 Lightten: 強者推 07/01 09:36
推 cacadeon: 感謝詳細內容分享 07/01 10:10
推 dyadi: 恭喜XD 07/01 23:51
推 single4565: 感謝主 07/02 14:16
推 Vanses: 好奇日本Google需要像其他日本企業那樣等老闆下班嗎?人在 07/03 03:52
→ Vanses: Tech company美東,在日本有branch,想了解一下,不過要 07/03 03:52
→ Vanses: 早搞一次PR好煩>< 07/03 03:52
推 asdg62558: 推強者 07/06 01:50
推 billchen0412: 電資幫推XD 07/06 14:05
推 ms0529876: 強 07/06 22:23
推 saturn22k: 學長帶帶我這電資學弟 07/29 02:14
推 paul800526: 強 05/07 02:19