對於多數求職者而言,面試好似一個迷局。你去了,見了幾個面試官,答了一堆問題,而後,或兩手空空離開,或幸運地拿到錄用通知。php
你有沒有想過:程序員
好了,不用再挖空心思,再三思索了,我來告訴你。面試
在本章,咱們邀請了來自頂尖科技公司(微軟、亞馬遜、谷歌、蘋果、Facebook及雅虎)的面試專家來爲你們答疑解惑,揭祕面試中的那些事兒。算法
這些專家會讓咱們瞭解各家公司的面試流程,幫助還原那些發生在面試會議室以外的事情,以及面試結束後的事項。數據庫
這些專家還會告訴咱們各家公司面試流程的不一樣之處。好比,亞馬遜的「調杆員」①是怎麼回事,谷歌的招聘委員會是如何運做的。是的,每家公司各具特點。瞭解這些「怪癖」會讓你更加成竹在胸,不會被突如其來的亞馬遜「調杆員」給嚇住,也不會對蘋果竟然同時派出兩位面試官來考察你而感到意外。編程
① 「bar raiser」(調杆員)的概念來自亞馬遜美國總部。這個詞原指在跳高比賽中,一次次將杆調高的工做人員。而亞馬遜的調杆員則是一羣在招聘過程當中負責從企業文化以及行爲準則的角度考察應聘者,從而維護招聘質量的人。在招聘中,調杆員會用很苛刻的眼光考察應聘者是否在至少一點上高過亞馬遜的平均水準,若是是,那麼僱用這樣的人實際上就等於在提高公司的能力,這就起到了「擡杆」的做用。——編者注緩存
此外,這些專家也強調了各家公司的面試重點。儘管這些頂尖公司都喜歡考察求職者的編碼能力和算法基礎,他們其實也各有側重。無論這是源自各家公司的技術背景或是歷史,至少你知道該如何作好準備。網絡
**接下來,讓咱們一塊兒揭開微軟、亞馬遜、谷歌、蘋果、Facebook和雅虎的「面試迷局」吧。**架構
微軟喜歡招聰明人,尤爲青睞計算機極客。求職者必須對技術滿懷熱情。微軟的面試官不大會問你一些C++ API的箇中細節,而是直接讓你在白板上寫代碼。分佈式
參加面試時,求職者最好在早上約定時間以前趕到微軟,先填好一些表格。接着你會和招聘助理碰面,他會給你一個面試樣題。招聘助理主要是幫你熱熱身,不大會問技術問題;就算真的問了幾個簡單的技術問題,也是想讓你放鬆心情,等到面試真正開始時,你就不會那麼緊張了。
對招聘助理必定要以禮相待。說不定他們會幫上大忙,在你首輪面試表現欠佳時,他們有可能幫你爭取從新面試的機會。誇張地說,他們甚至還能左右你的應聘結果。
面試當天你會接受4到5輪面試,面試官通常來自兩個團隊。許多公司會把面試安排在會議室,而微軟的面試通常在面試官的辦公室進行。你正好能夠藉機四處看看,感覺一下他們的團隊文化。
一輪面試事後,不一樣的團隊,作法不同,面試官可能會根據我的習慣決定是否將你的表現反饋給後續的面試。
完成全部面試後,你有可能會見到招聘經理。假如真是這樣的話,那但是好兆頭,這意味着你經過了某個團隊的基本考察。接下來,就要看招聘經理要不要錄用你了。
快的話,面試當天你就會知道結果,慢的話,則可能要等上一週。要是等了一週還沒收到人事部的通知,不妨發封郵件,客氣地問一下進展。
若是你沒有立刻收到迴應,有多是由於招聘助理太忙了,這並不表明你就沒戲。
必要準備事項:
你爲何想要加入微軟?
提這個問題,微軟是想了解你是否對技術滿懷熱情。一個比較好的答案是:「自打接觸計算機以來,我就一直在用微軟的軟件,貴公司開發的軟件產品使人讚不絕口。好比,我最近一直在Visual Studio開發環境中學習遊戲編程,它的API實在是太好用了。」注意這個答案是如何展現你對技術滿懷熱情的。
獨特之處:
若是到了招聘經理這一關,說明你面試表現得不錯。這但是個好兆頭!
亞馬遜的招聘流程通常從兩輪電話面試開始,期間求職者會接受某個團隊的面試。偶爾也會出現面試3輪甚至更多輪的狀況,多是有位面試官對你的評價不高,或是別的團隊對你有興趣。此外,還有其餘特殊狀況,好比求職者就在亞馬遜總部所在地西雅圖,或他之前面試過其餘職位,也許一次電話面試就夠了。
在電話面試中,面試你的工程師一般會要求你經過共享文檔工具(如CollabEdit)寫些簡單的代碼。他們問的技術問題可謂五花八門,意在探測你究竟熟悉哪些領域。
接下來,若有一兩個團隊根據你的簡歷和在電話面試中的表現相中你,你就要飛到西雅圖接受4到5輪面試。在白板上寫代碼是少不了的,有些面試官會着重考察你的其餘技能。每一輪面試官都會側重不一樣的領域,因此他們的提問會截然不同。在提交本身的評價報告以前,他們看不到其餘面試官對你的評價,並且公司也不鼓勵面試官在面試過程當中互相交流,一切討論都得等到幾輪面試所有結束後。
顧名思義,「調杆員」主要負責把控面試質量。他們受過專門訓練,而且是從其餘團隊抽調來的,以減小面試中的主觀傾向。在面試中,若是有位面試官風格迥異且要求格外嚴格,那他可能就是傳說中的「調杆員」。這種人不只面試經驗豐富,並且跟招聘經理同樣,擁有生殺大權。不過,切記:這一輪面試表現磕磕絆絆,並不等於你的總體表現就不好。面試官會比照其餘求職者來評價你的水平,而不是隻看你答對多少問題。
等到全部面試官提交評價報告後,他們會在一塊兒討論你的表現,並決定是否錄用你。
通常來講,亞馬遜的招聘團隊都會很快給出錄用結果,不多有耽擱。要是一週內都沒等到結果,建議你發封措辭得當的郵件詢問進展。
必要準備事項:
亞馬遜是一家互聯網公司,這也意味着他們很是關注「擴展性」問題。請作好相應的準備。固然,回答這些問題,並不要求你具有分佈式系統方面的知識。具體建議可參看「擴展性與存儲限制」一節。
此外,亞馬遜還會問不少面向對象設計的問題。請參看「面向對象設計」一節,裏面有一些樣題和建議。
獨特之處:
「調杆員」來自其餘團隊,旨在提升面試標準。他和招聘經理同樣重要,請儘可能表現得出色一些。
業界流傳不少有關谷歌面試的可怕謠傳,但多數也只是謠傳。谷歌的面試與微軟或亞馬遜的並沒有太大區別。
谷歌的面試也從電話面試開始,來面試你的人是技術工程師,所以免不了會問些技術難題,求職者切不可掉以輕心。這些問題也可能涉及編程,有時你還要經過共享文檔工具寫些代碼。電話面試的問題和現場面試的相似,要求也同樣。
現場面試通常有4到6輪,其中一輪爲午飯面試。面試官之間不能透露本身的評價報告,所以每一輪面試你均可以從零開始。午飯面試不會有評價報告,你能夠藉機問些其餘環節不方便問的問題。
谷歌不會要求面試官側重不一樣的領域,也沒有所謂的標準流程或結構。每一個面試官能夠自行決定問哪些問題。
面試事後,評價報告會以書面形式提交給由工程師和經理組成的「招聘委員會」,由他們做出錄用結論。面試評價報告由分析能力、編程水平、工做經驗和溝通能力等四部分組成,最後你會獲得總的評分,在1.0到4.0之間。「招聘委員會」裏通常不會有你的面試官。就算有,那也純屬巧合。
一般,在決定錄用與否時,招聘委員會更看重那種有面試官給你打高分的狀況,打個比方,若是你的得分是3.六、3.一、3.1 和2.6,效果要好過拿4個3.1。
也就是說,每輪面試不必定都要有上佳表現。此外,你在電話面試中的表現通常起不了決定性做用。
若是招聘委員會給出的意見是「聘用」,你的材料就會轉給「薪酬委員會」及「執行管理委員會」。最終結果可能要等上幾周,由於還有很多流程要走,等待多個委員會審批。
必要準備事項:
做爲一家互聯網公司,谷歌很是看重如何設計可擴展的系統。所以,務必掌握「擴展性與存儲限制」一節的問題。此外,谷歌的面試官很喜歡問些涉及「位操做」的問題,也請重點複習這些方面的知識。
獨特之處:
面試官不是決策者。他們只提交評價意見供招聘委員會參考。招聘委員會給出錄用與否的決定,固然,該決定偶爾也會被谷歌高管否決。
蘋果的面試流程與公司自己的風格很是相符,是最沒官僚味兒的。蘋果的面試官很看重技術功底,但求職者對應聘職位和公司的熱情也很是重要。雖然成爲Mac用戶並非應聘蘋果的先決條件,但你至少要對該系統有必定了解。
在蘋果的面試流程中,招聘助理會先給你打電話瞭解一些基本狀況,接下來團隊成員會對你進行一連串的技術電話面試。
當你受邀去參加現場面試時,招聘助理會出面接待你,並介紹面試的大體流程。而後,你要接受招聘團隊成員6到8輪的面試,其中這個團隊的重要人物也會來面試你。
蘋果的面試形式是一對一或二對一。請作好在白板上寫代碼的準備,交流的時候必定要把本身的思路表達清楚。你可能會跟將來的上司共進午飯,這看似隨意,但其實也是一次面試。每一個面試官都會側重不一樣的領域,面試官之間通常不會過問彼此的面試狀況,除非他們想讓後續面試官就求職者某一方面多挖掘點內容。
當天全部面試結束後,面試官會在一塊兒商議你的表現。若是你們都認爲你表現不錯,接下來會由你應聘部門的主管或副總來面試你。能見到主管也不見得你必定會被錄用,不過總歸是個好兆頭。讓不讓你見主管的決定對你是不公開的,若是你落選了,他們只是默默送你離開公司,也不會透露你爲何落選了。
若是你得以進入主管或副總面試環節,面過你的面試官會聚到會議室正式表決錄用意見。副總一般不會列席,但若是你沒能打動他們,他們照樣能夠直接否決。招聘人員一般會在幾天後聯繫你,要是等不及的話,你也能夠主動聯繫。
必要準備事項:
若是你知道哪一個團隊會來面試你,務必先熟悉他們的產品。你喜歡該產品的哪些方面?你以爲有哪些能夠改進的地方?給出獨到看法能夠有力展現你對這份工做的激情。
獨特之處:
在蘋果的面試中,二對一的形式司空見慣,不過也不用太緊張——這跟一對一面試並沒有分別。
此外,蘋果的員工都是超級果粉,在面試中,你最好也能展示出一樣的熱情。
Facebook的在線工程難題①曾引起熱議,其實這無非又是吸引眼球的手段之一。除了解答這些難題,你還能夠經過傳統渠道申請該公司的職位,好比提交在線職位申請,或者參加校園招聘會。
① 感興趣的讀者能夠訪問頁面Facebook Engineering Puzzles:www.facebook.com/careers/puzzles.php。 ——譯者注
一旦被Facebook挑中,求職者通常至少要接受兩輪電話面試。不過,公司所在地②的求職者能夠少一輪。電話面試主要涉及技術問題,求職者一般要用Etherpad或其餘共享文檔工具寫些代碼。
② Facebook總部位於美國加利福尼亞州的門羅帕克市,地址爲黑客路1號(1 Hacker Way)。——譯者注
若是你還在上學,在學校接受面試,那你還要寫代碼。面試官會要求你在白板或白紙上寫代碼。
現場面試時,主要由其餘軟件工程師來面試你,不過,招聘經理有空的話也會參與。全部面試官都受過專業面試培訓,他們只提供意見,對你的應聘結果不做決斷。
現場面試的每一個面試官都各有側重,以確保你們不會重複提問,並全面考察求職者的能力水平。面試問題主要分爲算法、編程水平、軟件架構/設計能力等幾大塊,同時,面試官也會考察你可否適應Facebook快節奏的開發環境。
面試事後,在交流你的表現以前,面過你的面試官會先提交書面評價報告。這麼作是爲了確保各位面試官能對你的表現做出相對獨立的評價。
一旦收到全部的評價報告,面試小組和招聘經理便會商討你的面試結果。他們會先達成統一意見,而後提交給招聘委員會。
Facebook很看重「忍術」(靈活應變)——也就是使用任何語言快速構建優雅、可擴展解決方案的能力。懂PHP並不會顯得特別突出,由於Facebook也有不少後臺工做要用到C++、Python、Erlang和其餘語言。
必要準備事項:
做爲網絡科技的新貴及「當紅炸子雞」,Facebook也更青睞那些富有創業精神的開發人員。在面試過程當中,你要展示出本身熱衷創造新事物的激情。
獨特之處:
Facebook由公司統一招聘員工,而不是專門針對某個團隊。面試成功併入職後,你會先參加爲期六週的「新兵訓練營」,幫你快速適應大規模的代碼庫。資深工程師會擔任你的導師,輔導你掌握最佳實踐和必備技能,最終讓你能夠遊刃有餘地加入本身喜歡的項目組。
雅虎每每只招美國排名前20的高校畢業生,不過其餘求職者仍可經過雅虎公開招聘渠道(或者,能夠內部推薦的話就更好了)獲得面試機會。取得面試資格後,你會先接受一輪電話面試。對你進行電話面試的通常是資深員工,好比技術主管或經理。
在現場面試中,通常由來自同一團隊的六七我的來面試你,每輪面試時長45分鐘。每一個面試官都會側重不一樣的領域。好比,有的面試官可能側重於數據庫知識,而有的面試官則會關注你對計算機體系結構的理解。每輪面試的時間安排大體以下。
當天面試結束後,你可能還會跟項目經理或其餘人面談一次。內容包括產品展現、你對雅虎的疑慮以及你手上有無其餘公司的錄用通知,等等。此次面談旨在增進雙方瞭解,一般不會影響你的面試結果。
與此同時,以前的面試官會討論你的表現並嘗試做出結論。最終錄用與否由招聘經理決定,他會綜合考慮面試官對你的正面及負面評價。
若是你的表現不錯,有可能當天就會收到口頭錄用通知,但也不必定。也許他們要過幾天才通知你,箇中緣由不一,好比,你應聘的團隊可能還想再面試幾我的看看。
必要準備事項:
雅虎面試少不了系統設計問題,幾乎成了慣例,因此,還請作好相應的準備。他們想要確認你不只會寫代碼,並且還能設計軟件。要是沒有這方面的知識,也沒關係,你仍然能夠給出本身的設計思路。
獨特之處:
雅虎的電話面試通常由擁有決定權的人負責,好比招聘經理。此外,雅虎每每會在當天給出面試結果(若是你能入他們法眼),這一點很特別。在你進行最後一輪面試的同時,其餘面試官也正在討論你的表現。
本文摘自即將上市的《程序員面試金典》