如何準備Google的面試?


Google是大多數程序員夢寐以求想要進入的公司,那麼如何做到在一年之內進入Google呢?

1、了解Google的要求——G家面試最看重的是什麼?

  • Coding 能力。
  • 對基本數據結構和演算法的知識和理解。
  • 解決問題的技巧(和白板練習)。
  • 設計大型分散式系統的能力。
  • 文化適應能力和人際交往能力

2、提升硬實力

準備進入Google前先讓自己成為一個技術過硬的軟體工程師。按照Google對面試者的要求,分別給出以下建議:

  • 編碼能力

1.提高你的代碼量

最簡單的方法就是刷題,你可以去 http://www.lintcode.com 上刷題,只要你能夠把Lintcode上70%的題目刷兩遍,60%的題目做到bug free,你的 Coding 能力會有質的飛躍。

2.用你最熟悉的編程語言,來工作和應對面試

面試官能很快發現你對某一種編程語言的熟練程度。你對編程語言的熟練運用可以幫助你你在面試中把更多的精力放在問題本身更深層次的思考和其他問題的解決中。

  • 對基本數據結構和演算法知識的掌握

複習一下數據結構和演算法,有針對性有目的性的通過刷題提升,一般面試中會考察一下內容:

演算法部分

二分搜索 Binary Search
分治 Divide Conquer
寬度優先搜索 Breadth First Search
深度優先搜索 Depth First Search
回溯法 Backtracking
雙指針 Two Pointers
動態規劃 Dynamic Programming
掃描線 Scan-line algorithm
快排 Quick Sort

數據結構部分

棧 Stack
隊列 Queue
鏈表 Linked List
數組 Array
哈希表 Hash Table
二叉樹 Binary Tree
堆 Heap
並查集 Union Find
字典樹 Trie

如果想了解最新、最熱門的 Google面試題,可以看這裡:Google 最新熱門面試題及題解

  • 演算法能力(包括白板做題)

練習和解決編碼問題。可以從最基本的開始,然後逐步解決更高級的問題。不過,需要注意,你最好把做題時間控制在30分鐘內。因此,反覆練習以達到熟能生巧很重要。可以在Lintcode上進行一些IT企業面試真題的訓練:北美IT企業技術面試模擬模擬試題

此外,練習白板做題也是很有必要的。不少公司在面試時,會直接要求你在白板上寫代碼。因為大家平常多在編譯器上coding,在白板上寫代碼的時候常常很不適應,錯漏百出。所以,強烈建議大家有針對性地練習一下白板coding。

  • 系統設計能力

如果說,編碼能力幫你被選上,那麼你的設計技能就是決定你的薪水和水平的關鍵了。所以,學習分散式系統的基礎知識,然後學習如何根據約束條件設計大規模的分散式系統十分重要。

你需要學習:

  1. 容量規劃
  2. 無狀態伺服器
  3. SQL和NOSQL
  4. 分散式隊列
  5. Blob存儲
  6. 一致性模型(強一致性和最終一致性)

建議可以多做做系統設計的面試題,了解系統設計的基本原理,以及設計Instagram、Youtube、設計優步等方面的問題。有條件的話,可以參加一下系統設計的課程,九章演算法系統設計班的課程也即將開始,免費試聽傳送門 。每個月都有免費試聽,對於新手小白來說,可以提前了解系統設計的面試內容、如何回答系統設計題、如何設計Instagram、如何設計 Uber 等等。

3.提高文化適應和人際關係處理能力

無論你在什麼公司,學會更好地與人相處都是很重要的。

因為你必須在團隊中工作。學習一些如何在職場應對各種人際關係的技巧,如何和上下級同事相處,如何更加專業化等等,這些職場技能都是必不可少的。公司的僱傭工程師是屬於一整個團隊的成員。

有時候會出現一些棘手的情況,你和你的團隊或者你的經理意見不一致。你需要學會協調,尋找共同的解決意見。

面試時,面試官也會考察你的人際關係處理能力。所以試著在面試前預備一些這種情況的回答,如果你想獲得更加專業的面試指導,比如代碼風格、薪資談判、behavior interview 等,可以參考《矽谷精英工程師面試指導大全》

歡迎關注我的微信公眾號:九章演算法(ninechapter),幫助你了解IT技術前沿,通過面試、拿到offer、找到好工作


