Uber OA 面經分享|三道高頻題快速覆盤與解題思路解析

最近剛透過 Uber OA,這一輪題目整體難度不算特別高,但非常考驗建模能力和思路清晰度。很多題看起來不復雜,一旦方向錯了就會非常耗時,所以趁熱把題目和核心解法記錄下來。

Uber OA 時間線參考

01/22 申請

01/29 收到 OA

01/29 完成 OA

02/05 Immigration Assessment

02/08 約面 (Uber的流程推得很快,HR太給力了。)

Uber OA 真題回顧

第一題|預算內最多買幾個商品

題意
有一個已經排好序的商品價格陣列,從左到右價格不遞減。Alex 從給定位置 pos 開始往右走,每個攤位最多買一個,在不超過預算 amount 的前提下,問最多能買多少個商品。

思路
價格已經排好序,最優策略一定是先買便宜的。
直接從 pos 開始順序累加價格,能買就買,直到總價超過預算停下即可。
實現可以線性掃一遍;想最佳化的話,先做字首和,再用二分找到最遠能到的位置。

第二題|支援更新的固定和配對統計

題意
給定兩個陣列 primary 和 secondary。
操作分為兩類:一類是更新 secondary 中某個位置的值,另一類是查詢滿足
primary[i] + secondary[j] = targetSum 的配對數量。

思路
重點是避免每次查詢都做雙重迴圈。
用雜湊表維護 secondary 中各個值出現的次數,更新時同步修改計數。
查詢時遍歷 primary,對每個值 x,直接在雜湊表裡查 targetSum – x 有多少個,累加就是答案。
更新快,查詢穩。

第三題|電梯 + 樓梯的最優時間選擇

題意
可以選擇先坐電梯到某一層 i,再從 i 走樓梯到終點。
電梯階段會消耗時間並增加能量,樓梯階段會消耗能量且每層耗時與當前能量有關,過程中能量不能為負。
目標是讓總耗時最小。

思路
這是一個典型的列舉分界點問題。
列舉電梯停在第 i 層的情況,先算電梯階段的時間和剩餘能量,再模擬從 i 到終點走樓梯的耗時。
只要過程中能量始終不小於 0,就是合法方案,記錄對應時間,最後取最優即可。
整體一輪列舉就能做完。

瞭解更多

如果你對 OA 的透過率不太有把握,或者擔心在關鍵題上卡住,其實提前藉助成熟的經驗體系會更穩一些。我們這邊長期整理各家大廠的 OA 題型和常見套路,已經實實在在幫了數百名同學順利推進流程、上岸大廠。需要高頻題整理、思路輔助或想提升 OA 透過率的同學,歡迎隨時 聯絡我們 瞭解更多。

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