最近剛結束 Google OA ,節奏很快,但難度不大。谷歌在筆試裡其實不太喜歡出特別偏的題,反而更傾向於經典模型題的變形版本——如果平時刷題體系比較完整,很容易產生“似曾相識”的感覺。這場 OA 一共兩道題,我大概 10 分鐘左右就全部 AC。題目本身不算刁鑽,真正拉開差距的是能不能迅速識別題型,然後用最穩定的思路寫出一次透過的程式碼。下面按流程給大家覆盤一下。

時間線參考
收到 OA → 1-3 天內完成(通常視窗不會太長)
考試時長:約 60–90 分鐘
題量:2 題
整體難度:Easy – Medium 偏下
如果平時有系統刷過字首陣列、貪心、陣列建模這類基礎模型,這套題基本屬於“送分局”。
真題分享
第一題|分割排序陣列
要找到所有分割點,使得左半部分排序後的最大值不超過右半部分排序後的最小值。預處理出字首最大值陣列和字尾最小值陣列,然後遍歷每個分割位置,檢查字首最大值是否小於等於字尾最小值,滿足條件就計數。這樣就能在O(N)時間內解決問題。
第二題|最接近零的陣列和
先計算陣列所有元素的總和,然後列舉將每個元素取反(即乘以-1)對總和的影響。對於每個元素取反,新的總和為原總和減去兩倍該元素值(因為相當於從總和中去掉該元素再加上它的相反數)。遍歷所有元素,找到能使新總和絕對值最小的那個結果。
更多幫助
對於很多目標大廠的同學來說,OA 最大的不確定性往往來自現場狀態——平時會做,但一到正式筆試就容易卡思路、時間失控,甚至因為一個小 bug 影響整場發揮。
如果希望在關鍵筆試中更加穩妥,現在不少同學會提前準備 OA 無痕助攻 方案:在不打亂考試節奏的情況下,透過實時思路提示與關鍵節點提醒,幫助快速校正解題方向,避免長時間卡題。整個過程更像是一種“場外導航”,讓你在高壓環境下依然能保持清晰思路。