我經歷的7輪Google面試

2021-02-13 碼農翻身

作者:唐磊

去年換工作的時候,面試了一下 Google (這裡說的是 Google 中國),來了個 Google 面試七輪遊,結果是沒通過。🤣 

現在分享下我參與面試的具體流程以及個人認為應該注意的事項,希望對大家有所幫助。

個人相關背景

先介紹下自己相關背景,985 本科,top2碩士(其實,大公司都比較看重第一學歷的)。在校期間,科研也沒啥能拿得出手的論文。社招時,4 年多工作經驗,面試時為大疆後端開發TL(帶3~4個人而已)。

面試流程

Google 整體面試流程上基本如下:

1. Recruiter Prescreen 

2. Phone Interview (1~2 sessions) 

3. Onsite Interview (4~5 sessions,1 week to receive feedback) 

4. Hiring Committee Review 

5. Offer Review 

6. Offer Delivery (Yippee!)

我一共經歷了 1 輪電話面試,5 輪 onsite,如果算上前面的HR 的預篩選的話,就是 7 輪。

簡歷投遞

之前校招其實也參加過,無奈門檻太高,競爭壓力太大,連面試流程都木有進。當初校招時直接網上刷題,這個網站上其實還能看到往年的一些題目情況: Google Code Jam。基本上分幾輪,每輪 top xx 的選手才有機會進入面試。

第一次換工作的時候,其實也有找在 Google 的同學內推,填了不少內推推薦理由呀等等,最後簡歷都沒過。😿 

當然,簡歷沒過肯定也有多種理由啦,這個其實跟各個公司都一樣。比如人家需求是招聘 P7,以你的工作年限經驗等最多就 P6,肯定不行; 還有比如希望是招聘機器學習等相關經驗的等等,崗位信息等不匹配也不行; 當然還有一種,崗位描述等都相關,確實簡歷沒啥亮點,太平庸,也直接被 HR 給篩選掉了。

這次其實剛開始是沒有考慮過面 Google 的,機緣巧合在 linkedin 在有 Google 的 HR 聯繫,說要不要試試 Google 的機會。當然就抱著 「試試就試試」 的想法跟進面試流程啦。既然要嘗試,當然還是需要認真對待,修改簡歷。防止手生,肯定需要提前準備」刷題」的。發簡歷給HR 小姐姐後,HR 小姐姐會給你一些準備材料供你參考,這份材料還相對比較豐富,直接會告訴你面試涉及到的知識點,推薦書籍還有一些推薦參考的視頻等。需要的小夥伴可以留言,我整理下發給你(跟 HR 求證過,這些資料是可以公開分享的哈)。

其實,時間有限,「刷題」準備不夠,當初預感估計面試面不下來。不過真正走完所有面試流程,發現其實面試題目沒有想像中的那麼難(然而,我仍然沒有過,說明實力不足呀),積極準備,還是有希望的。因為面試題目比較敏感,不能直接分享原題哈,不過我會根據我的理解,找類似知識點和類似難度的題目分享一下。

HR 面試

對,第一輪就是 HR 面試,上面流程中的 「Recruiter Prescreen」,其實就是一些計算機相關基礎的填空題和選擇題。幾分鐘的時間,十幾道題目。面試過程中,不需要給予明確的解釋,知道就是知道,不知道就不知道。題目可能會涉及到比如: 快排的時間複雜度是多少? 選擇排序是穩定的排序算法嗎? 等等之類的。

這也是我參與的所有面試當中,HR 直接參與的」技術」面試。我理解就通過這一輪面試可以用比較少的成本把一些不合適的候選人直接排除了。當然這種方法可能不一定適用於所有公司。

電話面試

電話面試要求直接用 Google doc 共享寫代碼,需要要求你有一個穩定的網絡環境。這輪面試我理解應該不會太難,從我面試的經驗來看也確實如此。

相比 onsite,電話面試不能在一個很好的溝通環境下,不能面對面和面試官進行交流。當初我面試的一道題目和二叉樹的遍歷相關,當然題目不會是直接寫二叉樹的先序/中序/後序/層次之類的遍歷,會有一個具體的業務場景在裡邊。

需要你分析這個具體的業務場景,能夠抽象出題目本質上就是 二叉樹的遍歷方法。這道題目算是拿下了。實際 coding 後,面試官可能會根據你寫的 code 去提問,一些邊界條件以及讓你提優化方案。

HR 小姐姐介紹的電話面試是 1-2 輪,其實我理解,這應該是需要看第一輪的面試官的反饋,是否猶豫是否再安排一輪電話面試。畢竟和 onsite 相比,電話面試成本相對更低一些。

在線 code 其實在面試過程中,還是蠻重要的環節。從你 code 的細節,包括 code style,邊界條件的判斷,哪怕是注釋情況,都能看出一些編程習慣。我認為這個環節對於招聘一個寫代碼的工程師來說,肯定是一個必不可少的環節(google 整個就搞了五六輪)。

現場面試

電話面試通過後,HR 會很快跟你反饋溝通面試結果,是否通過,以及 onsite 的安排。因為現場面試是 4-5 輪,平均1 輪一小時的話,需要 4-5 個小時,其實還是蠻耗費精力的。

一般會溝通可以約 2 個半天或者 1 整天,兩個半天的好處是,時間不會那麼緊張,前兩輪後,中途可以過幾天再休整調整下再繼續。我當初就選擇」快刀斬亂麻/早死早超生」 的方案直接約了 1 天時間搞定。

onsite 也基本上是在電腦上 coding。你和面試官一人一個筆記本,coding時共享屏幕,有時候題目面試官會在白板上寫出。onsite 的題目,明顯就要比電話面試的題目難度高一些呢。但實際上比我想像中的要簡單些。

因為曾經想 Google 這樣的公司面試恐怕連理解題目意思都要理解大半天吧。可能也是社招的緣故,社招整體感覺在算法的要求比校招就要低一些。這只是我的主觀感受啦。(確實自己在當面試官的過程中,在算法這塊對社招的同學預期也會低一些)

我記得其中有一道題目就跟 leetcode 上的類似(再次聲明不是原題,也不 share 原題),leetcode 上那個題目應該是二維矩陣,最短路徑相關的。用 dp 可以解決。只不過,一般題目會分為好幾個小問題,難度一般從易到難。

同時也考察到了二叉樹,仍然圍繞著二叉樹的遍歷進行。需要熟知二叉樹的各種遍歷方式,非遞歸的方法(遞歸比較容易,一般不會讓寫這個)。在遇到二叉樹相關問題的時候,是否可以聯想到二叉樹的遍歷上來。

另外有一道系統設計的問題,「知識圖譜」的概念,圍繞著」圖」的相關算法,這個要求在白板上寫出設計方案和偽代碼。同時面試官會不斷 push 你讓你提出更優的解決方案。有足夠多的計算資源,並行去跑,以及具體怎麼實現。這道題目我回答的不好(當初也知道不好,後面 HR 反饋也印證了這一點)。

還有一道題目,是解決生活中的場景題目。需要你抽象出這個問題,用代碼來解決。一般這種題目,就需要反覆跟面試官去溝通和確認其中的場景,怎樣把業務抽象成算法。記得之前面試 Amazon 的時候也有類似的題目(只不過當初面 Amazon 考察的是 OO Design,而本題是具體算法實現)。

onsite 一共聊了 5 輪,上午 2 輪,下午 3 輪,其中有兩輪是英文面試(英文面試後面會說)。整體來說,工程師崗位面試會圍繞如下幾個方面進行(以下參考 HR 提供的面試指南):

Coding: 用熟悉的程式語言(不限)實現給定的題目。會重點關註解題目過程中的理解和溝通能力;

算法: 涉及到 排序/搜索/分治/動態規劃/貪心/遞歸,具體數據結構,以及也有可能會涉及到 Dijkstra 和 A* 等算法,需要會算法複雜度的分析;

排序: 常見的排序算法,時間/空間複雜度,例如 快排/歸併/堆排序/插入/基數排序等等;

數據結構: 數組/連表/堆/棧/hash/數/二叉樹等;

數學: 可能會涉及到離散數學,組合數學,例如 N個中選k 個的方法等;

圖: 圖的表達(例如矩陣/鄰接表),bfs/dfs 等;

遞歸: 遞歸和迭代的轉換;

其他: 設計和作業系統等;

以上這部分摘自 HR 提供的 Google 工程師面試指南。pdf,有需要的同學(再次強調已和 HR 確認,此資料可共享),從公眾號後臺回復 「Google面試指南+郵箱」,我會發送給你(或者直接掃碼加我微信也可以)。

午飯

中午 HR 小姐姐會安排一個 Google 的工程師,帶你吃飯,跟你聊天。有任何疑問都可以跟他溝通。不得不說,Google 的夥食還是蠻不錯的。我當初就跟小哥哥聊了下他在 Google 工作的感受。

英文面試

英文面試,單獨拿出來說一下。建議還是提前準備,練習一下基本的口語。不要因為面試過程中,突然讓你只用英語溝通,讓氣氛變得緊張起來,導致發揮不好。自我介紹之類的肯定你可以提前準備,然後就是你可以嘗試比如拿其中的題目自己模擬一下面試場景。主要是可能需要提前熟悉一下基本的計算機相關詞彙,不要到時候想表達卻表達不出。

整體來說,Google 的面試確實很難,但確實也沒我想像中的那麼難。但要求確實是很高的,基本上一些邊界 case 等也都是在考察範圍內的。

onsite 面試完後,在第二天,我就得到結果通知,面試沒通過。事實來看沒通過的結果反饋比通過反饋更快。HR 會反饋你哪裡表現得不夠好,然後如果想進 Google,就加油刷題,說 1 年後,可以再次嘗試,保持聯繫哦。

哈哈,以上就是我這次完整的 Google 面試之旅,雖然失敗(實力還不夠)了,但還是有收穫的。如果大家有足夠自信(當然也要有一定實力哈),也可以找我幫忙內推,我可以給在 Google 的同學幫忙或者直接給招聘的 HR 同學。 

如果要面試 Google,刷題是在所難免的了。整體來講,Google 的面試體驗還是很不錯的,全程 HR 小姐姐悉心指導和及時反饋,給 HR 小姐姐點讚 

如果大家覺得這篇文章有所收穫,還希望大家幫忙轉發,分享和「在看」。感謝!  

微服務把我坑了

如何降低程式設計師的工資?

程式設計師,你得選準跑路的時間!

兩年,我學會了所有的程式語言!

一直CRUD,一直996,我煩透了,我要轉型

字節碼萬歲!

上帝託夢給我說:一切皆文件

Javascript: 一個屌絲的逆襲

Node.js :我只需要一個店小二

我是一個線程

TCP/IP之大明郵差

一個故事講完Https

CPU 阿甘

相關焦點

  • Google 面試,我在第 7 輪掛了
    我一共經歷了 1 輪電話面試,5 輪 onsite,如果算上前面的HR 的預篩選的話,就是 7 輪。簡歷投遞之前校招其實也參加過,無奈門檻太高,競爭壓力太大,連面試流程都木有進。當初校招時直接網上刷題,這個網站上其實還能看到往年的一些題目情況: Google Code Jam。
  • 面試Google,我掛在了第七輪......
    Google 整體面試流程上基本如下:我一共經歷了 1 輪電話面試,5 輪 Onsite,如果算上前面的 HR 的預篩選的話,就是 7 輪。之前校招其實也參加過,無奈門檻太高,競爭壓力太大,連面試流程都木有進。當初校招時直接網上刷題,這個網站上其實還能看到往年的一些題目情況:Google Code Jam。基本上分幾輪,每輪 top xx 的選手才有機會進入面試。
  • 面試 Google, 我失敗了 | Google面經分享
    我一共經歷了 1 輪電話面試, 5 輪 onsite, 如果算上前面的HR 的預篩選的話, 就是 7 輪. 之前校招其實也參加過, 無奈門檻太高, 競爭壓力太大, 連面試流程都木有進. 當初校招時直接網上刷題, 這個網站上其實還能看到往年的一些題目情況: Google Code Jam.  基本上分幾輪, 每輪 top xx 的選手才有機會進入面試.
  • 面試 Google, 我失敗了 | Google 面經分享
    我一共經歷了 1 輪電話面試, 5 輪 onsite, 如果算上前面的HR 的預篩選的話, 就是 7 輪. 之前校招其實也參加過, 無奈門檻太高, 競爭壓力太大, 連面試流程都木有進. 當初校招時直接網上刷題, 這個網站上其實還能看到往年的一些題目情況: Google Code Jam.  基本上分幾輪, 每輪 top xx 的選手才有機會進入面試.
  • Google 面試七輪遊, 我失敗了
    我一共經歷了 1 輪電話面試, 5 輪 onsite, 如果算上前面的HR 的預篩選的話, 就是 7 輪. 之前校招其實也參加過, 無奈門檻太高, 競爭壓力太大, 連面試流程都木有進. 當初校招時直接網上刷題, 這個網站上其實還能看到往年的一些題目情況: Google Code Jam.  基本上分幾輪, 每輪 top xx 的選手才有機會進入面試.
  • 面試體驗:Google 篇
    一輪電話面試後,HR 就開始約到 Google 辦公室的面試了。第一次約了下午 3 輪面試,還是那個很固定的格式:每輪面試 45 分鐘,兩輪間隔 15 分鐘。整個面試流程讓人感覺到很人性化。在 Google 籤到後,HR 會先帶你去 kitchen 拿點吃的喝的,然後把你帶到面試所用的會議室。多輪面試的話,HR 中間還會來問一下你要不要去洗手間,或者多拿兩瓶水。
  • 記一次 Google 面試經歷
    這是我上周去面試的地方。很順利,我覺得——至少我認為我已經盡我所能,並且無論發生什麼事情對我都是有幫助的。
  • 記一次Google面試經歷
    如果你有一段時間沒有面試過,根據經驗,有個非常有用的提醒你應該接受——你往往會在前幾次面試中犯一些錯誤。簡單而言就是,不要首先就去你夢想的公司面試。面試中有多如牛毛的應該注意的問題,你可能全部忘記了,所以,先去幾個不太重要的公司裡面試,它們會在這些方面對你起教育(再教育)作用。
  • 「我的一次微軟面試經歷」
    郵件剛發出去1-2個小時,我就收到了微軟的第一輪面試邀請,這是一次純粹的編程測試。第一輪面試2019年9月22日,我參加了第一輪面試。我拿到了三個解決問題的題目,而且給出的時間也夠。其中一個問題是:給定大小為n的數組,請以偶數和奇數交替的方式升序排序數組。
  • Google、Facebook、Rocket fuel面試經驗總結
    因為之前是學算法的,mit算法書以前就看過兩遍,基礎還可以,前期8月份刷了遍leetcode。然後9月初投出簡歷。兩個星期刷Career cup 150, 最後面試期間一直查缺補漏。到現在塵埃落定大概兩個月。 最後GFR全掛,總結下慘痛經歷:1.
  • 記一次奇葩面試經歷,5輪面下來,我只見到了一個面試官!但Offer到手
    分鐘 | 文字校驗: Jing 面試過程漫長,但5輪全面下來,卻只見了一個面試官!IBM我申請的是社招,面試進入face輪。但他們需要能馬上入職開始工作。而我還需要一些時間完成我的Resarch研究生項目。所以最終也沒有拿到offer。還好最後愛立信給了我offer。
  • 我的世界投行面試經歷
    其實摩根HR在一月份的時候就找到了我,但是我當時並不知道他是摩根的,當時也在考慮波蘭思科新建的投資部門的面試,貌似覺得機會很多,沒有很在意。結果三月份從國內回來,他們又再次找到了我。先說結果,第4輪面試我沒有過,呵呵,對,你們沒有看錯,一共有五輪面試,我倒在了第四輪,所以這也是一個很好的糾錯經歷。
  • 3年的java程式設計師,歷經3月7輪面試入職阿里,最後薪資意外
    首先他對最後的薪資不是很滿意,比現在的工作只是高了一點點,這是其一,更重要的是,為了這次面試已經花了他整整三個月的時間,經歷了7輪面試,一路上各種jvm、多線程編程、算法、linux、網絡等面試題,面得他真是懷疑人生,真可謂歷經千辛萬苦,歷經九九八十一難,最後算是修成正果,拿到了真經啊,可是翻開經書一看,是空白,我想這大概就是他的心情了吧。
  • 嗨,Google喊你來工作!
    我個人感覺通常這些在其他網站顯示的職位的空缺會比較多,或是Google需要迅速fill head count,所以招的人會比較多。3,Google有內部推薦計劃嗎?有!Google非常看重,並且鼓勵Referral。員工只要成功Refer一位最終被錄取的candidate,就能得到獎勵 。
  • 親歷者:我的第一次公務員面試的失敗經歷
    在大廳點名的時候,我面試的職位只來了四個人,其中三個學英語的女生,他們都來自本省的南昌大學。我們組的抽籤是在海關7樓(或者是8樓)的會議室進行的。我和其它的三位女生坐在一排,等待著查驗身份證、畢業證,然後開始抽籤。經過短暫的交流,我和她們漸漸地熟悉起來。其中一個女生不斷打聽著相互的成績,看似輕鬆地跟大家開著玩笑:問誰有熟人。其實在我看來,這更多是一種相互之間的一種試探。
  • Google 面經分享
    我一共經歷了 1 輪電話面試, 5 輪 onsite, 如果算上前面的HR 的預篩選的話, 就是 7 輪. 之前校招其實也參加過, 無奈門檻太高, 競爭壓力太大, 連面試流程都木有進. 當初校招時直接網上刷題, 這個網站上其實還能看到往年的一些題目情況: Google Code Jam.  基本上分幾輪, 每輪 top xx 的選手才有機會進入面試.
  • 一次「奇葩」的面試經歷,讓我感悟良多
    面試,相信大家都不會陌生的,有些人經歷的面試可能數不勝數了,甚至堪稱「面試達人」了。原來的時候總是觀看一些比較優秀的面試經歷,想著怎麼去學習一下,偶爾也會看一些面試奇葩類型的逗樂一下,總覺得現實中這種事情應該比較少。好巧不巧的這種事情「幸運」地降臨在了我的身上。
  • 最完整的面試經歷
    , GoogleOFFER細節就不報了,上次看有人報MS的OFFER細節,結果引發口爭,有人將其定性為SHOW OFF。。。在面試RF時,一個阿三一上來就考這個STRSTR題,而且還很卑鄙地把那個最基本的逐個比較的算法說出來了,意思是說你不能用這個基本算法解了,然後那個SB一臉欠揍的得意表情。我當時就是現場用25分鐘左右時間寫了KMP算法,那個SB又變成一臉失望的表情。面完那輪後,我後面心態就非常隨意了,因為已經決定不去這家充斥著阿三的公司了。
  • 六面 Google,失敗經驗分享…
    Google 整體面試流程上基本如下:Phone Interview (1~2 sessions)  →  Onsite Interview (4~5 sessions, 1 week to receive feedback)  →Hiring Committee Review →我一共經歷了 1 輪電話面試, 5
  • google nexus 7 google play海淘購買教程!
    最近google發布了一款新的平板電腦:google nexus 7, 很多海淘的朋友不知道如何海淘購買google nexus 7,今天為大家帶來在google play 購買google nexus 7的方法圖文教程,希望對大家有幫助!