这是一篇「TikTok OA 面经怎么用」的方法论文章。我们不堆题号,只拆解你看到一道新题之后,下一步该怎么做。所有真题方向均来自 oavoservice 学员复盘,并经过去敏化处理。文末附 VO代面 / VO辅助 的实战路径。
一、TikTok OA 平台与节奏
TikTok 北美 OA 走 CodeSignal Industry Coding,4 题 70 分钟。每题不限分配时间,但常见的得分曲线是:
[Q1] 签到 10–15 min
[Q2] 实现 15–20 min
[Q3] 中等 20–25 min
[Q4] 偏难 剩余时间
通过分阈值在 600 / 800 上下。学员实测:Q1+Q2 全对约 350–400 分;Q3 部分对约 100–150 分;Q4 任何一个 hidden case 都加分。别死磕 Q4,先把 Q1–Q3 打满分再回头。
二、Q1/Q2 高频方向:签到与实现
| 真题方向 | 出现频次 | 关键解法 |
|---|---|---|
| 字符串频次统计 | 极高 | Counter + 排序 |
| 数组前缀差 | 高 | prefix_sum |
| 简单模拟(投票 / 抽奖) | 中 | 状态机 |
| 矩阵旋转 / 镜像 | 中 | 索引映射 |
学员还原题:投票合法性
给定一个投票序列
votes[i] = (voter, candidate, t),规则:每个 voter 只保留最后一次有效投票(t最大者);返回得票最多的候选人,若并列返回字典序最小者。
def winner(votes):
last = {}
for voter, cand, t in votes:
if voter not in last or last[voter][1] < t:
last[voter] = (cand, t)
cnt = {}
for cand, _ in last.values():
cnt[cand] = cnt.get(cand, 0) + 1
return min(sorted(cnt.items(), key=lambda x: (-x[1], x[0])))[0]
复杂度:O(n log n)。坑点:并列字典序最小,别忘了二级排序条件。
三、Q3 高频方向:前缀和 + 二分 / 双指针
学员还原题:最长子数组使其和 ≤ K
给定整数数组(含负数)和阈值 K,找最长连续子数组使其和 ≤ K。
import bisect
def longest_subarray_sum_le_k(nums, K):
n = len(nums)
prefix = [0] * (n + 1)
for i in range(n):
prefix[i + 1] = prefix[i] + nums[i]
sorted_prefix = []
best = 0
for j in range(n + 1):
# 找到最早一个 prefix[i] >= prefix[j] - K
target = prefix[j] - K
idx = bisect.bisect_left([p for p, _ in sorted_prefix], target)
if idx < len(sorted_prefix):
i = sorted_prefix[idx][1]
best = max(best, j - i)
# 维护「单调最早 prefix」
while sorted_prefix and sorted_prefix[-1][0] >= prefix[j]:
sorted_prefix.pop()
sorted_prefix.append((prefix[j], j))
return best
复杂度:实际 O(n²) 朴素版会超时,必须借助 单调结构 + 二分 才能 AC 全部 hidden case。
四、Q4 高频方向:图论 / DP
学员还原题:最短路径着色
在 n×m 网格上从 (0,0) 走到 (n-1, m-1),每个格子有颜色 c[i][j](取值 1..k)。要求路径上相邻格子颜色不同。求最短路径长度,无解返回 -1。
from collections import deque
def shortest_color_path(grid):
n, m = len(grid), len(grid[0])
dist = [[-1] * m for _ in range(n)]
dist[0][0] = 0
q = deque([(0, 0)])
while q:
x, y = q.popleft()
for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
nx, ny = x + dx, y + dy
if 0 <= nx < n and 0 <= ny < m and dist[nx][ny] == -1 and grid[nx][ny] != grid[x][y]:
dist[nx][ny] = dist[x][y] + 1
q.append((nx, ny))
return dist[n - 1][m - 1]
复杂度:O(n × m)。坑点:起点和终点颜色相同时也合法,只要中间路径相邻不同色。
五、得分分布与通过分阈值
样本 22 份 OA:
[700-800] █ 5%
[600-699] █████ 27%
[500-599] ████████ 41%
[400-499] █████ 22%
[<400] █ 5%
通过分中位数 600,Q1+Q2+Q3 主体满分基本就够。Q4 是分水岭题,做出 1–2 个 hidden case 就能从 600 拉到 700+,进入下一轮的概率显著上升。
六、TikTok OA 反作弊详解
| 反作弊机制 | 触发表现 | 应对方式 |
|---|---|---|
| 强制摄像头 | 切镜头 / 离开座位即 flag | 设备与房间布置预演 |
| 屏幕共享 | 切屏 3 次警告 | 单屏作答 + 提前整理素材 |
| 剪贴板拦截 | 外部粘贴失败 | 编辑器内提前 stage 模板 |
| 编辑器内复制 | 允许 | 模板预置 + 快捷键熟练 |
| 节奏分析 | 提交节奏异常会标记 | 节奏控制 mock |
oavoservice 在 OA 阶段提供 题型预测、限时 mock、得分诊断、全程 VO代面 / VO辅助 一站式方案,从拿到链接到提交答案的整个窗口 mentor 全程在线。
七、3 周备战节奏
| 周次 | 任务 |
|---|---|
| W1 | CodeSignal 限时 mock × 5 + Q1/Q2 不丢分 |
| W2 | Q3 题型库(前缀和、滑窗、图论)专项训练 |
| W3 | Q4 高频 DP / 图论冲刺 + 全模拟 |
FAQ
TikTok OA 是必考的吗?
社招、NG、Intern 几乎都要过 OA。Referral 路径偶尔可以跳过 OA 直接 VO,但占少数。
TikTok OA 重考机会有吗?
平台层面没有「重考链接」。冷冻期约 6 个月,期间换岗位 / 换 BU 投是绕开冷冻的常见做法。
TikTok OA 能用 ChatGPT 吗?
CodeSignal 会拦截外部粘贴 + 摄像头 + 屏幕共享,单纯靠浏览器外的 GPT 风险极高。oavoservice 提供更稳的方案:mentor 全程实时辅助 + 题型预测 + 节奏控制。
TikTok OA 之后多久收 Coding 安排?
通常 1–2 周。超过 2 周没消息可以礼貌跟进 recruiter。
VO代面 / VO辅助 怎么对接 OA / VO 全流程?
oavoservice 在 OA 阶段提供 题型预测、限时 mock、全程实时辅助;VO 阶段提供 思路即时辅助、白板复盘、HM mock。从首轮 OA 到 final HM 一站式打包。
正在准备 TikTok OA?
oavoservice 跟踪 TikTok OA 高频题已经超过 2 年。提供 题型预测、限时 mock、得分诊断、VO代面 / VO辅助 全链路服务。
👉 立即添加微信:Coding0201,获取 TikTok 当周 OA 真题与 VO辅助 方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy