目录
正在加载目录...

TikTok OA 真题解析 :四道 Coding 真题及解题思路

这次整理了四道 TikTok OA Coding 真题,涵盖网格传播模拟、连续子数组配对统计、机器人移动判断和 Unix 命令历史处理。题目涉及二维数组遍历、哈希表、字符串统计和状态模拟等基础算法,重点在于理解题目规则,并根据不同场景设计合适的处理逻辑。

下文将逐一介绍四道题的题目描述与解题思路,帮助大家熟悉 TikTok OA 的常见考察方向,为线上编程测评做好准备。

第一题:果园腐烂树按天传播模

TikTok OA 真题解析 :四道 Coding 真题及解题思路

题目描述

给定一个二维网格 orchard,其中 "-" 表示空地,"T" 表示健康的树,"R" 表示腐烂的树。每天,腐烂都会向上下左右四个方向传播,使相邻的健康树变成腐烂的树。模拟腐烂传播指定的 days 天后果园的状态,并返回最终的二维网格。要求时间复杂度不超过 O(days⋅rows⋅cols)O(days \cdot rows \cdot cols)O(days⋅rows⋅cols)。

解题方法

这道题可以通过模拟每天腐坏的传播过程来解决。首先,将外层循环设置为 days,表示模拟的天数。每天遍历整个果园,遇到 R 时,就检查它上下左右四个方向的相邻单元格,如果发现健康的树 T,就记录它的位置。

等当天的果园遍历完成后,再将记录下来的所有 T 统一转化为 R,避免当天新腐坏的树继续传播。经过指定天数的模拟后,返回最终的果园数组即可。

第二题:连续子数组配对

TikTok OA 真题解析 :四道 Coding 真题及解题思路

题目描述

给定一个整数数组 fruits,表示传送带上水果的排列顺序,以及一个正整数 k。统计所有能够组成至少 k 对相同水果的连续子数组数量。计算配对数量时,每个位置上的水果最多只能参与一对配对。最后返回符合条件的连续子数组总数。要求时间复杂度不超过 O(n2)O(n^2)O(n2),其中 nnn 为数组长度。

解题方法

这道题可以用字典记录每种水果出现的次数,再通过双指针枚举每个连续子序列,并统计其中能够组成的相同水果对数。当水果对数量达到 k 时,就将结果+1。以此类推,遍历并统计所有符合条件的连续子序列,最后返回结果即可。

第三题:竞赛排名

TikTok OA 真题解析 :四道 Coding 真题及解题思路

题目描述

给定四个长度相同的数组 wins、draws、scored 和 conceded,分别表示每支队伍的获胜场次、平局场次、进球总数和失球总数。每场胜利得 3 分,平局得 1 分,失败得 0 分。根据累计积分从高到低排名;如果积分相同,则按净胜球(进球数减去失球数)从高到低排名。返回排名第一和第二的队伍的索引,组成一个包含两个整数的数组。题目保证第一名和第二名均只有一支队伍,时间复杂度不超过 O(n2)O(n^2)O(n2),其中 nnn 为队伍数量。

解题思路

首先,遍历每支队伍,计算其总积分和净胜球。获胜一场得 3 分,平局一场得 1 分,失败不计分;净胜球则用进球数减去失球数计算。然后,按照积分降序排序,如果积分相同,则按净胜球降序排序。最后,取排序后前两名队伍的索引并返回。

第四题:Unix 命令历史统计

TikTok OA 真题解析 :四道 Coding 真题及解题思路

题目描述

给定一个命令数组 commands,其中每条命令可能是 "cp"、"ls"、"mv" 或 "!<index>"。直接输入命令时,执行对应命令;输入 "!<index>" 时,重复执行当前会话中第 index 条命令,如果该命令本身也是 "!<index>",则继续递归执行对应命令。统计 "cp"、"ls" 和 "mv" 三条命令实际被执行的次数,并返回一个包含这三个次数的数组,顺序为 [cp, ls, mv]。

解题思路

统计每种操作的执行次数。首先,将带有指向性的操作(即 ! 开头的命令)转化为对应的正常操作:遍历操作数组,把所有带 ! 的字符串替换为它们实际指向的正常操作。然后再次遍历整个操作数组,统计 cp、ls、mv 三种操作各自的出现次数,最后返回包含这三个数量的数组。

2026 年 TikTok OA 有哪些变化?

2026 年的 TikTok OA 在考试平台、题目形式和备考重点方面值得关注,主要变化如下。

1. 考试平台变化

2025 年部分 TikTok OA 使用 HackerRank,而 2026 年的部分候选人面经显示,CodeSignal 也被用于在线测评。建议提前熟悉平台的代码编辑器和测试功能。

2. 更加侧重 Coding

部分考试由选择题与编程题转向以 Coding 为主,常见形式为 4 道编程题。不过,具体题目数量仍可能因岗位和招聘批次而异。

3. 限时解题能力更加重要

部分 OA 的考试时间约为 70–90 分钟。考生需要在有限时间内完成读题、算法分析、代码实现和测试,因此建议进行限时模拟,重点练习 Dynamic Programming、Sliding Window、Graph Traversal 和 Greedy 等常见算法。

4. 提前确认考试要求

部分在线测评可能包含摄像头、屏幕共享或窗口切换限制。考试前应仔细阅读邀请邮件中的说明,并提前检查设备和网络。

总体来说,准备 2026 年 TikTok OA 时,除了复习高频算法题,还应关注最新面经、熟悉考试平台,并通过限时练习提高解题效率。需要注意的是,以上信息来自第三方面经整理,并非 TikTok 官方统一公布的考试标准,实际要求以 OA 邀请为准。

总结

这四道题整体难度不高,核心在于读题仔细、把握规则细节:网格传播要注意当天新腐烂的树不能立即继续传播,配对统计要留意每个位置最多只能参与一对,机器人移动和命令历史则要把规则拆成清晰的状态变化再逐步实现。备考时,建议先把二维数组遍历、哈希表计数、排序和字符串处理练熟,再配合限时模拟,养成先理清规则、后动手编码的习惯,提交前用边界用例自测。

如果你正在准备 TikTok 或其他大厂的 OA 或面试,除了刷题,也可以结合真实面经熟悉常见题型和考察方向。InterviewShow 整理了 Microsoft、Amazon、Google、Stripe 等科技公司的面试资料,并提供 OA 辅助和面试辅助,可以查看服务介绍,覆盖 Coding、System Design 和 BQ。需要的话,可以直接联系我们。

FAQ

Is It Hard to Get a TikTok OA?

TikTok OA 的获取难度主要取决于简历匹配度、岗位要求和招聘需求。申请 Software Engineer 或 SDE Intern 等岗位时,通常需要先通过简历筛选,才有机会收到 OA 邀请。建议在简历中突出相关实习经历、项目经验和 Coding 能力,提高与职位要求的匹配度。

What Is a Good Score on the TikTok OA?

TikTok OA 没有适用于所有岗位的统一及格分数,具体标准取决于测评平台和招聘要求。如果使用 CodeSignal,建议尽可能提高答题正确率和测试用例通过率,同时关注代码效率与边界条件。高分有助于展示编程能力,但不保证一定进入下一轮面试。

How Long Does the TikTok OA Take?

部分候选人面经记录的考试时长约为 70–90 分钟,具体时间取决于岗位和测评安排。建议提前进行限时模拟,合理分配每道题的解题时间,并预留代码检查和测试的时间。

END