置頂

公開 Google 面試準備要點,長達3個月的 Taiwan Google 面試過程|面試經驗分享

Google面試

文/由 Tony Yang 授權轉載,並同意修訂標題。

六月,在6個月的奮鬥下,終於,拿到了Google的Offer,在這期間受到很多人的鼓勵和幫忙,所以我希望可以寫一篇Google面試心得,如果文章可以幫忙到即將要面試的人或者正在面試的人那這篇文章就有意義了,讓這份感謝傳遞下去,同時也讓台灣的軟體業更加透明、發展得更好。

如果你未來有要面試軟體公司或者類似的外商公司可以繼續往下看,想看看我怎麼經歷層層關卡終於拿到offer的話也可以慢慢閱讀。


  • Google面試職位

Software Development Engineer, New Grad 2021

  • Google面試流程介紹

Phone Interview

  1. 時間:45mins coding
  2. 內容:只有語音和coding畫面,會有一題coding題目,如果時間內完成會有follow up。
  3. 面試日期:2021/03/03
  4. 經驗分享:

本身是遇到來自美國總部的女性工程師替我面試,出的題目是Dynamic Programming的題目,因為我怕有保密問題,所以我不會詳細說題目是什麼,但每個階段我都會分享遇到的是屬於那一個類別的題目。

一開始的題目非常好理解,所以我蠻快就解出來,然後帶入cases說明我的答案,面試官給了一個follow up,這個follow up聽起來是上一題的變化,所以轉個觀念也寫出了答案。沒想到,又給了我一個更進階的follow up,這一題由於時間不夠我沒有想出來,最後她跟我大概講一下觀念後,然後問我有沒有什麼問題就結束了這次的面試。

這次面試很緊張,因為如果第一輪就掛了,後面就沒有機會,幸好,我覺得表現還算可以。後來,當天晚上就拿到了下一輪面試的邀約。

Technical Interview (1)

  1. 時間:45mins coding + 15mins break + 45mins coding
  2. 內容:一輪coding面試完後,有15mins的休息時間,之後馬上接下一位面試官的考驗。
  3. 面試日期:2021/03/10
  4. 經驗分享:

第一位面試官來自美國總部,出了一個有關Graph – DFS的題目。這次我遇到了小小的挫折,因為一開始我想不到該怎麼用比較洽當的方法解決問題,因此我使用Brute Force,嘗試到一半,面試官給了我一個hint,也幸好他給了我hint,我終於順利迅速完成,也因為還剩一點時間,所以他提出可以優化我剛剛給的答案。我們邊寫邊討論完成了最後的Optimal Solution。

休息的時候,我有點被上一輪面試影響,因為我自己覺得表現得不好,因此我有點沈浸在悲觀的情緒,總覺得自己會被刷掉。雖然不鼓勵用這種情緒去面試下一輪,但我是因為想說前一輪表現不好,下一輪就放開吧!也因此第二輪的面試比較放鬆順利。

第二輪面試官出的題目是Binary Tree相關的題目,題目雖然都沒有寫過但是只是Leetcode上面的一些變化,所以稍做思考後就解開了題目。因為還有很多的時間,所以又出了一題follow up,第二題跟上一題沒有任何相關性,第二題是Graph – BFS,我聽完題目後就有了想法,馬上給出了答案,沒想到時間複雜度超過了面試官想要的。

可能做過蠻多Graph的題目,馬上想到了用extra space去降低time complexity,順利度過了第二輪的面試。

總體來說這第二場back to back的technical interview,我覺得表現得中規中矩,一輪表現不好、一輪表現尚可。雖然自己的表現不太理想,但是我覺得Google的面試官都是很擅長與面試者對話,幫忙一起figure out答案,只要願意表達自己現在想到哪裡,面試官就有很大的機率可以幫助你,所以不要害怕犯錯和詢問,要嘗試然後表達,這樣才有機會獲得幫助。

Behavior Question + Technical Interview (2)

  1. 時間:30mins Behavior Question + 15mins break + 45mins coding + 15mins break + 45mins coding
  2. 內容:Google HR做BQ的考試,看看是不是他們想要找的人。休息15mins過後第一輪coding,然後一樣有15mins的休息,再接第二輪面試。
  3. 面試日期:2021/03/25
  4. 經驗分享:

Behavior Question的環節其實還蠻輕鬆的,一般只要你懂得團隊合作、溝通協調和解決難題,然後用親身例子去表達出來,基本上就沒有問題了。你回答的內容他會做紀錄,應該是後來給Hiring Committee去看的。

這次的兩輪面試都是女工程師,第一位出的題目是Tree相關的題目,感覺以前好像有碰過很相似的問題,但是臨時不知道當時是什麼想法寫出來的,因此我當下給出了另一個答案,並且用幾個cases去證明我的答案。後來面試官說答案是對的但是希望我可以給出一個更簡潔更少空間的解法,也是因為這個提醒,所以我想到我以前寫過的Optimal Solution。

第二位面試官,出的題目是Graph相關的題目,BFS和DFS都可以解出來,難度就大概是Medium,所以觀念熟悉的話也是可以思考一下就解出來的。一樣有出follow up,這個follow up我給出了超出預期時間複雜度的答案,照理說是應該用Trie去解,可是我最後沒有實現出來,也成了我一個小小的遺憾。

這輪的面試後我稍稍的有點緊張,因為我覺得還是沒有兩輪都表現完美,一樣一好一壞的感覺,每次的面試總是有點小缺憾,不知道是因為我準備不足還是每次到了重要時刻都容易緊張表現得不甚理想,必須好好反省,以免以後會再有這種後悔的情況發生。


Hiring Committee

  1. 時間:一般來說1-2個禮拜
  2. 內容:面試完後會將所有面試官的Feedback送到Hiring Committee去做Decision,總共有三種,Approval、Reject、Hold。
  3. 面試日期:2021/03/25
  4. 經驗分享:

Hiring Committee

Hiring Committee

在結束面試進入Hiring Committee前Recruiter會跟你要一些資料方便委員會去審查。

審查需要一些時間,如果收到Approval的話就會直接進入team match階段、如果是Reject那就直接再見,最後假如是Hold的話就可能需要增加面試,或者要等有Headcount。

Hiring Committee Decision

不幸的是我被告知,要等四月底有Headcount後才會繼續,可能是我的表現沒有足以直接被Hire的程度,所以那時候我只能祈禱有加面的機會。

一個月多的煎熬,我終於拿到了額外面試的機會!


Addition Interview

  1. 時間:45mins
  2. 內容:增加一輪coding的面試
  3. 面試日期:2021/05/10
  4. 經驗分享:

老天有點眷顧我,讓我有加面的機會,我心裡也知道這是最後一個希望,所以我用盡一切努力的練習,來準備這場最後決戰,題目從面試官嘴裡說出來後,我心裡有個模糊的想法,好像是用HashMap可以完成,因此,我朝那個方向前進,終於給出了面試官最想要的答案,因為他說他原本的follow up我用第一題的解答也是可以完成的!我聽了之後非常地高興,感覺有進步,但卻又不敢抱太多期待,唯一能做的就只能等待好的通知,畢竟是最後一輪的面試了。

Team Match

  1. 時間:30mins
  2. 內容:組內的manager會和你介紹team裡面是在做什麼的,然後彼此看看有沒有興趣。
  3. 面試日期:2021/05/25、2021/5/26、2021/6/01
  4. 經驗分享:

通過Hiring Committee後,Recruiter會積極地幫你邀約各組的manage跟你做team match,通常會約三組,manager會詳細介紹他們組別是在做什麼,如果你感興趣的話請多詢問組內相關的問題。

  • 使用的技術
  • 產品開發遇到的難題
  • 組內開發產品的前景
  • Manager在描述組內的工作時,也可以思考一下怎麼詢問相關問題。

結束後,如果對哪一組有興趣,就可以跟Recruiter表示,進行順利後,那就會拿到口頭Offer。分享一下,最後我決定去Pixel team!


Google Offer Get 

