
TikTok SWE 岗的 OA 节奏很快:开场先完成身份核验,随后在同一场限时编程里处理多道题。把前两题的样例和边界写稳,比一开始追求最花哨的优化更实际。
这篇把准备重点放在数组、图搜索和路径状态上。前半程要控制提交节奏,后半程再把时间留给 BFS 状态去重与文件路径的特殊输入。
第一题:目标和数组分段
Question description
Given an array of integers events And target value k,统计和为 k 的连续片段数量。数据中既有正数也有负数,输入规模达到 2 * 10^5;要求返回片段数,而不是输出每一段的下标。
Problem-solving ideas
从左到右维护前缀和 Sum,同时用哈希表保存每个前缀和出现过的次数。当前位置的 sum - k 若出现过,表示那些位置都能和当前下标组成一个合法片段,把对应次数累加进答案。每次计数后再写入当前 Sum,初始把 0 记为一次。这样负数不会破坏逻辑,也不需要双指针反复收缩窗口。Complexity:时间 O(n),空间 O(n)。
第二题:受限网格中的最短路径
Question description
Exist m × n 网格中,从起点走到终点。部分格子是障碍,角色有一次穿过障碍的机会;返回最少步数,无法到达时返回 -1。移动只允许上下左右四个方向。
Problem-solving ideas
用 BFS 分层搜索,访问状态不能只写坐标,而要写成 (row, col, usedBreak)。同一个格子在“机会还在”和“机会已经用掉”时后续选择不同,合并成一个 visited 会误剪枝。扩展邻居时,普通格子沿用状态;遇到障碍且 usedBreak=0 时才进入新状态。队列按层推进,第一次到终点的层数就是最短步数。Complexity:时间 O(mn),空间 O(mn)。
第三题:规范化文件路径查询
Question description
给定多组绝对路径和查询路径,路径段包含 .,.. 与重复斜杠。对每个查询返回规范化后的路径;如果查询要求从给定目录回到根目录,路径中的 .. 不能越过根节点。
Problem-solving ideas
按 / 切分字符串,用栈保存有效目录名。空段和 . 直接跳过;遇到 .. 时只在栈非空时弹出;其他名称压栈。最后用 / 连接栈内容,空栈返回根路径。测试时要手动覆盖连续斜杠、根目录连续回退、末尾斜杠和单目录四种输入。TikTok 的候选人分享里提到过数组、BFS 与文件路径返回的组合,这份美国 SWE OA 记录很适合用来核对练习范围。Complexity:时间 O(L),空间 O(L),其中 L 为路径总长度。
做题过程
70 分钟里先花两分钟确认函数签名和输入格式。每题写完主逻辑就过样例,再补一组空输入或极端输入;不要把三个题都留到最后一起调。带监考的环境也要提前检查摄像头、证件和浏览器权限,避免倒计时开始后才处理设置。
FAQ
TikTok SWE OA 会考哪些方向?
数组、图搜索和路径处理都值得练到能在编辑器里一次写通。还要保留一点时间给数据结构和操作系统等基础选择题。
文件路径题该怎么准备?
把路径拆段后用栈维护目录,核心是先写清 .,..、空段与根目录四种规则。用字符串拼接前先确认根路径不能再向上回退。
参考来源
- TikTok 美国 SWE OA 记录:四道编程题与身份核验
- TikTok Privacy & Security Intern 流程:OA、技术面与测试环节
- TikTok OA / Interview Experience and Tips 讨论
关于 CSOFFERPREP
无论是 OA辅助、OA 辅导、VO 辅助、VO 模拟面试、VO 辅助还是系统设计辅助,CSOFFERPREP 都可以协助你把题目拆解、代码表达和时间管理练得更顺手。需要针对 TikTok SWE OA 做模拟时,可查看 服务页面.



