IBM 的 US General Software 崗位走 HackerRank 線上測評,題目工程味濃、難度中等,更看程式碼正確性和邊界處理,而不是炫技。這篇按 oavoservice 學員的 IBM OA 面經整理,把流程和三類高頻編碼題講清楚,給求職刷題、準備 IBM 線上測評一份實戰參考。
一、IBM OA 流程
| 階段 | 形式 | 時長 | 重點 |
|---|---|---|---|
| 線上測評 OA | HackerRank | 60–90 min | 2–3 道編碼題,部分含選擇題 |
| 技術面試 | 編碼 + 專案 | 45–60 min | 中等演算法 + 履歷深挖 |
| 經理 / 行為輪 | 行為題 | 30–45 min | 團隊協作、動機 |
IBM OA 難度中等,重點考通過測試用例的正確性。題目常是字串、矩陣、圖這類基礎但需要細心處理邊界的題型。
二、高頻題一:字串規整(計數 + 重建)
題目
給一個字串,統計每個字元出現次數,按出現次數降序、次數相同按字典序,重排輸出。
思路
雜湊計數後排序。Python 裡用 Counter 加 sorted 的複合 key 一步到位。
from collections import Counter
def reorder_by_frequency(s):
counts = Counter(s)
# 先按次數降序,次數相同按字元升序
chars = sorted(counts, key=lambda c: (-counts[c], c))
return "".join(c * counts[c] for c in chars)
時間複雜度:O(n + k log k),k 為不同字元數。空間複雜度:O(k)。考點是複合排序 key 和穩定輸出。
三、高頻題二:矩陣區域遍歷(DFS / 計數)
題目
給一個 0/1 矩陣,1 表示陸地,求由相鄰 1(上下左右)組成的最大連通區域面積(經典「島嶼最大面積」變體)。
思路
對每個未訪問的 1 做 DFS 染色,統計該連通塊大小,取最大值。
def max_area(grid):
if not grid:
return 0
m, n = len(grid), len(grid[0])
def dfs(r, c):
if r < 0 or r >= m or c < 0 or c >= n or grid[r][c] != 1:
return 0
grid[r][c] = 0 # 標記已訪問
return 1 + dfs(r+1, c) + dfs(r-1, c) + dfs(r, c+1) + dfs(r, c-1)
best = 0
for i in range(m):
for j in range(n):
if grid[i][j] == 1:
best = max(best, dfs(i, j))
return best
時間複雜度:O(m·n),每格只訪問一次。空間複雜度:O(m·n) 遞迴堆疊最壞情況。注意越界和已訪問標記,避免重複計數。
四、高頻題三:帳戶 / 網路合併(並查集)
題目
給若干 (a, b) 表示 a 和 b 直接連通,求最終有多少個連通分量。IBM 這題常包裝成「伺服器叢集」「帳戶合併」場景。
思路
並查集(Union-Find)帶路徑壓縮,合併所有邊後統計不同根的數量。
def count_components(n, edges):
parent = list(range(n))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]] # 路徑壓縮
x = parent[x]
return x
for a, b in edges:
ra, rb = find(a), find(b)
if ra != rb:
parent[ra] = rb
return len({find(i) for i in range(n)})
時間複雜度:近似 O((n + e)·α(n)),α 為反阿克曼函數,實際接近線性。空間複雜度:O(n)。考點是並查集模板和連通分量計數。
五、備考建議
- 基礎題型:字串、矩陣 DFS/BFS、並查集是 IBM OA 三大高頻,先把模板寫熟。
- 邊界優先:IBM 評分重測試用例通過率,空輸入、單元素、越界都要覆蓋。
- 節奏:60–90 分鐘 2–3 題,留時間過樣例和邊界。
FAQ
Q1:IBM OA 用什麼平台、幾道題?
HackerRank,60–90 分鐘 2–3 道編碼題,部分含選擇題。難度中等,重點考程式碼正確性和邊界處理,常見字串、矩陣、圖論題型。
Q2:IBM OA 難嗎?
整體中等,不太考很難的演算法,但很看細節——邊界、空輸入、測試用例覆蓋。把字串 / 矩陣 / 並查集模板寫熟,通過率會很高。
Q3:IBM 面試看重什麼?
OA 之後是技術面 + 行為輪。技術面中等演算法加履歷深挖,行為輪看團隊協作和動機。整體節奏比頂級大廠溫和。
Q4:怎麼高效準備 IBM OA?
按字串 / 矩陣 DFS / 並查集分塊限時練,重點打磨邊界覆蓋。如需限時 mock 與現場講思路陪練,可聯繫 oavoservice 定製 IBM 專項。
正在準備 IBM OA?
IBM US General Software 走 HackerRank OA,重正確性和邊界。oavoservice 提供 IBM 全流程陪練:HackerRank 高頻題限時模擬,字串 / 矩陣 / 並查集模板專項,邊界與測試用例覆蓋打磨,技術面與行為輪準備。教練含大廠背景資深工程師,幫你把程式碼和表達同時練穩。
立即添加微信 Coding0201,獲取 IBM 真題與陪練。
聯繫方式
- 微信:Coding0201
- Email:[email protected]
- Telegram:@OAVOProxy