日期:2021/06/02

我的Google面試時間軸

2020/12/17 LinkedIn上聯絡校友內推

2020/12/20 收到內推連結

2020/12/21 修改Cover letter及Resume

2020/12/23 Submit Application

2021/02/01 contact by HR

2021/03/03 Phone Interview

2021/03/03 當天收到下輪通知

2021/03/10 technical(1) 45mins + 45mins back to back

2021/03/17 收到下輪通知

2021/03/24 BQ(30mins) + technical(2) 45mins + 45mins back to back

2021/03/29 HR asked the materials for Hiring Committee and team match (Resume, transcript and internal referral)

2021/04/09 Hiring Committee Review Completed (Hold)

2021/05/10 Additional Interview

2021/05/18 Hiring Committee Review Approval

2021/05/25 Team match – fit talks

2021/05/26 Team match – fit talks

2021/06/01 Team match – fit talks

2021/06/02 Oral offer – offer discussion

2021/06/08 Letter offer

Google面試準備

刷題類型

  • Arrays
  • Binary Search Tree
  • Binary Tree
  • Dynamic Programming
  • Greedy
  • Graph – BFS、DFS
  • Heap
  • LinkedList
  • Recursion
  • Searching – Binary Search、Quick Select
  • Stack
  • String
  • Sorting
  • Topological sorting
  • Trie

Google面試經典題目

  • coin change
  • coin change 2
  • Unique path
  • Unique path 2
  • Permutation
  • Permutation 2
  • subset
  • subset 2
  • search in rotated sorted array
  • search in rotated sorted array 2
  • word break
  • word break 2
  • jump game
  • jump game 2
  • word search
  • word search 2
  • combination
  • combination 2
  • meeting room
  • meeting room 2
  • number of islands
  • number of islands 2
  • number of distinct island
  • number of distinct island 2

BQ準備

  • Imagine you worked in a project or a team that had a problematic culture
  • Tell about the leading experience of a group project
  • Thinking about a time you were given a large amount of work to complete under the tight deadline
  • Tell about a time you face a problem without having clear solution
  • How do you solve the conflict that happen in the team

學習資源

  1. Leetcode – 全世界都在用的刷題網站,也蒐入最多的題目,可以根據公司、類別、頻率、難度去選擇題目。
  2. AlgoExpert – 這個網站提供了Data Structure的課程以外還包含了150題最常見的題目,而且每個題目還提供了影片詳解。題目還在不斷增加中。
  3. 演算法與資料結構 – 這是一個中文搭配圖片去詳細解釋演算法和資料結構的網站,講解得非常詳細,如果找不到簡單理解的資源,這個網站非常適合你。

Google面試體驗

Google一直是我的一個夢想,當初從電機系轉到資工系,就是希望有朝一日能夠到Goolge這樣的公司上班。以前也投過兩次Google的實習,可是連履歷的關卡都沒過,面試的機會都沒有。誰曾想,這是機會出現在眼前,也讓我緊緊抓牢了!

Google面試的流程很長,如果想要面試Google一定要有心理準備。雖然有很多個階段的面試,但是看了我的分享就知道,其實題目都大概是Medium左右,只要了解重要的演算法、資料結構,並且將經典的題目練習幫助自己活用,那基本的準備就充足了。

Goolge的面試官人都很好,在面試的過程中不會感覺到冷漠,當然要願意表達自己的想法,面試官才能有機會幫你。Google的Recrutier有問必答,還提供給我他們的office hour,讓我有問題都可以詢問,所以我在面試的體驗除了因為很長讓我倍感壓力和焦慮以外,Google其他方面都做得不錯。只要願意去發問,基本都可以得到答案。

最後,我要感謝很多鼓勵我的人和在Google工作的朋友幫忙回答問題,讓我能夠勇往直前不再迷茫,我們都有自己的夢,就看能不能堅定的往前!

文/由 Tony Yang 授權轉載,並同意修訂標題

FANS
會員登入 (先登入會員才能回覆留言喔!)
2021週年慶

  延伸閱讀

  職務資訊


我要投稿
icon