記一次個人Google電話面試經歷

去年一高中老同窗從Google離職回Duke去讀博,她問我有興趣去面Google,我把簡歷發給她。面試

10月份,我就收到一封來自谷歌招聘人員的電子郵件,問我是否有興趣電話聊聊。咱們約定在次日電話。算法

她先給我介紹Google,再詢問個人工做經驗、社區活動,還有一些技術問題,目的是爲了評估個人計算機科學知識。我當時並無比較好的回答她一些技術問題,而後她告訴我,我須要爲真正的技術面試作好充分準備。數據結構

幸運的是,她幫我安排了技術面試。爲了有更多的時間複習,我選擇在把技術面試安排在一個月後。她還爲我提供了一些面試技巧和複習連接,我能夠用它們來爲面試作準備。優化

接下來的整個月,我都在努力複習,從基本的排序算法到動態規劃。我從YouTube的公開排序算法視頻開始複習,還讀了 《Cracking the Coding Interview》 幾章,並試着回答書中的問題,確保每次都是把答案手寫出來,而不是用電腦打出來。編碼

我還複習了數據結構,特別是樹、圖和哈希,瞭解廣度優先搜索和深度優先搜索二者的區別並編寫代碼,這是很是有必要的有價值的。掌握用動態規劃解決問題對面試頗有幫助,可是理解動態規劃是至關困難的。設計

技術電話面試持續了大概45分鐘,從一個系統設計問題開始。以後,面試官會提供準備好的技術問題,須要使用谷歌文檔編碼。這就是爲何在紙上中練習寫代碼是頗有必要的,由於在實際的面試中,沒有編譯器給你使。視頻

面試題是關於馬在棋盤上的問題。我不會在文中討論更多關於這個問題,但在本質上,它能夠經過簡單的廣度優先搜索來解決。不幸的是,我在實現過程當中犯了嚴重的錯誤。首先,我試圖過早地優化它,結果致使了一個錯誤的實現;其次,我在BFS實現中錯誤地交換了for循環和while循環。有趣的是,當審查代碼時,實現結果確是深度優先搜索。面試結束了,我不知道結果如何。排序

過了幾天後,招聘人員來電話給我反饋結果了。她提到個人面試獲得的反饋褒貶不一,針對此次面試她提了有效的意見,我也認同她的觀點。她提到會再給我來一次技術電話面試,以獲得更具體的反饋。我把複試定在兩週後,以有更充分的準備。遞歸

可是第二次技術面試讓我更失望,我認爲這個問題很棘手,我設計實現成一個動態規劃的解決方案,然而面試官告訴我這個問題能夠經過基本的遞歸來解決,而後我就懵了。最後,我感受到面試失敗了。面試技巧

幾周後,招聘人員又來了反饋電話,結果固然是跟我想的同樣,她說我之後能夠從新申請。好吧,看看有機會也許下次再來吧。  

相關文章
相關標籤/搜索