1. 程式人生 > >面試體驗:Google 篇

面試體驗:Google 篇

嘗試在自己的部落格上搜索點東西,結果發現 4 年多以前還在部落格上寫過一系列的 recruiting events,把大四時候參加過的各種筆試面試都記錄下來了。我從去年準備離開百度開始,到現在總過面試過 4 家公司:Google、Microsoft、Yahoo、Facebook,原本去年也想把面試經驗寫一寫的,結果一拖就拖到現在。我不想寫面試經驗,因為我個人不喜歡漏題和背題的做法。我自己作為面試官,知道要設計出來一道好用的題目有多難,所以我希望面試者都是如實表現自己解題能力的。我更喜歡寫面試體驗,就是在整個面試過程中一家公司給人的印象是怎樣的,HR 和麵試官是否專業,能否讓人信服這是一家值得長期工作的公司。

我想寫的第一家公司是 Google,因為它是我在想要離開百度時第一家聯絡到我的公司。2010 年 12 月底的某一天早上,我突然感覺到我應該離開百度,因為如果這個時候已經沒有勇氣離開這家公司了,很可能就不會再想要離開了。當天中午在百度大廈西餐廳吃午飯,接到一個 Google 上海 HR 的電話,問我有沒有興趣去面試,我想既然你打電話來的時機那麼好,我就答應你去面試吧。(在那一天之前,我對獵頭的標準回覆是「有美國或者香港的職位嗎?」)她問我將來希望在北京還是上海工作,當時我對北京的厭惡程度還沒有現在那麼高,同時覺得搬家到上海又比較麻煩,於是就說在北京,接著我就變成跟北京 HR 溝通了。

Google 的 HR 會負責做兩件簡單得不需要面試官做的事情,這能夠很好的提高招聘流程的效率。第一件是確認你能夠適應工作環境中的英語,為此 HR 要我用英語跟她對話兩三分鐘,主要就是讓我說說工作經驗和其中的亮點。習慣在私企工作的人不要以為外企對英語的要求很高,其實大多數長期在中國工作的人說話或者發郵件都會很 Chinglish 啦,所以關鍵是要敢於用英語進行溝通。

然後 HR 發了一個 Codility 的地址給我,讓我有空抽時間去做題。一個小時 3 道難度相當於 OI 基礎題的題目,平均 20 分鐘一道。最簡單的題目一看就知道是 O(n) 能解決的,最複雜的題目看上去是 O(n^2) 但想一下就能優化為 O(n log n)。對於有演算法訓練背景的人來說,這樣的題目會讓人感覺到很有把握。對於沒有經受過演算法訓練的人來說,掉進陷阱裡是很容易的。很可能沒有把 O(n^2) 優化為 O(n log n),結果超時;可能沒仔細看題目說明的數值取值範圍,某些變數選錯了數值型別,結果溢位。考慮到 Google 重視演算法的程度,再加上 Google 中國面試的額外難度,演算法訓練還是很必要的。

匹茲堡的Google新辦公室

在我通過 Codility 測試後,HR 問我了對題目難度的反饋,然後約了一輪電話面試,並且告知面試主要圍繞演算法、資料結構、系統設計、編碼來進行。Google 面試的格式都很固定,45 分鐘內期望你能做出 3 道題來。這 3 道題最起碼要能把人人都能想出來的「笨辦法」用程式碼寫出來,否則會讓面試官感到不滿意。如果有些題目能夠比較快地做出來,面試官就會讓你優化。就算你第一次給出的答案已經是業界已知最優解,面試官都還是會讓你優化,因為誰也不知道有沒有人能在面試過程中突然爆發,想出一些過去沒人想到過的解法。如果面試官心中已有優化的方案,在你想不出優化方案時他可能會給你提供一些提示。

一輪電話面試後,HR 就開始約到 Google 辦公室的面試了。第一次約了下午 3 輪面試,還是那個很固定的格式:每輪面試 45 分鐘,兩輪間隔 15 分鐘。整個面試流程讓人感覺到很人性化:在 Google 簽到後,HR 會先帶你去 kitchen 拿點吃的喝的,然後把你帶到面試所用的會議室。多輪面試的話,HR 中間還會來問一下你要不要去洗手間,或者多拿兩瓶水。面試完畢後 HR 會來問你感覺如何,同時也會讓你知道面試官的初步反饋是否跟你的感覺一致。我在 3 輪面試中有一輪感覺不太好,因為面試官只給了 2 道題,並且我最終都沒辦法解出來,HR 也確認了就是這一輪的反饋不好。