這是一個 quora 上的精彩的回復。問題是:我如何在6個月內獲得Facebook或者Google的工作?

最高票的答題者 - 一個被 Google 拒絕了三次,最終成功進入Google的小夥子。

以下「我」都代表原作者 Rick Viscomi。

我三年前畢業,在大學的專業是計算機科學與技術,我唯一想要做的就是去Google工作。在我畢業前夕,我成功的通過了電話面試,並受邀參加現場面試,這是一個 YouTube 的軟體工程師職位。結束面試後我覺得我碉堡了,但是不久後我接到噩耗,我被拒絕了。

我用了很長時間去反思,到底出了什麼問題。

這是我第一次的技術面試,真的是0經驗,現在回想起來,感覺還是很尷尬。

獲得紮實的面試經驗。面試本身是一種技能,不要臨陣磨槍。你面試越多,你會越從容。當你冷靜下來,清晰地表達你的想法時,一切都會跟著你的節奏走。

你是如何看待「隨便聊聊你自己吧(tell me a little about yourself)」這個問題的?

在我經歷了大大小小無數次的面試後,我才發現,這個問題的答案不是讓你說你自己,而是給面試官看的。面試官在看你回答的框架(提示:是否簡潔、與工作相關)。讓答案更有條理並且有價值。

一年後,我申請了不同部門的同一個職位,我通過了電話面試。用兩周時間衝刺,學習演算法和數據結構。在這次面試中,我把所學一一呈現,並且對自己的表現感到自豪。

然而又被拒絕了。

把你的激情化作力量。這是我在加入谷歌時所學到的最重要的事情之一。

我做錯了什麼?我選錯了方向!

我一直堅信 web 開發會越來越好,然而我計算機學位讓我陷入傳統開發的誤區,我把時間投入在了 C++ 和 Java 上,但是我卻更喜歡 HTML/CSS/JavaScript。

我意識到了這個問題,我開始把注意力放在了 web 開發上。我看書我參加行業聚會,我在web 開發如魚得水。

一年後,我向之前的部門又投遞了建立,這次是 UI 工程師。我通過了電話面試,受邀到現場。招聘官跟我講,幾乎沒人面試一個職位三次。

這次我依舊談笑風生,感覺就像在自家花園裡那麼輕鬆。結束的時候,面試官給了我一個印有Google Logo 的杯子,恩,沒錯,這是個安慰獎,因為我第三次又被拒絕了。

我想放棄。我想改變職業。我不想再專註於在一個地方,只為得到一份工作,我開始專註於自我完善。我永遠不會知道面試中出了什麼錯,或者我怎麼能回答得更好。不過沒關係了。我只要做到最好的自己就行了。

我做了兩個具體的職業改變:我開始關注我感興趣的開源項目,我也試圖學習可能對網路性能優化的知識。通過聚會,參加了紐約的 Web 性能的小組。我在紐約聚會小組有一個說話的機會,我換了一份優化網路性能的相關工作。我在行業大會上發表了一次關於「提速」的演講。

保持一個持久的、健康的、樂觀的心態。

突然,我收到了一封郵件,邀請我參加YouTube的面試,就是我第一次被拒絕的那個部門。

和之前一樣,五輪面試,我希望做的比以前好一些。等待的過程,回想起之前三次被拒,很緊張。

最終,我獲得了這個職位!

對於任何人想要獲得夢想的職位,我有三個建議:

  • 不要著急,在你推銷自己前,先推銷你的技能。
  • 找到你的優勢。確定你如何能最好地回饋公司。磨練你的技術技能,盡你所能的一切,你必須保持學習,推動你的事業向前。
  • 不要放棄。找到自己的路徑,堅持下去。

文章編譯自:Career Advice: How can I get a job at Facebook or Google in 6 months?

------- 以上是「如何獲得 google 職位」-------

下面是 Google 的秘密招聘渠道:

簡評:Google 會玩,連招聘都這麼Geek。說真的,當時我就震驚了,這特喵也可以么?

雖然這聽起來賊尷尬,但是這是真的。

Google 根據用戶的搜索,通過一個叫做「foo.bar」的網路工具來招聘用戶。

如果谷歌看到你正在搜索特定的編程術語,他們可能會要求你申請一份工作。

