Google SWE Intern 的面試就2輪面試,主要考察算法設計部分,重點考察數據結構和算法基礎,包括動態規劃、圖算法、樹操作、排序搜索等經典問題。常見題目有最大子數組和、LRU緩存實現、二叉樹LCA、序列化反序列化等,需要熟練掌握時間空間複雜度分析。 Google 面試用自家的text editor,沒用Google Doc;建議mock的同學用text editor 練習。
Google SWE Intern VO 第一輪
題目:Google Company有一堆會議室預訂記錄請求,每條record有start_time和end_time。返回最少需要多少room。
澄清問題
- 時間區間是start開始還是end開始?
- 若為 半開區間
[start, end):end == next.start可複用同一間房。 - 若為 閉區間
[start, end]:end == next.start視為衝突,需要新房間。(面試時需要先問清,若未明確,通常預設半開區間。)
- 若為 半開區間
- 輸入是否可能為空?是否存在
start == end的會議? - 時間是否有上界/是否為整數?
- 輸入是否已按
start_time升序?
思路
按開始時間處理會議,用一個小根堆存“正在佔用的房間的最早結束時間”,每來一個新會議:
- 若堆頂結束時間
<=新會議開始時間,說明有房間空出來了——彈出並複用; - 否則需要新開一間房——直接把新會議的結束時間壓入堆。
用一個變數記錄堆曾達到的最大大小,即所需房間數。
複雜度:時間複雜度 O(Nlog N),空間複雜度:O(N)。
Google SWE Intern VO 第二輪
這輪面試包含BQ環節和兩道coding題。面試官是位美國小哥,人很nice,簡單寒暄後直接進入正題,整體節奏挺舒服的,下面簡單分享一下。
BQ
- 講一個你從專案失敗中學到重要經驗的例子?
- 如果你和同事在技術方案上意見不合,你會怎麼處理?
- 描述一次你主動幫助團隊成員提升技術能力的經歷?
Coding
題目:可變範圍求和 這題要求設計一個資料結構,既能查詢陣列某個區間的和,又能支援更新某個元素的值。
思路:用線段樹來解決最合適,把陣列構建成二叉樹結構,每個節點儲存子節點的和,這樣查詢和更新都能在O(log n)時間內完成。
Follow up:
- 除了線段樹,你還能想到其他方法嗎?請比較一下它們的優劣。
- 如果這個陣列非常大,並且需要頻繁更新,你的線段樹實現在記憶體和效能上可能會有什麼瓶頸?如何最佳化?
FAQ — Google SWE Intern 面試常見問題解答
1. Google SWE Intern 面試一共幾輪?
Google SWE Intern 的技術面試一般有兩輪技術面試(每輪約 45 分鐘),主要考察演算法和資料結構。大多數候選人是兩輪即可完成。若某一輪反饋不明確 有時會再加一個 tiebreaker(第三輪) 進行補充評估。
2. 面試只考演算法嗎?會有行為/專案問題嗎?
根據不同實習候選人的面試回憶:
- 絕大部分 SWE Intern 面試是純技術演算法面,不一定問行為問題。
- 有些面試官可能會在第二輪短暫問一兩個簡單專案/溝通相關的問題,但不會像全職崗位那樣深挖行為面。
3. 面試中典型題目難度如何?會難過 LeetCode Hard 嗎?
不完全固定,候選人反饋差異較大:
有人說題目偏 LeetCode medium 到 medium-hard 級別(如圖/樹/DP 等)
也有人遇到更難的“跟 Hard 接近”的問題。
總的來說,Google 更看重你的思路過程、提前澄清問題條件、時間空間複雜度分析。
4. Coding 面試具體流程是什麼?
一般順序如下:
- 面試官簡短介紹
- 進入 Coding 題目(中等難度 DSA 問題)
- 你應先問清邊界條件和輸入輸出假設
- 講解你的思路、複雜度分析
- 編寫完整程式碼
- 至少還有一個 follow-up 或改進/最佳化問題
- 結束前可提問(關於團隊/實習專案等)
5. 技術考察主要集中在哪些知識點?
根據官方描述和麵經整理,核心如下:
演算法與資料結構:
- Tree / Graph / Linked List / Array
- Heap / Two pointers / Sliding window
- Recursion / DP / Sorting/Search
- Hash table/ Set
- Complexity 分析
(這些內容是 SWE Intern 面試重點)
6. 我需要準備系統設計面試嗎?
對於 SWE Intern 職位來說,系統設計一般不是重點,主要集中在演算法和程式碼實現。但對於更高年級或特定崗位也可能被問到簡單設計思路(如 API 設計)。
7. 我是否需要在螢幕共享 Google Doc 上編碼?
與全職 SWE interview 類似,Google 面試通常共享 Google 文件進行程式碼交流,但也有實習候選人反饋使用的是 text editor(純文字環境)。提前習慣無 IDE 輔助寫程式碼會有幫助。
8. 如果沒在兩輪透過,是否還有機會?
是的:
- 如果技術反饋一好一差,有時會再安排 第三輪面試(tiebreaker)
- Google 會綜合所有面試反饋來決定是否 offer 或 project match
這意味著單獨某一題答得不好不會立即判定你不合格。
9. 我面試完多久會收到結果?
Google 的整體流程(從申請到 Offer decisions)通常要幾周時間。具體時間因團隊和流程進度不同而異。中間可能包括後臺稽覈、project match 階段等。
10. 有沒有準備建議?
- 多做資料結構 & 演算法題練習(重點連結串列/樹/圖/DP)
- 練習清晰敘述思路、問 clarifying questions
- mock interview 時用無 IDE 環境練習
- 面試前瞭解基礎行為問題(“Tell me about a time…”)
準備過程講邏輯和溝通的練習同樣重要。
整場下來,順利通過! 在Amazon、Meta、微軟、Google等等北美大廠OA和VO都很熟悉,都能順利通過。如果你也需要Google面試助攻、面試輔助、OA代寫等服務,請與我們聯繫。