此外,Google 的招聘流程還讓人感覺到很有效率。作為面試官,我也知道自己寫面試反饋有多喜歡拖延,而且公司填寫面試反饋的系統越不人性化我就越想要拖延,然而公司內部系統做得人性化的又實在罕見。Google 的面試基本上隔天就有結果,然後 HR 就會約下一輪的面試。因為我在百度的時候每週哪個時間沒有會議是很確定的,所以我總是選擇下週同一個時間段來面試。在經過總共 4 輪面試後,HR 說因為前面有一輪的面試官反饋不好,所以希望再加一輪面試。因為前面反饋不好的面試官比較 senior,所以這次找了一位同樣 senior 的面試官來面試,於是我又去了一次 Google 辦公室。

完成 5 輪面試後,HR 把材料提交給 Google 的北京招聘委員會,結果沒有通過。HR 說,因為 Google 都是按照後端工程師的標準來招聘,看重演算法和資料結構,前端工程師要通過不容易。因為 Google 沒有專門的前端工程師,只有一個軟體工程師職位,所以所有人還是必須按照一個標準來衡量。她問我如果找到專門需要前端工程師的團隊,並且需要額外再面試的話,我是否感興趣。當時 Google 是我的第一選擇,我當然說感興趣啦。

後來 HR 跟我說,她幫忙問過 Google Maps,可惜對方說不要專才只要通才。又過了幾個星期,HR 發現 IME 需要專門做前端的人,於是幫我再約了一輪面試。這輪面試是在 Google 辦公室做的,但實際上是視訊會議,因為面試官在美國。(不確定面試官是在美國出差,還是美籍華人。)面試過程跟電話面試類似,用 Google Docs 寫程式碼,比電話面試要好的是說話時能夠見到人。

這一輪面試結束後,我的材料再次進入 Google 的北京招聘委員會。HR 說這次專門找了對前端有經驗的人來審閱我的材料,結果順利通過了。接著 HR 問我要了一大堆的補充材料,包括高考成績和 GPA(連同成績單),還包括當前薪酬和競爭對手的 offer(我當時有 Yahoo 的 offer),甚至包括過去的獲獎和晉升經歷。所有這些材料都會發往 Google 美國總部審閱,具體流程 HR 沒有細說,但看 Don Dodge 的文章可以瞭解一些。最後我被 Google 美國總部給拒絕了,然後 HR 還是一如既往地及時溝通,並且安慰了我幾句。

整個 Google 招聘流程下來,可以感覺到人性化和高效率,同時也能感覺到 HR 確實在很努力地為候選人爭取機會。可以說,無論是否通過,Google 招聘流程至少能給候選人一個很好的印象。據我所知,儘管 Google 聲稱全球招聘標準一致,但因為中國聰明且懂演算法的人實在太多,所以難度更高是很正常的。能夠在 Google 中國以外的地區應聘的話,應該會容易一些。

相關推薦

面試體驗Google

嘗試在自己的部落格上搜索點東西,結果發現 4 年多以前還在部落格上寫過一系列的 recruiting events,把大四時候參加過的各種筆試面試都記錄下來了。我從去年準備離開百度開始,到現在總過面試過 4 家公司:Google、Microsoft、Yahoo、F

面試體驗Facebook

        Google、Microsoft 和 Ya

小愛智慧音箱使用體驗外觀

小智很久之前就已經在搶購小愛音箱了,但一直沒搶到,後來小愛mini出來了,小智同時又搶小愛mini,也還是搶不到,直到最近,卻同時2個都搶到了,可謂是踏破鐵鞋無覓處,得來全不費功夫。接下來,就有了小智這

視頻教程Java七大外企經典面試套路之基礎

視頻教程:Java七大外企經典面試套路之基礎篇 視頻教程:Java七大外企經典面試套路之基礎篇 Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執行的語言,語法規則和C++類似。同時,Java也是一種跨平臺的程序設計語言。 本教程主要給

