3個月內準備Google面試
作者 Aaron Cao · 更新於
三個月是夠用的,前提是把時間拆開安排:第一個月打基礎,並攻克你最想迴避的那一輪;第二個月練習限時解題並大聲說出思路;第三個月進行完整的模擬面試流程,並打磨你的領導力故事。儘早預約模擬面試,而不是留到最後才做。
依整個面試流程規劃,而不是依知識點清單規劃
大多數「三個月計畫」其實只是一份貼上日期的演算法知識點清單,這種計畫只能幫你準備好一輪面試。Google的流程是:先與招募人員通話,再進行一輪針對職位的初篩,接著是一系列依公開評估指標打分的面試:一般認知能力、職位相關知識、領導力,以及Google所說的「Googleyness」(谷歌文化契合度)。書面回饋最後會交給一個從沒見過你的招募委員會。
這帶來兩個影響時程安排的結果。第一,程式設計輪只是眾多輸入之一,如果把十二週都花在這一輪上,其餘部分就完全沒有練到。第二,由於最後留下的是書面紀錄而不是錄影,任何你沒有大聲說出來的想法,委員會都看不到。這兩點都說明,時間應該花在「表達」上,而不只是花在「知識」上。
在第一週開始之前,先把招募人員會讀到的履歷打磨好,因為它決定了你會被以哪個職等考慮。免費的履歷產生器可以幫你完成這部分。每一輪面試具體考核什麼,見面試類型一文。
十二週計畫:逐月拆解
你手上有十二週時間,還有十幾種互相矛盾的準備計畫。本節就來把這十二週分配好。思路很簡單:第一個月打基礎,第二個月在時間壓力下練習應用,第三個月演練完整的面試流程。
- 第一個月,基礎知識加一個弱項輪次:陣列、字串、雜湊、樹、圖,以及複雜度分析,節奏要能讓你重新推導而不是死背。同時,挑出你最不想面對的一輪開始準備,通常是行為面試。寫出六個來自真實專案的故事,每個都要有你主導做出的決定,以及能講清楚的結果。
- 第二個月,限時且開口講:轉到在共用編輯器裡限時解題,並把每一題都大聲講出來,包括你講錯的部分。如果職等有要求,再加入系統設計。這個月的目標不是刷更多題,而是能講清楚你選的做法,也能講清楚你捨棄的做法。
- 第三個月,完整流程:進行端到端的模擬面試,附帶追問環節,逐一檢討,並重複練習分數最差的那一輪。停止加入新知識點。臨時補進來的材料,會擠掉真正能提升分數的演練時間。
獨自完成這些完整流程演練,包含追問和事後檢討,正是模擬面試頁面存在的意義。
三個月計畫通常是怎麼失敗的
失敗的原因很少是漏掉了某個知識點,而是整個計畫全是輸入、沒有演練,而且在第一次模擬面試之前,看起來都很有成效。
設想一位資料工程師,距離現場面試還有十二週,他按計畫刷完了一大堆題目,卻把第一次模擬面試排在第十一週。到時候解法能準時給出,但講解跟不上,因為十週的悶頭練習練的是任務裡錯的那一半。如果把第一次模擬面試提前到第三週,本來還有時間修正這個問題。
另一個常見的失敗是時程漂移。招募人員給的日期會前後變動,所以計畫應該寫成三個可以壓縮或拉長的階段,而不是寫死的每週安排。如果面試提前了一個月,第二個月可以壓縮成兩週,第三個月要保持完整。為了保住知識點清單而砍掉模擬面試流程,是本末倒置。
AI面試助手在哪些地方有用,在哪些地方沒用
在這十二週裡,助手真正誠實的用法是練習。附帶追問的模擬面試、對你回答內容的檢討,以及針對你最想迴避的那一輪反覆練習,這些才是真正能改變委員會書面紀錄的工作,而且全程都不涉及任何Google那邊的人參與通話。
對於正式的真人面試,SubcueAI提供適用於macOS和Windows的桌面應用程式,透過一個浮動的本機疊加視窗擷取系統音訊和你的麥克風;此外還有一款瀏覽器擴充功能,其側邊欄只擷取會議分頁的音訊,且僅限面試官這一側。沒有任何會議機器人加入通話,也不會向會議頁面注入任何內容。具體設定步驟見教學頁面。
在圍繞這些能力做規劃之前,有必要把使用邊界說清楚。有監考的測驗、錄影的輪次、共享畫面,或是公司管控的電腦,都會讓任何助手無法使用,而Google的程式設計輪通常就是在共用編輯器裡進行的。因此計畫應該建立在「靠演練拿分」上,而不是靠一個在面試現場可能根本用不了的工具。