[心得] Google TW SWE 面試心得(上)

軟工

43370

最近終於準備收 offer 了,想分享一下挑戰 big G 的一點經驗與心得,

可能會寫得比較像流水帳,大家輕鬆看看就好。


會試著面試的緣由是看到前同事挑戰成功,覺得自己好像也有點機會試試看。

殊不知總共挑戰了三次,從 2018 年底到 2021 年中終於塵埃落定。

然後這篇主要會分享前兩次失敗的經驗,跟從中獲得的一些教訓,

下一篇才會提供成功的經驗,希望能幫助到一些還在努力的板友。



1. 2018 年底,第一次面試,職位:Software Engineering Productivity

第一次是以一種嘗試的心態進行,Leetcode 大概 100 題就上場了

HR screen 時問了一些演算法複雜度與說了些英文,

phone interview 被問了一題 easy-medium 的題目,順利解出進 onsite,

然後 onsite 前兩場就被直落二了...


第一場中文對談,問了一題 easy-medium,是某個 medium 題目的子題。

結果沒跟面試官討論好,直接就寫了最直觀的暴力解,

寫完立刻就被打臉說這不是最佳解,要我再想想看。

然後我的步調就亂掉了,拿了 hint 之後好不容易找到對的方向,

但最後還是寫了亂七八糟的 code 出來。


第二場也是中文對談,是一題 medium,

其實方向是對的但因為自己不太確定,所以講的有點支支吾吾,

最後被問時/空複雜度直接結巴。


後來自行檢討這兩場失敗的原因,應該是出在「寫 code 不乾淨」,

還有「太快開始寫 code」跟「對寫下的 code 不夠有信心」吧。


不過原本就是以一種嘗試的心態進行,失敗其實不大意外,

但其實心裡隱隱約約覺得,這兩題最後的解題方向都是對的,

如果有好好練習準備,感覺應該還是有機會過的。

最後以一個有點遺憾又不太意外的心態結束這一回合。




2. 2019 年底,第二次面試,職位:Software Engineering Productivity

其實 2019 年中就有收到 HR 的再嘗試邀請,

但當時女兒剛出生,在醫院陪產整個漏看信件 lol

在 2019 年底才又真正被聯繫上。

電話接起來後,HR screen 直接措手不及英文開場,

講一講後突然說「我們其實可以說中文」,然後就轉成中文溝通 XD

也沒被問制式化的問題了,直接就安排 phone interview。

這次心裡想說機會來了,要來好好把握。

直接跟公司多請了六個月的育嬰留停假,領著勞保局給的補助打算拼了。


這段時間大概跟我考研所的時間有得拼,

每天除了吃飯睡覺以外,就只剩下刷題,

直到面試前累積了 600 題左右吧,以一個好像還行的心態上場,

...結果 phone interview 差點崩掉。


其實這次 phone interview 不難,只需要用到簡單的數學概念就能解,

難度應該只有 easy,什麼演算法資料結構都用不上,根本暖身題而已,

但在當下我緊張到頭腦一度空白,最後五分鐘才想到解法一口氣寫完。

原本以為完蛋,結果收到 HR 的信內寫「well done」,

有點摸不著頭緒的進入 onsite 流程。


這次安排面試前有被問說想面 junior 難度還是 senior 難度,

可能是因為我的工作經驗剛好卡在四年多吧,L3 or L4 都可以試試,

經過一番掙扎最後選了 senior 的難度,

這邊雖然說是 senior 難度,但應該對應到 L4 左右而已而不是 L5,

但這次被告知除了三場 ds/algo 以外,會再有一場 system design。

當下有點傻掉,因為似乎 2018 還沒有規定要面 system design,

所以先寄了信問能不能把 system design 換成一場 ds/algo 來面,

結果答案是不行,好吧,頭都洗下去了硬著頭皮來面對。

還好能把 ds/algo 都排在一天,其他的排另一天,想著先過 ds/algo 再說。

...嗯,結果就是我沒再被安排另一天,

ds/algo 三場的 feedback 不夠好直接又被結束這回合。


onsite 第一場全英文對談,題組式的 medium 情境題,總共有三題在這題組中。

要思考他給你的某種要求實作出可以對應的資料結構。

我有記取了前一次面試的教訓,

在動手寫 code 前先跟面試官釐清可能的 input 與想做的方法,

第一題算是順利度過。

第二題是第一題的改條件,變得更難處理一點,

一樣先跟面試官討論可能的 input,結果不小心解鎖第三題 XD

當下打算寫個第二題跟第三題都可以處理的做法,

但是一直沒抓到好的解法,過程中有感覺到面試官一直想幫助我,

很可惜最後時間快不夠了只好退回來以一個沒那麼漂亮的解法來解第二題作結。


onsite 第二場是中文對談,總共被問了兩題,