PHP面試(Part1基礎

序言: 面試是每個程式設計師進入企業必須要經過的一道門檻,關於面試,可能很多小夥伴可能不知道該從何複習。這裡我給大家做一個簡單的知識點梳理,希望各位可以找到自己的薄弱點進行補強! 面試點1:引用變數 1.概念:用不同的變數名訪問同一個變數,使用&符號定義。 2.

[Java面試]二常見面試題之框架Spring MVC

什麼是Spring MVC 1Spring Web MVC是一種基於Java的實現了Web MVC設計模式的請求驅動型別的輕量級Web框架。使用了MVC架構模式的思想,將web層進行職責解耦

互聯網面試必殺如何保證消息中間件全鏈路數據100%不丟失第二

pre 註冊 丟失 來源 第二篇 dir 測試性能 默認 針對 前情提示 上一篇文章《互聯網面試必殺:如何保證消息中間件全鏈路數據100%不丟失:第一篇》,我們初步介紹了之前制定的那些消息中間件數據不丟失的技術方案遺留的問題。 一個最大的問題,就是生產者投遞出去的消息,可能

html5面試常見問題及答案架構

1、如果讓你來製作一個訪問量很高的大型網站,你會如何來管理所有css、js檔案、圖片?(1)遵循自定的一套CSS,JS和圖片檔案和資料夾命名規範(2)依託採用的前端工程化工具,依照工具腳手架規範 (gulp, webpack, grunt, yeoman)(3)依據採用的框架

【魯班學院】面試總結Java高階(上)集合的型別以及重新認識HashMap

1.你用過哪些集合類?     大公司最喜歡問的Java集合類面試題     4

小程序初體驗手把手教你寫出第一個小程序(一)

輸入框 個人 創建 公測 快速 nsh 成功 too 調用 本文筆者將根據quick start中的範例代碼,帶大家簡單地剖析一下小程序的運行方式,並介紹小程序開發中一些通用的特性,帶著大家一步步寫出自己的小程序。 適用對象:前端初學者,對小程序開發感興趣者 tip

Springboot(一)入門

熱啟動 exp 頁面 tor posit ole 入口 service 主程序 什麽是spring boot spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開

分針網——每日分享CSS 自定義屬性API

css JQuery是一個非常優秀的js庫。 選擇元素 $( )裏可以填css選擇器 $(’.demo’).

改進Vim體驗在插入模式下移動光標,我不要用方向鍵!alt快捷鍵使用技巧!

targe 判斷 映射 tar 什麽 nbsp .vimrc 一次 time 改進Vim體驗:在插入模式下移動光標,我不要用方向鍵!alt快捷鍵使用技巧! 大家都知道,我們在插入模式下編輯代碼的時候 若想寫完這一部分後,移動到鄰近的一部分,如下一個單詞的後面,是很復雜的

包學會之淺入淺出Vue.js升學

css att 初始化 接下來 基本上 dos name return title 上一篇《包學會之淺入淺出Vue.js:開學篇》中,我們初步了解單頁面組件這個概念,現在通過一個項目,來進一步解析組件的應用吧,Go~ 需求背景 組件庫是做UI和前端日常需求中經常用到的,把一

包學會之淺入淺出Vue.js結業

如何 通過 官方文檔 學習過程 興趣 內容 cloud 實現 項目 在第一篇《包學會之淺入淺出Vue.js:開學篇》和上一篇《包學會之淺入淺出Vue.js:升學篇》的學習中,我們首先了解了Vue環境的搭建以及兩個重要思想——路由和組件的學習,通過組件庫中的按鈕組件和導航組件

安卓控件獲取器uiautomatorviewer初體驗"unable to connect to the adb. check if adb is installed correctly"

isn tdi pty all hal hot cep accep challenge 解決方法:轉自:https://plus.google.com/108487870030743970488/posts/2TrMqs1ZGQv Challenge Accepted:1.

NHibernate3剖析Mapping之集合映射基礎(3):List映射

mage 專題 類名 sni adding query size top hive 系列引入 NHibernate3.0剖析系列分別從Configuration篇、Mapping篇、Query篇、Session策略篇、應用篇等方面全面揭示NHibernat

全球十大白帽黑客團體Google奪魁、三中國團隊入選

rda 全球 大白 music nsq 十大 mvm .com http %E7%9C%9F%E5%AE%9E%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%91%98%E5%88%B0%E5%BA%95%E8%83%BD%E8%BE%9B%E8%8B%A6%

Hadoop初體驗快速搭建Hadoop偽分布式環境

hadoop 偽分布式 大數據 0.前言 本文旨在使用一個全新安裝好的Linux系統從0開始進行Hadoop偽分布式環境的搭建,以達到快速搭建的目的,從而體驗Hadoop的魅力所在,為後面的繼續學習提供基礎環境。 對使用的系統環境作如下說明:操作系統:CentOS 6.5 64位主機I

Flex 布局教程語法

https stat token flow tutorial ble 布局 fault contain 作者: 阮一峰 日期: 2015年7月10日 網頁布局(layout)是 CSS 的一個重點應用。 布局的傳統解決方案,基於盒狀模型,依賴 display 屬性