[心得] 代po 北美Google general SWE面試心得
代PO
-----
前言:
最近準備入職google了,想說在這邊回發一下心得文回饋一下大家。這邊注重在我是怎麼準備面試的。文筆不太好請見諒。
先說一下我的timeline:
2020
--------
一月底: 投SRE general職缺
二月底: 通過OA,HR聯絡要求我提共電話面試時間
三月底: 從三月初持續寄信給HR想確認面試時間,HR沒回我直到三月底HR通知面試取消直接被拒
六月: 收到第二個HR email跟我約SWE, frontend電話面試
七月底: 收到HR電面結果,positive feedback no head count。建議我九個月後再試試看
2021
--------
五月: 收到第三個HR email跟我約onsite interview。HR跟我說雖然我投的缺是SWE,
Payment,但這只是代表我現在的面試是target payment team,所有流程都照general
SWE來跑,team match還是有機會選擇其他組。
六月: onsite interview
七月: HR通知送HC -> HR 通知過HC,進入team match 階段 -> team match成功
-----
準備:
-----
群組:
我在2020五月的時候被一個朋友拉進了wechat刷題群(2020群)。2020群裡面有差不多快20個人,群組規定每周六天輪流由群組的人講解leetcode題目,當天沒有要講解的人在
meeting 開始前要先把當天要講解的題目寫過。
大概到了十月不知道是因為大家彈性疲乏了還是怎麼樣,其實後面很明顯感受到準備講題的人沒有好好準備,很多人也開始不寫題目了。
在十二月初的時候我們決定讓2020群畢業,然後新創了一個2021群。這個群組強制要求必須每天出席不能放假,而且大家必須要把自己將來半年的timeline寫出來(像是自己
target的公司,大部分的人都是target Faang,然後自己每周的進度)。
也因為大家是真的想要進大廠,所以就算要上班或是上課,大家在2021開始的幾個月都
很認真準備直到拿到offer。
我們2021群總共有12人。從2020十二月創群到現在已經有
5個進google,
3個進amazon,
1個 Wayfair,
1個 TicTok,
大廠錄取率是 83%。我自己私下也問過群組的人,發現大家準備的方法其實都差不多(畢竟都在同個study group,也看過他們leetcode的submit heatmap)。所以我認我(們)的準備方式應該還是有一點點參考價值的。
-----
刷題:
-----
先說我對於leetcode各種難度題目的感想
Easy:
基本上考的是你到底有沒有寫過code。所以這類型的題目基本上每題通常只會考一個知識點(data structure)
Medium:
Medium的題目又可以另外分成三個難度:
第一個難度基本上跟Easy一樣,第二個和第三個難度開始考一些基本的
algorithm(sorting, tree…)或是會把一些data structures混著一起考,又或者跟著
algorithm一起考
Hard:
這個難度基本上跟Medium第三個難度差不多,一定把data structure 和 algorithm混著考。
----
我認為刷Leetcode分為三個階段
1.Data Structure:
這個階段是針對比較沒有背景的人(沒上過data structure and algorithm這堂課)。所以如果對於自己data structure很有自信的人可以跳過這個階段。 這個階段寫題目需要重量不重質並且只針對easy – medium(第一個難度)的題目來寫。因為你需要知道所有好用的data structure,這樣在後面的階段才不會在看discuss時,發現自己有些data
structure根本沒看過。
我自己是直接跳過這個階段的,因為我很慶幸遇到很好的教授把我底子打很好。想要從這階段準備的人我建議可以把Leetcode Explore, Learn裡面的topic寫一寫。我建議這階段也不要專牛角尖,只需要理解你寫的data structure怎麼運作就好。因為你在第二第三階段會大量用到這些東西。可以把data structure想成是工具,然後你的頭腦是工具箱。看到題目的時候開始想你有那些工具可以拿來使用。
我自己覺得如果從0開始準備,這階段leetcode題目至少要寫到100-150題。把所有簡單
data structure題都寫過一遍,至少讓自己知道他們在幹嘛。
2.Algorithm:
第二和第三階段刷題的重點變成重質不重量。因為你需要真的去理解並且融會貫通。而且每次寫完題目一定要看discuss。我認為leetcode這網站最大價值不再於他提供題目,而是他擁有強大的群社提供各種不同解法讓你參考。研究這些文章可以讓你發現很多奇奇怪怪的解法進而加強思考能力。
我們(2021群)是從這個階段開始準備的,我們差不多準備了大概3個月並且是以周為單位。每一週我們會選定一個topic(像是sorting, graph, graph traversal…)然後只寫這個topic的題目。每一周周日我們會在meeting的一開始檢討當周進度,如果覺得不夠熟練下一周就會維持一樣的topic繼續練。
這個方法的目的在於,你會一直練某個特定的data structure or algorithm直到你熟練為止。
3.融會貫通:
三個月之後(差不多2021三月的時候)其實大部分的人都拿到offer了XD,基本上只剩我還有另外兩個人還沒拿到。所以這階段分享的準備方式是我自己的準備方式。畢竟其他人都拿到offer提早收工了。
這階段我選擇隨機寫題目(通常是寫google tag的高頻題目)並且訓練自己在看到一個新題目時,可以用哪寫data structure 和algorithm來解。每次寫完一題後,一定會把所有相似的題目全部寫一遍並且看完所有的top vote discussion(不管什麼語言)。因為很多時候一個題目可以好幾種解法,不同解法只是代表不同的trade off。我自己認為google面試官很愛考這方面的分析,所以這樣做剛好可以訓練自己思考不同的優缺點分析。
另外我認為參加weekly contest對於準備google非常有用。因為基本上google考的題目都是新的題目(至少我面google這幾次全考我沒看過的題目),參加contest可以訓練自己在時間之內如果遇到不會寫的題目該怎麼辦。我自己是從2020二月開始每周參加contest。如果當周六因為各種原因沒有參加也至少會在隔周把四題都寫過並且看過discussion。
到了2021五月收到HR onsite面試邀請後,我跟HR約一個月後面試。
在這一個月中,我選擇以周為單位,複習我不熟的topic。畢竟經過第二階段,我自己很清楚知道我的graph很強,可是sorting 和DP超級爛,所以我選擇去加強這些topic。
我逼自己在這個月每天寫至少5題(但因為是一邊上班一邊準備,所以很多時候會寫不到五題,因為要重質不重量。5題只是當天目標)並且一定要搞懂每一題怎麼寫。周一到週五基本上一下班就是開始寫題目到12點,週六週日也是從早上9點準備到晚上11點。所以在面試當天我自己其實也感覺到我寫題狀況非常好,可能也是因為這樣我的onsite基本上面得非常順利。
最後說說對於刷題數的想法。這邊先題共一下我當初面試完leetcode submission的
heatmap:
https://i.imgur.com/SdIi4AJ.png
我自己也看過2021群裡面一些人的heatmap,大部分都長得跟我差不多。
我自己覺得我們群裡幾個人並不是因為寫到了特定題數以上才有機會進Faang,而是當我們都認真準備,題數自然就起來了。所以這邊建議大家在第二第三階段還是以重質不重量為主。畢竟你自己對於data structure and algorithm熟不熟也只有你自己最清楚。
---
Mock Interview:
---
我從2020 12月開始就找了我們2021群的其中一個人,天天固定7點開始跟他
MOCK Interview。他的目標是Facebook(雖然最後去了tictok),所以我們每天會互相問對方一題,我選facebook tag問他,他選google tag問我。然後一起討論作法。
我覺得Mock Interview在準備面試過程中非常重要。因為它還可以練到在壓力下寫題目的穩定度。
-------
結語:
-------
其實自己回頭看這兩年準備過程也是滿煎熬的,畢竟看到自己的朋友們,戰友們一個一個進大廠,而我連個面試機會都拿不太到(google第一次直接被取消,第二次因為沒有headcount,然後我除了google沒怎麼拿到其他fanng的面試)。但是拿到google offer之後回頭看都覺得這些辛苦是值得的,畢竟是我的夢想公司。
要感謝的人太多了,但我最想感謝的其實是我自己。在這麼崩潰的一年多當中,不管我當周工作在怎麼忙再怎麼累,我還是堅持周周參加contest。就算沒參加,隔一周也一定會把contest得題目找時間寫過。
很多人會覺得寫了500+的題目很多很神,但如果你仔細想,如果你每天花個半小時到一小時寫個兩題,一年就寫了365*2 = 730題了。如果你周周只打contest,這樣一年也有
4*52 = 208題。所以重點在於認真準備,而不是在於寫了多少題,因為認真準備了,題數自然就起來了。
我運氣很好,在五月初的時候我還想說估計我沒有機會挑戰GOOGLE了,結果在五月中的時候HR就來找我了。但我相信如果沒有我前面的持之以恆,我也沒辦法好好抓住這次機會。最後我想說,其實我自己是個很懶惰的人。但既然我都可以持之以恆,我相信大家絕對可以。祝大家都能進到自己的夢想公司。
--
太猛了 推
推
推
推
推
鬼神群組...太強
推
推
想進 Google又沒有超人天份的話乖乖刷題就對了
推
謝謝分享
大神
高手推
推
推
推
好強的群組
推
上完班還要寫五題真的需要堅強的意志力
推
太猛了…推
上班完 晚上寫個兩題m 就累了..
推恆心
推
推
推! Leetcode 的 Medium 難度真的非常神祕...
另外不知道是不是軍備競賽結果,早年的 Hard 題很多都
比近期的 contest 第三題 Medium 簡單...
強
推分享
上班完真的要有意志力,所以我都上班前XD
跪著推
狂推凡人準備faang的正確姿勢
我自己是每次上班遇到賭爛事晚上就多寫一題,把憤怒轉成
力量哈哈
推
推這句
你自己對於data structure and algorithm熟不熟也只有
你自己最清楚。
推
推 認真準備
這裡怎麼這麼多人進google XD
推
推
其實看到你這麼有毅力 覺得再辛苦也不算什麼
爆
[心得] Google TW SWE 面試心得(下)(文長警告) 上一篇提到 2019 年底聯繫上 HR 開始全職刷題六個月, 到了 2020 年中面試完收到拒絕信,灰心了好一陣子。 但也沒辦法,還是只能乖乖回去公司上班。 這次回公司上班其實也獲得一個不錯的契機,65
[心得] Google TW SWE 面試心得# Google TW SWE 面試心得 背景: 3yoe,做了兩年豬屎屋後受不了工作型態轉職Backend,目前約一年後端經驗 無奈薪水太低加上今年上半年各種外商擴招就開始面試 3月在LinkedIn 收到Google recruiter面試邀約,大多數recruiter都建議可以先準備一個50
[心得] google embedded SWE 面試心得去年面試google時recruiter問要走一般SWE流程還是embedded 當下覺得很難選,上網找又很少embedded SWE面試資訊 事後想想不如自己寫一個吧 板橋辦公室新啟用應該也有些embedded SWE缺吧,面試進來可以把座位填滿XD 主要關注在embedded SWE面起來有什麼差,以及準備過程40
[心得][美國] 幾年的面試者+面試官經驗鑑於近年來LeetCode刷題被神化,被認為是面試必備 所以我想以5年多以來無論是當面試者還是當面試官的經驗 來分享一下如何準備面試 首先先分享一下我的經歷 我不是什麼強者,沒有參加過ACM競賽,Code jam頂多做兩題37
[心得] Google TW SWE 面試心得(上)最近終於準備收 offer 了,想分享一下挑戰 big G 的一點經驗與心得, 可能會寫得比較像流水帳,大家輕鬆看看就好。 會試著面試的緣由是看到前同事挑戰成功,覺得自己好像也有點機會試試看。 殊不知總共挑戰了三次,從 2018 年底到 2021 年中終於塵埃落定。 然後這篇主要會分享前兩次失敗的經驗,跟從中獲得的一些教訓,32
[心得] CloudMosa/Google/Kronos/Netskope/其他# 背景 台大機械畢業 最高學歷碩士 現職半導體設備外商的軟體開發職位 YOE 9 之前也有分享過其他面試文章,可以A我ID29
[心得] 跳槽面試(Google/Amazon/M/R/S...)前言: 曾在板上徵求意見,因為疫情和種種原因沒有去日本外商工作的動機了, 但最近要在台灣的外商上工了,分享一些面試經驗。 背景: 碩班做 AI/CV 相關,沒有能拿得上檯面的發表。16
[亞洲] Google Tokyo 面試代PO -- 四大CS碩畢,畢業後就到日本東京工作,工作經驗5年。 工作內容前端後端app都有碰。 這次是第三次面試,第二次的時候據說是Really Close,送HC之後有加面被拒。15
[北美] Google Full-time team match 懇求機會各位前輩,大佬大家好。 小弟目前正處於Google team match的階段(HR並未告知是否已經過了HC) 面的是WSE, Web Solution Engineer 剛好原本朋友的組有開缺,請我去詢問是否能match SWE,HR回信表示Absolutely可以 但後來朋友的組秒滿了,故沒有機會進入。10
Re: [心得] Google TW SWE 面試心得(下)第一次發文有違反版規的請見諒… 背景四大資工碩預計今年八月畢業,大學非資工相關科系,Leetcode 約200題。 小弟在面試等待的過程中很焦慮,沒什麼時間線資料可以參考,所以分享一個冗長的Google面試時間線給大家,希望大家能多少獲取一些想要的資訊。 2月: HR聯絡 3月: Phone interview