第一題是 easy,聽完題目做法大概就有底了,

跟面試官討論後寫 code 都很順利。

第二題是 medium,聽完題目有個大概的想法,

也是跟面試官討論後請我開始寫 code,

但是有點可惜對於這個類型的題目我不是那麼熟悉,

所以修修改改了 code 後,最後的版本應該也有些 edge case 沒處理好。


onsite 第三場全英文對談,也是兩題,

第一題是 easy,也是聽完題目有底直接討論開始寫,

結果跑第一次 dry run 時自己跑錯 lol,重跑一次發現我寫的 code 是對的,

當下有點糗 XD

第二題是一題 medium,這題我花了很多時間跟面試官溝通一些 edge case,

但因為是全英文,感覺自己沒有很好地表達出自己在考慮的東西,

弄了很久才終於得到想要的解答,以至於最後只口述了可能的做法來不及寫 code。


其實這三場下來我自己覺得應該已經比第一次面更有機會了,

但自己也認知到面試當下犯了太多錯誤,像是:

- 不夠穩定,臨場怯場影響表現太多

- 想一蹴可幾,但穩穩一題一題解更重要

- 對某個題型不熟悉,想法若有似無比完全沒想法還更令人懊惱

- 對自己的 code 掌握度不夠,dry run 不應該跑錯

- 時間掌握度不夠,英文表達能力要再加強


嗯,最後不意外的以 feedback 強度不足,直接結束了這一回合。

也解決了我要另外準備 system design 面試的煩惱(?

但其實收到拒絕當下真的還滿灰心的,畢竟都請了這麼長的育嬰假,

感覺對家人很過意不去,經歷了一段調適後才終於又回到正軌。


(待續)

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.0.15 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1625756279.A.914.html
taipoo1樓謝謝分享 07/08 23:15
mike84692樓推推 07/08 23:24
ryanlei3樓第2次就衝到600題了呀 07/08 23:25
對,真的是天昏地暗的刷, 但其實帳面刷了幾題不是重點,融會貫通了多少觀念才是重要的地方。
sarsman4樓推 恭喜 07/08 23:40
kvjo5樓有沒有有管理職位的分享呢? 07/08 23:58
kvjo6樓純許願 推文 07/08 23:58
ken902427樓推推 07/09 00:59
Psyman8樓謝謝分享! 07/09 01:06
kyrie779樓 07/09 01:13
algorithms10樓 07/09 01:51
x013x11樓感覺題目數跟分享出來的能力好像不一致?還是題目其實更難 07/09 01:58
x013x12樓? 推分享 07/09 01:58
之前也有些前輩提到,刷了多少題真的不是重點, 掌握了多少解題手段跟了解背後思考觀念真的才是最需要練習的地方。 最懊惱的是,在聽到題目時發現這題之前好像有寫過類似的題目, 但發現自己完全抓不準解題方向...
deeeplove13樓好扯喔 一直在做題目? 07/09 06:20
libraryfire14樓 07/09 06:31
eggy101815樓謝謝分享 推w大,真的很辛苦的過程 07/09 07:51
realbout16樓太狂了~推 07/09 09:34
l983082617樓G社真的難度真高! 07/09 09:52
aa0669718樓 07/09 10:05
bug219樓謝謝分享 期待下篇 07/09 10:23
mirror022720樓 07/09 10:59
mirror022721樓G社面試當RPG的王在刷XD 07/09 11:00
chatnoir22樓敲碗 07/09 11:04
Michael13223樓原來台灣google也這樣 07/09 11:19
Michael13224樓我過去三年失敗三次了!今年準備打第四次王 (矽谷) 07/09 11:20
辛苦了,祝早日上岸
shiauji25樓看隔壁版都說大概刷200-300題就可以進了,覺得…我處在 07/09 11:25
shiauji26樓兩個平行世界 07/09 11:25
多刷題可以更好地幫助你掌握觀念,但要掌握觀念不一定要刷很多題。 真的不要被題數迷惑了。 而且題題不等價,有刷到關鍵概念題更重要。
ken77120927樓推推輪子大 07/09 11:48
st94571228樓太強了 想請問L3職位從頭到尾都是面試演算法題目而已嗎 07/09 12:22
shiauji29樓了解,感謝分享~ 07/09 12:23
st94571230樓其他像是DatabaseB,Git,OS,OOP之類的基礎知識會問嗎 07/09 12:24
更多心得
[心得] 2021年-非本科系菜鳥前端面試心得
[心得] 非本科無經驗前端轉職心得
[心得]文組轉職心得
[心得] 面試分享:橡樹網路科技有限公司(前端
[心得] 面試-Seasalt/GoFreight/Line/Google/Arc
[心得] Agoda總部擔任UX設計師2週年記錄
[心得] 後端三年非本科13家面試心得
[心得] 代po Google SWE Offer