IBM OA 面經|26NG SDE 兩道一次過

今年 IBM OA 出現頻率其實不低,很多投 NG SDE 的同學都陸續收到了邀請。整體風格還是比較典型的 Hackerrank 模式,兩道 coding,時間充裕,但想一次 AC 也需要一定熟練度。如果平時演算法基礎比較紮實,這套題屬於“見過類似模型就不會慌”的型別。我這次也是比較順利地一次過,下面把兩道題的核心思路整理出來,給後面要做 OA 的同學一個參考。

OA 整體體驗

流程非常直接,沒有花裡胡哨的環節,就是標準線上程式設計測試。題目難度大概在 easy–medium 之間,但都有明顯的模型指向,本質是在考察你是否具備快速識別題型的能力。建議不要因為公司名氣不像 FAANG 就掉以輕心,很多人反而正是在這種“看起來不難”的 OA 上翻車。常見的問題並不是演算法不會,而是基本功不夠穩定,比如寫程式碼時容易出小 bug、邊界條件考慮不完整,或者做題節奏沒控制好,前面花太久導致後面時間被壓縮。

Q1:日誌狀態是否合法判斷

根據服務ID(sid)分組日誌,檢查每組內日誌狀態變化序列是否嚴格遵守“DOWN→UP→DOWN→UP…”交替規則。 按sid分組後,每組內按時間戳排序。檢查序列是否符合:第一條必須為DOWN,相鄰兩條必須狀態不同(交替變化)。若不符合,則累加非法日誌組數。

IBM OA-Q1:日志状态是否合法判断

Q2:最短子陣列 + k 個遞增元素

在排列中尋找一個較短子陣列,使得該子陣列中能選出k個遞增的數。 記錄每個數值在原排列中的位置。使用滑動視窗維護一段位置區間,保證視窗內不同數值的個數≥k。當視窗滿足條件時更新較短長度,滑動視窗尋找最優解。

IBM OA -Q2:最短子数组 + k 个递增元素

面試準備建議

如果你最近也收到了 IBM 或其他大廠的 OA,建議儘量提前熟悉高頻題型和常見模型。很多題目本身不算特別難,但如果沒有系統準備,臨場還是很容易被節奏打亂。平時多看看真實題目和解法思路,會更有助於建立做題手感,也能在正式測試時更從容一些,把透過機率儘可能提高。需要 OA無痕助攻 也可直接聯絡我們,已經幫助數百名學員拿下心儀offer。

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