TikTok / ByteDance 北美的 OA 在 2026 仍然延续「110 分钟 7 题」的高密度节奏,每题平均 15 分钟,没有挤压时间也没有大量空余。和 Meta CodeSignal 的 4 题不同,TikTok 的 7 题分布是「3 LC Easy + 3 LC Medium + 1 偏 Hard」。本文基于一亩三分地最近 90 天发帖,按真题密度梳理 7 类题型 + 110 分钟节奏控制 + 考前 5 天冲刺。
TikTok OA 概览(2026)
| 维度 | 详情 |
|---|---|
| 平台 | 自研 / HackerRank(混发) |
| 时长 | 110 分钟(少数岗位 90 分钟) |
| 题量 | 7 题(少数岗位 5–6 题) |
| 难度 | LC Easy ×3 + Medium ×3 + Hard ×1 |
| 评分 | 自动判题 + 隐藏 stress test |
7 类题型分布
题型 1: 矩阵模拟(每场必出)
def spiral_traverse(grid):
if not grid:
return []
R, C = len(grid), len(grid[0])
res = []
top, bottom, left, right = 0, R - 1, 0, C - 1
while top <= bottom and left <= right:
for c in range(left, right + 1): res.append(grid[top][c])
top += 1
for r in range(top, bottom + 1): res.append(grid[r][right])
right -= 1
if top <= bottom:
for c in range(right, left - 1, -1): res.append(grid[bottom][c])
bottom -= 1
if left <= right:
for r in range(bottom, top - 1, -1): res.append(grid[r][left])
left += 1
return res
题型 2: 字符串变换
例:「给两个字符串 s, t,求把 s 变成 t 的最少操作数(替换 / 插入 / 删除),但操作有花费表」。简化为带权 Edit Distance DP。
def weighted_edit(s, t, ins_cost, del_cost, sub_cost):
m, n = len(s), len(t)
dp = [[0] * (n + 1) for _ in range(m + 1)]
for i in range(m + 1): dp[i][0] = i * del_cost
for j in range(n + 1): dp[0][j] = j * ins_cost
for i in range(1, m + 1):
for j in range(1, n + 1):
if s[i - 1] == t[j - 1]:
dp[i][j] = dp[i - 1][j - 1]
else:
dp[i][j] = min(
dp[i - 1][j] + del_cost,
dp[i][j - 1] + ins_cost,
dp[i - 1][j - 1] + sub_cost,
)
return dp[m][n]
题型 3: 图算法(最短路径变体)
加权图最短路径,部分节点带停留时间约束。Dijkstra + 状态扩展。
题型 4: 概率 / 期望
例:「有放回从 n 个球里取 k 次,求至少有一种颜色被取到 ≥ 2 次的概率」。容斥 + 阶乘。
题型 5: 区间 DP
经典 LC 1547 / 312 类题。一亩三分地反馈:必出 1 道。
题型 6: 二分 + 模拟
「给数组与目标值 T,找最大分组数 g 使每组和 ≥ T」。二分 g 上界 + 贪心检验。
def max_groups_with_sum_at_least(arr, T):
arr = sorted(arr, reverse=True)
def feasible(g):
if g == 0: return True
cnt = 0
cur = 0
for x in arr:
cur += x
if cur >= T:
cnt += 1
cur = 0
if cnt == g:
return True
return False
lo, hi = 0, len(arr)
while lo < hi:
mid = (lo + hi + 1) // 2
if feasible(mid):
lo = mid
else:
hi = mid - 1
return lo
题型 7: Hard 收尾(系统设计简化版)
「设计一个支持 add(item, ts) / hottest(k) 的实时榜单」。多用 LinkedHashMap + heapq。
import heapq
from collections import defaultdict
class HotBoard:
def __init__(self, decay_sec=600):
self.decay = decay_sec
self.score = defaultdict(int)
self.last_ts = 0
def add(self, item, ts):
self.last_ts = ts
self.score[item] += 1
def hottest(self, k):
return heapq.nlargest(k, self.score.items(), key=lambda x: x[1])
110 分钟节奏控制
| 阶段 | 时间 | 任务 |
|---|---|---|
| 0–10 分钟 | 10 | 通读全部 7 题,标记难度 |
| 10–40 分钟 | 30 | 拿下 3 道 LC Easy |
| 40–80 分钟 | 40 | 解 2 道 LC Medium |
| 80–100 分钟 | 20 | 攻第 6 题(带二分) |
| 100–110 分钟 | 10 | 攻 Hard 题至少出 brute force |
一亩三分地反馈:5/7 通过即可进 phone screen;7/7 全 AC 的 onsite 转化率显著更高。
考前 5 天冲刺方案
| 天数 | 任务 |
|---|---|
| D1 | 矩阵模拟 4 道 + 字符串变换 4 道 |
| D2 | 图算法(最短路径 + 拓扑 + Floyd) |
| D3 | DP(区间 + 状压 + 概率) |
| D4 | 二分 + 模拟 + 滑动窗口组合 |
| D5 | 一次完整 110 分钟 mock + 复盘 |
FAQ
TikTok OA 中文岗位和北美岗位题库一样吗?
约 70% 共享题库,但语言不同。中文岗 OA 倾向中文题面 + 中文示例;北美岗英文题面 + 英文示例。
7 题全过的难度有多大?
一亩三分地 2026 反馈:~12% 候选人 7/7 AC。5/7 即进下一轮,是更现实的目标。
TikTok 不同业务线 OA 一样吗?
主线一样,但 ByteDance Recommendation / TikTok Live / TikTok Shop 等部门会额外加 1 道领域题(推荐 / 排序 / 直播流量分配)。
TikTok OA 之后多久出结果?
社区反馈:通常 7–14 天。如果 AC 在 5/7 以上,1 周内就有 phone screen 邀请。
正在准备 TikTok / ByteDance OA?
这次很高兴帮这批同学顺利通过 TikTok 110 分钟 7 题 OA。很多同学反馈,自己刷 LC 时不会按 110 分钟 7 题的节奏跑,到 OA 当天容易在第 4 题卡住,剩下 3 题没时间动。
如果你也在准备 TikTok、ByteDance、Lemon8、CapCut 的 OA / VO,感觉一个人复习节奏不稳、时间分配掉链子,欢迎联系 oavoservice。我们会根据你的具体水平和弱点,提供专业的 OA 实战辅助服务和一对一指导,把 110 分钟节奏 + 7 题型分桶完整打通。
👉 立即添加微信:Coding0201,获取 TikTok 一亩三分地 高频题与备考方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy