Tiktok的面试前两轮还是比较固定的, 一般是挖简历+leetcode,或者leetcode+leetcode。取决于面试官之前Base在中国还是在美国。
如果你的面试官Base在中国/Base在美国但是是L1来的(具体表现是Linkedin搜不到或者搜到的话experience在国内比较多,你要有被挖简历和被问八股的预期)。
如果你的面试官(Base在美国+基本一直在美国工作),你要expect他考你更多的coding&更少的八股。 比如今天这两轮 结合一下 上面的文章和我传的真题 写面经文章
Round1 :简历深挖 + Coding(高维 index 转坐标)
Given shape D: [d0, d1, d2, …, d(m-1)]
and a 1-D index, output the corresponding coordinates.Example:
shape: [2, 3]
index: 3
output: [1, 0]
这题本质是:
模拟 NumPy / Tensor 中的 index unraveling。
核心考点:
- 会不会算 stride
- 是否能写出无需额外空间的版本
- 能否写出通用 m 维的解法
我解释完公式后,面试官让我 dry-run 一次,他确认我思路没问题就继续问了几个 follow-up,比如:
- 输入非法怎么办?
- shape=0 会不会崩?
整体第一轮氛围相对温和。
Round2:纯 Coding(preorder + inorder → postorder)
第二轮是美国 Base 的工程师,全程英语直奔主题。
没有问项目,也没有八股,直接丢题。
You are given two integer arrays
preorderandinorder.
preorderis the preorder traversal (root → left → right).inorderis the inorder traversal (left → root → right).Return the postorder traversal (left → right → root).
示例:
preorder = [1,2,4,5,3,6]
inorder = [4,2,5,1,3,6]
output = [4,5,2,6,3,1]
这是经典二叉树重建题的变种。
但 TikTok 的变化点是:
不让你重建整棵树,只能直接输出 postorder。
我采用的是:
- 用 map 存 inorder 下标
- 写一个递归函数
- 根据 preorder 分区间构造左右子树顺序
- 在函数收尾时输出 root → 达到 postorder 效果
面试官看重的是:
- 你能不能把区间划分讲清楚
- 有没有考虑空区间
- 时间复杂度 O(n) 是否合理
这一轮明显比第一轮纯技术,一点八股没有。
如果你想用真实题目来 mock,或者想让我帮你把你的简历项目拆成“可以应对深挖”的版本,我可以根据你现在的经验模拟一整轮 TikTok Tech Round。
随时来找我~
➡️ 可以联系 CSOAHelp(我们提供高质量 OA/VO 面试辅助与全流程解析)。

