Google前美女面試官談程式設計師面試的技巧和建議

人力資源發表於2010-10-20

蓋爾·拉克曼(Gayle Laakmann),Google前員工,目前在賓夕法尼亞大學沃頓商學院攻讀MBA。她也是在賓州大學獲得電腦科學博士學位。她現在是CareerCup和Seattle Anti-Freeze兩家公司的創始人兼CEO。她也是《Cracking the Coding Interview》一書的作者。

您好,蓋爾。能先自我簡單介紹一下呢?

您好。我先是在微軟和蘋果實習,後來在Google做了三年工程師。在Google,我也是招聘委員會的成員,面試過120多位本土和國際工程師,我參與了招聘會並審查過數百份簡歷。我很喜歡在Google工作,但我也想嘗試創業。

所以,有了這些難得的經驗和見識後,我在2005年成立了CareerCup。我們通過電子書和麵試論壇來幫助人們準備技術類面試。

您能否簡單介紹一下像微軟、Google和亞馬遜這類公司的面試過程?面試有幾輪?哪些地方需要重點關注?
首先是有一位工程師通過電話面試你;(通過後)再參加有4-6名求職者的群面。至於需要關注的地方,大公司追求優秀的技術能力高於一切。你能否寫出合格、整潔和有條理的程式碼?能否解決有挑戰性的問題?

那學生/求職者該怎麼掌握這些呢?

一定要實踐!熟能生巧雖是老生常談,但它的確有用。在紙上練習程式設計,然後照原樣輸入到電腦上。你會發現錯誤比你想象的要多的多!

你看到什麼樣的求職者才會說“哇!這就是我要找的人。”

我希望求職者是:

  • 1. 聰明的
  • 2. 能寫合格的程式碼
  • 3. 關注編寫整潔的程式碼

最後一條是最難的。作為一個面試官,我選人時主要看:當求職者拿到一個問題時,他們是僅在紙上寫程式碼麼?或者他們會定義相關的資料結構麼?

求職者並不知道面試中所有問題的答案吧?他們怎麼回答那些沒有提示的問題呢?

一位優秀的面試官,會問那些難度非常高以致於你甚至都不會知道答案的問題。回答這類問題的最好辦法是,先簡化問題,做假設(比如:假設陣列中只有整數);然後,解決簡化後的問題;最後,歸納答案。

此外,面試官想知道你的想法,所以盡力說出你的方法,並解釋你的操作過程。這將給他們留下對你技術和技能的良好印象。

在求職過程中,您認為GPA有什麼樣的作用?或者在面試中,純粹看GPA麼?

這個真的取決於公司。一般來說,想要得到初步面試機會,除了諸如經驗和興趣等其他東西之外,GPA也重要。

在他們面試你後,並且正決定是否用你時,GPA不應是阻礙。(否則,他們就沒必要面試你了。)

我接觸過一些非常聰明的人,但由於各種原因他們的GPA不好,我相信您也應該遇到過吧。您對他們有什麼建議呢?你認為什麼樣的技能才能打動頂級公司?

這些公司真的不關心你的分數。他們看重的是:你是否聰明,你是否有強硬的技術和你是否能努力工作。

你要用其他途徑來證明自己。比如:引用你做過的專案,或在開源專案中解決的問題。列舉說明你在某一特別困難課程中的分數或班級排名。

在簡歷中列舉你的獎項和參與的專案,保持更簡歷更新。如果你沒有專案經驗,竭盡全力去獲取經驗!這才是那些公司最最看重的東西。如何增加專案經驗,請參考伯樂線上的這篇《程式設計師:增加程式設計經驗的3種途徑》。

在求職者去應聘Google這類公司前,請您給他們分享一些建議或注意事項。

練習諸如我們網站上的問題;先在紙上練習演算法,然後按原樣再輸入到電腦中。

還有一件事要注意,關於你簡歷上的每個工作或專案,你必須能解釋其中最艱難的挑戰,你最喜歡它的哪部分?你最不喜歡哪部分?你學到了什麼?

感謝蓋爾接受採訪。

編者推薦

除了蓋爾·拉克曼有談論程式設計師如何面試之外,Google前工程經理王忻曾在2006年6月份也寫過一篇文章《如何準備軟體工程師的面試 》。

 

相關文章