該公司創造了一個神秘的頁面http://google.com/foobar(試試這個鏈接),如果你收到邀請,就可以登錄這個鏈接。(上圖是園長的截圖,果斷沒打開)

如何獲得邀請?

顯然,通過你的谷歌搜索歷史記錄,顯示編程語言如 Python 的興趣和專長。

三個月前,計算機專業畢業的 Max Rosett 覺得自己還沒有準備好去谷歌應聘一份工作。但當他尋找「Python 的 lambda 函數列表理解」時,自動觸發了 foo.bar 招聘工具,該系統針對那些使用 Google 一年以上的用戶,用戶輸入特定的搜索術語和編程語言如 Python 和java 等就會被觸發。搜索結果頁打開顯示消息「你說的是我們的語言。想不想來一個挑戰(You"re speaking our language. Up for a challenge)?」用戶可以拒絕一次,請求消息不會再次顯示,或點擊「我想玩」。(園長:電鋸驚魂 I want to play a game)

Rosett 和其他人有幸遇到正確的搜索詞,進行了一系列的編程難題的解決。他有48個小時來解決第一個問題,對演算法要求使用所需的 java 或 python 的知識。Rosett 解決了這個問題,只是「幾個小時…他提交的了解決方案,foo.bar 又觸發了其他五個隱藏測試。

最後他提交了聯繫方式,幾周後有 HR 找他要簡歷,在之後,面試,再面試,順利進入Google。

這裡有一篇這哥們自述的文章:Google Has a Secret Interview Process... And It Landed Me a Job

我想起來我之前翻譯的另一篇文章 如何獲得 Google 的職位?這哥們面試了三次google都沒進去,最後還是靠其他途徑進的Google,一對比本文的 Max Rosett,真是心疼。

本文編譯自:What are some amazing facts about Google/Microsoft?

--- ----- --- 下面是為了進 Google 而做的八個月的準備 --- --- 結果我不會告訴你的

磨刀不誤砍柴工,為 Google 面試全力以赴的八個月(完整版)


本文來自Youtube: https://www.youtube.com/watch?v=qc1owf2-220 能翻牆的話就直接去看視頻。Google人力資源部主管Jeff Moore主持採訪資深工程師技術面試官Rachel Shearer和Eddie Pettis。

Rachel Shearer自2009年入職Google Accessibility Team之後,一直擔任面試官的角色。Eddie現任Google Platform Team技術主管。

本文由飯糰面試原創翻譯整理。

=====================================================================

Jeff: 在我的博客Google面試系列中,我曾經屢次提到了面試者要做足夠的準備,了解面試的整個過程,複習計算機專業核心課程例如演算法。面試者可以通過網上的很多資源比如通過MIT OpenCourseWare(MIT OpenCourseWare)的免費課程,複習鞏固一些基本的演算法課程。另外,不要在簡歷里聲稱自己是某個領域或方面的專家,這樣會引導面試官問很多或淺或深的問題,導致自己在面試中陷入尷尬的境地。這些是我想到的一些面試方面的小技巧。你們在技術面試中通常尋找什麼樣的人才,有哪些的建議給正在準備面試的面試者們?

Eddie: 我到目前為止已經面試了一百二十多個面試者了,在招聘畢業生方面有很多經驗。我在普渡大學、德克薩斯大學和卡耐基梅隆大學都曾經招聘過。面試的過程和你可能在紐約時報上讀到的令畢業生們心生畏懼的報道有些出入。有報道說Google的面試官會問的非常刁鑽古怪的問題,例如一個雞蛋從高樓上落下,多少次能找到雞蛋不會被摔碎的最高樓層?或者你如何從攪拌機中逃生的問題。事實上,從我入職開始到現在,我們從來沒有問過這些問題。在典型的技術面試中,我們的問題會問及編程,演算法和系統設計的各個方面。我希望面試者能夠在以上各方面都有不錯的表現,但你不必是所有領域的專家。在編程語言方面也是非常開放的,對於你所選擇的語言,要足夠的熟悉。比如你選擇了Java,那在面試過程中應該運用適當的Java語法規則。如果在答題過程中Python又攙和了進來,那麼我覺得這個面試者的結果應該不會很樂觀。事實上,這種錯誤出現的次數令人驚訝。通常我出的面試題都比較簡單,基本的C語言都可以解決。在面試中,很難有人完成複雜的演算法,比如不同的圖結構。如果你能的話,我們一定會超級喜歡你。我們當然希望能和天才程序員共事,但我們也希望同事之間在解決問題時能夠無障礙的交流。所以請記住雖然我們是面試者,但我們站在你那邊。

Jeff:當面試者在面試過程中卡殼的時候,通常情況下我會試圖跟他們交流,讓他們找出解決方案。作為工程師面試官,你們在這種情況下會如何處理

Eddie: 我非常認同你的觀點。事實上,我認為最糟糕的面試者不是因為分數低或者表現不好,而是不與面試官進行交流。有些時候,面試者被卡住是由於沒有完全理解題目要求,然後他們就站在白板旁邊無助的發獃。這時候,我沒有辦法對他們提供任何幫助,因為我不知道他們是在哪裡出了問題。我建議在你沒有想法的時候,可以坦白的告訴面試官,或者從你能想到的最簡單的解法入手,然後再去考慮有沒有更好更優的解決方法 。你只需要去試圖解決這個問題,因此被卡住了也沒有關係。坦白地講,當我在面試中出的一些複雜題目的時候,並沒有期待你能給出最優的解法。我希望能和面試者之間有一次不錯的交談,他能夠分析出不同解法的優缺點。因此,當你沒有想法的時候不要恐慌,只需要告訴面試官在哪裡被卡住了,這在面試中是非常合理有效的處理尷尬情況的方法。很多面試者包括拿到offer的面試者都在面試中出現過這種情況。

Jeff: 來自新加坡的Jason問到面試官在面試過程中尋找什麼特質的面試者?除了前面我們提到了編程演算法能力,有沒有哪種面試者身上的閃光點會特別吸引你?

Eddie: 這是個很複雜的問題。坦白地講,從我的角度來說,我希望能找到自身素質在每個方面都不錯的面試者。在Hacker News的一些採訪中,經常會有招聘者表示 「我想找這樣SQL方面的專家」或「設計大牛」之類的要求。而在Google,我們希望面試者是多面手,能在需要的地方挺身而出。我當然很欣賞有些人是在某方面非常精通,但是正如我的PhD導師告訴我的那樣,偉大的工程師應該在很多方面都了解一點,在某些方面非常精通。(A great engineer is someone about who knows alittle about a lot, and a lot about a little.)這基本上就是我想尋找的人才。關於我提到的那三個方面編程、演算法和系統設計的知識,你需要非常自信。很多人犯的最大的錯誤就是他們把自己孤立起來。如果面試者在面試過程中過多的沉默,或者不能清晰地表達相關技術概念的話,會給面試官留下非常糟糕的印象。

Jeff: 來自加拿大滑鐵盧的Arthur想知道對面試準備充分與否如何進行自我評估?我認為當你自己感覺準備充分的時候,可以去Top Coder或其它類似Code Jam的競賽網站上去嘗試回答上面的問題。如果你能很適應這種競賽題網的節奏,那麼就對面試準備的差不多了。

Eddie: 我很同意Jeff的看法。有些應聘者對Google的面試有些恐懼心理。事實上,Google的面試過程和其它公司非常類似,就是常見的面試軟體工程師的流程。當面試者對應聘其他公司的職位很自信的話,他也應該嘗試應聘Google。

Rachel: 我同意大部分觀點。對我來說,應聘的過程和在大學備考很相似。當面對考試時,你會什麼時候覺得自己備考足夠充分?事實上,不管你如何準備,總有很多知識你需要掌握,很多書去讀,但是積累到一定程度,你會感覺我對這個考試非常自信。

Jeff: 剛剛我們討論到面試官是否在面試過程中尋找某一類型的人才,Rachel你對此有何看法?

Rachel: 這是一個很難回答的問題。事實上我希望面試者具備很多素質。除了必備的技術方面的能力之外,我也在面試過程中會考察面試者在各種情況下的反應。因為在面試過程中遇到的一些情況就發生在我們日常工作中,我們在每天的工作中也需要和同事們合作去解決一個問題。我會在面試中觀察面試者是否過於緊張。同時,他們思考問題的方式也很重要。即使他們不知道如何解決這個問題,我也希望能知道他們面對這樣的問題是如何思考的。我希望面試者能把他們思考的整個過程都告訴我。總的來說,如果面試者能清楚地闡述他們的思考過程,不會壓力過大,這樣的面試中會受到我的青睞。

Jeff: 是的,我聽到很多面試官評價說面試的過程是日常工作氛圍的縮影。在面試過程中面試者與面試官的互動是面試成功的關鍵。

Eddie: 我非常贊同。在面試過程中不要過於沉默,你可能在面試的過程中遇到出現一些小錯誤,但是修正錯誤的過程也很重要。如果你能最後完美的解決它,這也是非常不錯的表現。不同的面試官對同一個面試者評價可能不一樣,因此我們會提交評價至評審團讓他們做出決定。從我的角度來講,我更注重解決問題的思路和方法是否正確,而不是在語句末尾有沒有加分號這種問題。

Rachel: 在電話面試中解題思路的互動比在面對面的面試更重要,因為如果面試者在電話面試中沉默了5分鐘來想答案,事實上在電話這端我得到的信息是零。

Jeff: 你剛剛提到了電話面試,來自法國的Mary有個相關問題:電話面試是如何進行的?

Rachel: 我做過的電話面試可能多過於面對面的,基本上每周我都會進行一次電話面試。我個人會比較喜歡面對面的形式,但是這兩種形式實際上是非常相似的。面對面時,面試者會要求在白板上寫代碼;而電話面試中,我們會讓面試者在Google Docs來模擬白板。面試者會在GoogleDocs上輸入問題的答案,大體的過程就是這樣的。

Eddie: 是的,這基本上是一個標準化的流程。我這裡有一些小的建議。如果你在電話面試中沉默的話,我們沒有辦法分別是網路連接問題還是面試者自己卡殼了。所有的面試者的第一輪面試一定是電話面試,除非我們的招聘人員去學校宣講這種情況。我認為我們也需要電話那邊的面試者的合作,試圖讓整個面試過程更互動,以確保每一步都按計划進行。因此我們比平時會啰嗦一些,以保證面試者能清楚我們的問題。電話的質量有時候並不是很好,因此在電話面試過程中,面試官希望能更清晰地表達自己。其實,不管是電話面試還是面對面的形式,我所問的問題都是一樣的。

Jeff: 我們的聽眾中可能很多人沒有在電話面試中用過Google Docs。在這方面,對可能下周要面試的應聘者們你們有何建議?

Rachel: 我很樂意先分享。我強烈建議在電話面試前,跟你的朋友走一遍整個電話面試的流程。讓你的朋友給你打電話,讓他幫你出一些題目,在Google Docs上練習答題。在這個模擬面試中,你需要清楚你的網路連接是否清晰,你的模擬面試官是否可以在電話中明白你的表達,你在Google Docs上敲字的速度是否看起來合理來確保網路的暢通。完整的模擬一次電話面試的流程,你的朋友最好能出一到兩個面試題,這樣會很容易發現面試中你可能出現的問題,比如你是否因為思考而沉默了五分鐘。這樣的問題很容易在模擬面試中發現,但是你自己可能無從得知,因為你完全沉浸在思考的過程中。所以我強烈建議在電話面試前進行一場模擬電話面試。即便是五分鐘你也可以從中受益很多。

Jeff: 非常棒的建議。我們滑鐵盧的聽眾Arthur的另一個問題是在有限的準備時間裡,面試者是否應該花更多時間在編程和演算法練習上,而不是計算機科學理論或某種語言上的語法細節上?

Eddie: 我的回答是我對某種語言語法的細節問題沒有興趣。我知道有很多人在編程語言方面的知識比我豐富的多,但是我可以非常高效的完成我的工作。在面試過程中,我更注重考察面試者對演算法和數據結構的理解以及在編程將他們有效的應用起來。

Rachel: 我非常贊同。一般來講,即使你在以後的工作中用到一些語言語法高級用法,你也可以通過在網上查閱相關資料或者Google相關信息,所以某種語言的高級語法並不是非常重要的技巧。如果需要的話,我也可以幫你Google一下。但是演算法是你在每天的工作中都要用到的,我在面試過程中集中考察面試者對演算法的掌握。我甚至都不記得是否曾經問到過語法方面的問題。

Eddie: 如果面試者在面試過程中說:我多麼希望能記得這個庫,這樣就能更完美的解決這個問題。我通常的做法就是假設你有這個庫可以調用,你下面如何做?他們就會繼續集中到演算法方面來。有時候他們表示我需要這種哈希表表達或者哈希函數,我會同意他們假設這種函數存在。

Jeff: 來自新罕布希爾州的Section311想知道面試官著重考察面試者的技術能力、解決問題的能力還是耐壓能力?還是所有這些?

Rachel: 我認為我們對以上各種能力都會有考察。如我前面所提到的,我們希望面試者能對技術相關問題有一定見解,解決問題時的具有一定的邏輯分析能力。耐壓能力對應的我前面提到的能在面試中放鬆不要過於緊張。

Jeff: 我認為讓面試者放鬆是我的一部分工作。在技術面試前,我給面試者一杯咖啡,他們冷靜下來。

Eddie: 我提的問題基本上是任何面試者應該可以應對的。我從來沒有問過刁鑽深奧的細節問題。我有時候會讀一下他們的簡歷,問一些簡歷上相關的問題作為我的面試的第一個問題。比如,你可以跟我描述一下你再這個項目中有何技術上的貢獻?他們的回答通常很有趣,但事實上,我想通過他們熟悉的項目讓他們放鬆,不要緊張。同時,我可以知道在他們非常了解的項目上,是否可以清晰地表達自己的想法。除此之外,就是一些非常標準化的問題。大部分情況下面試者被問到的問題是差不多的,但是如果他們聲稱自己能夠實現圖結構,我就會問一些相關問題看是不是屬實。Rachel會對這一點比較了解,在我們的面試官培訓中我曾經問過她這樣的問題。總的來說,我想尋找非常出色的面試者,對於我的問題他們通常提供更多信息。面試題目本身是很簡單的,但是在設計、數據結構和演算法的細節方面也很重要。最優秀的應聘者經常會回答更多的信息,除了答案之外,他們還會解釋為什麼會選擇這樣一種做法,以及還有哪些其他解法。他們會分析對於某種數據類型會選擇那種演算法,在並行計算時如何解決等等。

Rachel: 我想說明的另外一點是,你很大可能會被要求編一段代碼,如果你說你用C或C++編程,但是你實際上用了Java寫,結果會不太樂觀。

Jeff: 我們還有很多來自聽眾的問題,但是由於時間關係,我們最後想問你們對面試者最重要的建議?在你們考慮的過程中我來回答一些招聘流程方面的問題。Google的面試一共幾輪?不同的面試者可能不同,一般來說,如果你來Google辦公室面試的話,會在一天安排5個面試官進行面試。另一個來自英國的AW 問到第一輪實習生電話面試中會有多少技術問題?我覺得這是一個有點欺騙性的問題,因為第一輪電話面試通常是HR問一些基本問題,不會涉及很多技術問題。比如你想去哪裡工作,你對哪個部門或產品最感興趣等。了解這些背景之後,我們才會後續安排第二輪技術面試,面試官是就會像Eddie和Rachel這樣的有經驗的工程師,側重考查技術方面的問題。好的,Eddie你對面試者們最重要的建議是什麼?

Eddie: 我的忠告是在整個面試的過程中保持友善。作為面試官,我們希望你能給成功,禮貌和友好的表現會給面試官留下良好的印象。坦白的說,我們在面試過程中也會去觀察面試者和我們的文化和興趣是否一致,我們不希望將來的同事自大傲慢,難以溝通。

Rachel: 非常棒的忠告。我的建議是在電話面試中一定要溝通、溝通、溝通。對於保持和面試官的溝通這一點的重要性我一再強調。你在思考的時候一定要讓你的面試官和你的思路同步,向他表達你思考的整個過程。不要把面試官當做敵人,他們是站在你這邊想幫助你的。而唯一能幫助你的方法就是了解你在想什麼。所以一定要保持溝通。

============================================================

更多面試經驗,面試題解答敬請關注飯糰面試公共微信賬號:

http://weixin.qq.com/r/kkOgpHbEZb4ZKTLHbxYW (二維碼自動識別)


不邀自來。

我通過了Google201*年中國區的校園招聘。為避免不必要的麻煩先匿名。手機答題,只說重點,理由有空再補。只限校招。

準備一份職業的英文簡歷。如果不知道該怎麼寫,byvoid推薦過一本書叫Google Resume,但我沒看過。最好照著牛人前輩的改。

誠實。不要在簡歷里誇大自己的能力。項目寫一些細節,哪些部分是自己完成的。對於自信的部分可以寫詳細些,等著對方問你。雖然我經歷的Google面試里只有一次聊過項目經驗,但其他公司會有幫助。

找人內推。如果夠熟,讓他幫你改簡歷。

做演算法題,比如leetcode。不需要刷很難,重點訓練: 對複雜度的敏感性,對邊界的敏感性,逐步優化的思路,無ide寫代碼的能力,靜態調試的能力。

回憶基礎數據結構: 數組,鏈表,字元串,樹,圖。

如果申請非大陸崗位,英語要好。編程和數學術語必須懂。

面試時保持交流。不能有一分鐘以上的空白。不會的話,跟對方講現在想到了哪裡,等他提示。我的一個經驗是: 聽完題目後複述題目,再說暴力演算法怎麼寫,與此同時思考正確解法爭取時間。

面試里見題切題固然好,但不是所有人都能做到。另一種好的面試是向對方展示自己思維的過程,如何一步步分析陌生的問題,並在知識可及的範圍內不斷優化演算法,同時有良好的溝通能力。面試官的目的是招聘好的同事,沒人願意和悶葫蘆一起共事。

編程語言選你最熟的那個。細小的介面忘了可以臨場定義並跟對方解釋。

所有代碼題,上場先寫好介面,就像leetcode那樣。

就想到這麼多,如果支持和關注的人多再繼續寫。


題主沒說申請的職位是什麼,各位答主怎麼就假定是工程師呢?

SWE在Google員工中還不到一半呢。


首先得知道為什麼井蓋是圓的吧。


作者公眾號:作者還行。關注此公眾號,給你一套價值10萬元的職場大禮包。

Google是我最喜歡的互聯網企業,也是我覺得目前這個世界上最偉大的公司。對Google的運作一直很好奇,系統性地學習Google的運行方式對於我們大有裨益。這篇文章主要是Google對於人才的聘用的系統性知識總結,希望能給大家帶來更多的思考。

成為一個創始人

Google兩位老總拉里和謝爾蓋奠定了Google對待員工方式的基礎:Google人可以引領所在團隊的工作和生活方式。

2004年8月19日,Google上市,當時Google只有1907名員工,謝爾蓋在招股說明書中講到:我們的員工自稱Google人,是我們公司的根本。Google是圍繞著吸引和發揮出眾的技術專家和商務人才的能力而打招的。我們有幸招募了很多具有創造性、有操守和不辭勞苦的工作明星。我們希望未來能夠招募更多這樣的人。我們會獎勵他們,對他們好。

Google為他們的員工提供了世界頂級的員工福利,包括不同尋常的福利,例如免費餐、醫生和洗衣機等。

拉里和謝爾蓋刻意留出空間,使其他人也能像創始人一樣行事,有識之士有機會創造自己的Google。

建立傑出的團隊或機構的起點是有一位創始人,但是成為一名創始人並不意味著要建立一家新的公司,任何人都有能力成為一名創始人,也可以成為所在團隊的文化創造者。

Google工作法則:成為一名創始人

1. 把自己看成是一名創始人。

2. 像創始人一樣行動。

Google的文化是什麼?

使命是Google文化的第一塊基石。

在內心深處,每個人都要找到工作的意義。沒有什麼比知道自己正在改變世界能帶來更強有力的激勵作用。

Google的使命是:整合全球信息,使人人都能訪問並從中收益。

這個使命讓大家的工作變得有了意義。這個使命不是一個商業目標,而是一種道德目標。史上最有影響力的運動都要有道德動機,或是追求獨立,或是追求平等等權利。

歸根到底,這個使命還永遠無法達成,總是有更多的信息需要集成,總有更多的方式可以使人們從中收益。這樣Google人創造了動機,促使大家不斷創新,探索新的領域。要成為「市場領導者」這種公司使命,一旦實現,就難以再帶來更多的激勵。Google範圍寬泛的使命使得Google能夠循著指南針而不是追著速度計前進。

透明是Google文化的第二塊基石。

應該假設所有的信息都可以與團隊分享,而不能假設任何信息都不能分享。在開源領域,隱藏信息是有悖於主流文化的。

發聲的權力是谷歌文化的第三塊基石。

我們所有人都想要掌控自身的命運。發聲的權利意味著給員工真正的話語權,決定公司如何運營。對於很多組織而言,這樣令人恐懼,但是只有這樣才能秉承Google公司的價值觀。

Google聘用什麼樣的人?

Google有兩個選擇:

A,Google聘用水平超過90%應聘者的員工,一上手就能做好工作。

B,Google聘用平均水平的員工,通過Google的培訓項目訓練,希望他們最終能夠超過90%應聘者的表現。

花同樣的預算招募最優秀的人才,是把資金前置還是後置的問題。

Google的選擇是人力資金投入前置,意味著Google把大把的資金投入了招聘的人力預算,招最優秀的人才。

還有一條,出色的招聘工作不僅在於聘請到名頭很大的人,頂尖的銷售人員,或者最聰明的工程師,而且在於搜尋在你所處組織的環境下能夠成功的最優人才,在於找到能夠使周圍每個人都更加成功的人才。

Google怎麼找到最優秀的人才的?

Google每年都要招募大約5000名員工,候選人大概是100萬到300萬應聘者,錄取比例是0.25%。

Google早期的做法

1. 嘗試用招聘網站招募員工,起到了一些作用,但並不盡如人意。

2. 嘗試找獵頭合作,但是獵頭很難理解Google尋找人才的目標。

3. 出怪題難題登廣告,結果一個人都沒招到,只是做了一個有趣的營銷活動。

4. 得到Google的聘用可能要用上6個月甚至更久,應聘者要參加15~25次面試,每一位應聘者每次都要用上10~20個小時進行面試和撰寫反饋報告。每招聘一個Google人需要250小時,招聘1000人需要投入250000小時。要125人全職工作才能招聘1000人。

Google改進版的做法

1. 採用內部推薦。這招不是很管用,因為Google的員工不可能認識世界上的每一個人,對崗位的要求和適合這個崗位的人才也不是很了解。

2. 最優秀的人並不在尋找工作。必須主動出擊。Google內部研發招聘產品gHire---建立自己的應聘者資料庫,輔以各種強化工具對應聘者進行篩選和跟蹤。這一招是最管用的,一半以上的Google員工來自於這個系統。

3. 利用互聯網數據,對每一個應聘者進行檔案分析,領英,大學資料庫和社交媒體是Google的數據分析源。

4. 只做少數國家使用獵頭,比如韓國,中國。

Google的面試流程

Google已經在員工人數達到2萬人之前,多數員工每周用在招聘工作上的時間是4~10個小時。

2013年,Google員工大約4萬員工,Google人平均每周用在招聘上的時間降為1.5個小時。

面試者最優的輪數(每一輪可能有多個面試官)是4次,每個面試官都需要打分,然後綜合每個面試官的平均分數。

具體流程如下:

1. 由一位不進對應聘者申請的工作熟悉,而且對所有工作都熟悉的人篩選簡歷。這一條對篩選人要求非常高。

2. 電話面試後者視頻群面,面試一般的認知能力。

3. 由招牌經理,同事,和下屬和跨職能部門做面對面面試。下屬面和跨職能面很有意思。

4. 整理正式的,結構化的反饋意見,發揮「群體智慧」打分做決策。

5. 招聘委員會審核,然後高管審核最後由首席執行官審核。

6. 為應聘者頒發錄用涵。

本書的核心觀點來自於Google首席人才官 拉斯洛 博克。本人並不是全然贊成其觀點,在實際工作中也會發現很多水土不服的地方,國內工作環境還是不太一樣,企業環境也不太一樣,但是不妨礙大家從各個角度去理解和吸收其中的營養。

作者公眾號:作者還行。關注此公眾號,給你一套價值10萬元的職場大禮包。


推薦閱讀:

Google Glass 會引發嚴重的隱私或其他社會問題嗎?
三月份李世石是否會0:5谷歌alphago,全部中盤告負?
如何評價《谷歌工程師:發誓修復Chrome瀏覽器內存泄露問題》?
如何評價新版Google Chrome界面?

TAG:面試 | 谷歌Google | 面試問題 | 面試經歷 |