Google OA 面經 | 獨家真題分享還原 + 解題思路 + 提分經驗

1,129Views

前段時間收到了 Google 的 OA 邀請,時間限制是 90 分鐘,三道題。 說實話,OA 不算是難到天花板的那種,但題目覆蓋面挺廣,既要考慮演算法,也要注意實現細節。 如果你沒有提前做過類似題型,時間壓力會很大。

這篇文章來還原比較真實的體驗,也分享一些我個人的解題策略和遇到的坑點。

Google OA 面經 | 獨家真題分享還原 + 解題思路 + 提分經驗

OA 概覽

  • 公司:Google
  • 時長:90 分鐘
  • 題量:3 道 Coding 题
  • 難度感受:中等偏上,數據結構與字串處理題為主
  • 平臺:HackerRank
  • 程式設計語言:Python(支持多语言)
  • 加分點:寫出乾淨、可讀性高的代碼,別忘了邊界測試

Coding 真題

1. Word Pattern Matcher

Given a pattern string consisting of lowercase letters and a sentence of words, determine if the sentence follows the same pattern. Each letter in thepattern corresponds to a unique word, and each word maps to exactly one letter.

Example:

Input: pattern = "abba", s = "dog cat cat dog"
Output: True

Input: pattern = "abba", s = "dog cat cat fish"
Output: False

Constraints:

  • 1 <= pattern.length <= 300
  • 1 <= s.length <= 3000

2. Top K Frequent Listings

Given an array of Google Search query IDs, return the top k most frequent IDs. If two IDs have the same frequency, return the smaller ID first.

Example:

Input: ids = [1,1,2,2,2,3], k = 2
Output: [2, 1]

Constraints:

  • 1 <= ids.length <= 10^5
  • 1 <= id <= 10^9

3. Merge Booking Intervals

Given a list of meeting time intervals where intervals[i] = [start, end], merge all overlapping intervals and return the result in sorted order.

Example:

Input: [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]

Constraints:

  • 1 <= intervals.length <= 10^4
  • 0 <= start < end <= 10^9

我的解題策略

  • 先做最穩的題:我先做了第一題,因為哈希映射模式匹配是常見套路,很快能寫出來。
  • 第二題用庫函數節省時間:Python 的 collections.Counter + heapq 很快搞定,時間複雜度也穩在 O(n log k)。
  • 第三題排序合併:先按 start 排序,再線性掃描合併,注意邊界條件。

常見坑點

  1. 忘記處理空輸入(尤其是字串分割時)。
  2. 第二題的 tie-break(相同頻率時按 ID 升序)容易漏掉。
  3. 合併區間題,intervals 沒有先排序會出錯。
  4. HackerRank 的 Python 預設是 Python3,注意 input().split() 读取。

FAQ

Q: 如果中途卡住怎麼辦?
A: 先跳到下一題,不要硬耗時間,留最後 5 分鐘再回來嘗試補。

Q: 需要寫很複雜的優化嗎?
A: Google OA 更看重正確性和可讀性,除非題目明確要求,否則 O(n log n) 的解法已經足夠。

Q: 邊界條件重要嗎?
A: 非常重要,我最後檢查時發現第二題在 k > distinct_ids 時沒 return 全部 ID,幸好及時修正。

從容應戰,贏下下一場 OA

這次 Google OA,我不僅提前 10 分鐘完成了全部題目,還用剩餘時間做了更多測試,確保邊界情況都覆蓋到。Programhelp 的協助,不是簡單代寫,而是幫你用最快的方式鎖定高分,讓你在考試中保持自信和穩定節奏。 與其獨自硬撐,不如讓經驗豐富的夥伴在背後為你保駕護航。

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END