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