最近剛走完一輪完整的 Microsoft 面試流程,從最開始海投到最終 offer,大約用了兩個月時間。這篇就趁記憶還清晰,把 OA + VO timeline、題目思路,以及微軟題庫的一些真實體感整理出來,給正在準備 Microsoft / Big Tech 面試的同學做個參考。
Timeline
- 11/21:投遞簡歷
- 12/15:收到 OA
- 1/8:收到 VO 通知
- 1/21:VO(基本每輪都是 一半 BQ + 一半 Coding)
- 1/25:Offer 到手
Microsoft OA 體驗
OA 在 HackerRank 平臺遠端完成,一共兩道 Coding。嚴格來說不屬於Hard,如果提前準備真題,還是能夠做出來的。
Coding 1:找出差值模式唯一的字串
題目給定一個由等長大寫字母字串組成的列表,需要對每個字串計算“相鄰字元在字母表中的差值序列”(例如 B→A = -1,C→A = -2)。除了一個字串之外,其餘字串的差值模式完全一致,要求找出並返回那個模式唯一不同的字串。
這題本質是典型的模式歸類問題。直接把每個字串對映為差分陣列(或轉成字串作為 key),再用雜湊表統計出現次數。最後找到只出現一次的 key,並返回對應原字串即可。時間複雜度接近 O(n),屬於非常標準的 hashmap 應用題。如果平時刷題覆蓋過“字串特徵對映”這一類模型,基本可以快速 AC。
Coding 2:標記樹的直徑端點(Special Nodes)
題目給定一棵樹,定義:直徑 = 樹中最長路徑的邊數,如果某個節點是任意一條直徑路徑的端點,則該節點為 special。要求返回一個長度為 tree_nodes 的二進位制陣列:第 i 位為 1 表示該節點是 special,否則為 0。
標準解法可以用三次 BFS / DFS:
- 從任意節點出發,找到最遠點 A
- 從 A 再出發,找到最遠點 B → A-B 的距離就是整棵樹的直徑
最後基於距離資訊,把所有可能成為直徑端點的節點標記出來即可。如果刷過過這種題型,這題的識別速度會非常快;但如果沒刷到,現場推導可能會花不少時間。
如何高效準備大廠 OA?
如果你最近也收到了微軟或者其他大廠的 OA,建議儘量提前熟悉這些高頻套路。我們這邊整理過不少真實題庫和麵試趨勢,需要具體題目或準備方向的也可以直接聯絡瞭解。
需要 OA 助攻 / Coding 支援 的同學也可以直接諮詢,適用於 HackerRank、Codesignal 等主流平臺,確保測試用例全部透過;沒有把握的情況下再上場,風險會小很多。