Dropbox OA 面經 | 真題還原 + 解題策略全解析 | 輕鬆穩拿高分不再是夢想

1,155Views

前段時間做了 Dropbox OA,大概是 75 分鐘 3 道題,平臺用的是 HackerRank。 題目風格比較貼近實際工作場景,不是純演算法競賽那種,代碼要考慮邊界情況和可讀性
我這次是全程有 Programhelp 輔助,即時配合節奏很穩,不會出現那種寫到一半卡住的情況。 整體下來,時間上挺寬裕,最後還多幾分鐘用來跑額外測試

Dropbox OA 面經 | 真題還原 + 解題策略全解析 | 輕鬆穩拿高分不再是夢想
image

考試流程

開始前我提前 10 分鐘進平台測試環境。 Programhelp 那邊也準備好了,我們約好由我先掃題,他們在後台同步看題目。 這樣我一讀完題就能直接跟他們確認思路
做題順序是先易後難,第一題很快就過了,第二題用個數學公式直接搞定,最後一題是 BFS+狀態記錄,寫的時候要小心別漏掉狀態去重。 每做完一題就跑平臺自帶的隱藏測試,確保一次性 AC

真題回顧

Problem 1: Compress String
Given a string s, compress it by replacing consecutive identical characters with the character followed by its frequency. If compression doesn’t shortenthe string, return the original.

Example:

Input: "aaabbc"
Output: "a3b2c1"

Input: "abc"
Output: "abc"

Problem 2: Minimum Moves to Equal Array
You can increment n - 1 elements of an integer array by 1 in one move. Return the minimum number of moves to make all elements equal.

Example:

Input: [1,2,3]
Output: 3

Problem 3: Shortest Path in a Grid with Obstacles
Given a grid with 0 (empty) and 1 (obstacle), find the shortest path from top-left to bottom-right. You may remove at most k obstacles. Return -1 if impossible.

Example:

Input: [[0,0,0],[1,1,0],[0,0,0]], k = 1
Output: 4

解題策略

  • 第一題:直接遍曆字串,用一個計數器統計連續字元數量。 最後判斷壓縮后的長度是不是更短,不是就返回原字串
  • 第二題:其實就是數學題,最終結果是 sum(nums) - min(nums) * len(nums)
  • 第三題:用 BFS 搜索,把當前位置 + 已移除障礙數當成狀態,放到佇列里。 這樣能避免走回頭路,也能保證時間複雜度不爆炸

常見坑點

  • 第一題很多人會忘記長度判斷,直接返回壓縮版會導致輸出不符合題意
  • 第二題如果陣列有負數,求最小值時要注意
  • 第三題 BFS 如果狀態沒記錄「移除了多少障礙」,會導致重複訪問,性能直接炸掉

FAQ

Q: OA 難度怎麼樣?
A: 比純演算法題友好一些,但最後一題還是需要比較熟練的搜索技巧
Q: 需要提前準備哪些知識?
A: 基礎字串處理、陣列數學運算、BFS/DFS 搜索、狀態壓縮
Q: 時間夠用嗎?
A: 按我這個節奏是夠的,關鍵是先拿下簡單題

讓下一場 OA 成為穩贏之局

這次 Dropbox OA,我不僅全程無卡頓地完成了所有題目,還在最後 5 分鐘多做了幾組測試,確保邊界條件無一遺漏Programhelp 的支援,不是單純代寫,而是用最快的思路、最穩的節奏、最貼合你個人風格的方式,幫你在緊張的線上考試中發揮到極致

如果你的 OA 或技術面試就在眼前,與其獨自硬扛,不如讓一個經驗豐富的夥伴在背後為你保駕護航

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