2025/12 tiktok面经 | tiktok真题解析 | tiktok面试 | tiktok一亩三分地

1,287Views
尚無留言
tiktok面经

2025.12月最新tiktok面经,让我们一起来看下吧~

Tiktok三輪第一輪第二輪都是coding,每輪兩道題。 BQ是講一個項目,followup項目中遇到的困難。 HM面試簡歷+coding。簡歷問的infra,coding是dp。

Tiktok SDE NG 第一轮

Coding 1: 修改元素判断数组是否有序

在允許最多修改數組的一個元素的條件下,這個數組是否是有序的。
考慮從前往後遍歷數組,將遇到不滿足有序條件的元素nums[i],即nums[i] < nums[i-1],若i為size-1即最後一個元素,或者數組已經全部有序,直接返回true,否則應考慮nums[i+1]的大小:

  • 若nums[i+1] >= nums[i-1],如数组0,1,2,【1】,3… 中 3 > 2,此时i+1及之前的元素满足题意条件,若后面是有序的则返回true;
  • 否則,如數組0,1,4,【1】,3…中 3 < 4,則若將nums[i-1]改成nums[i],再從i-2開始遍歷數組判斷其是否有序的即可。

時間複雜度O(n), 空間複雜度O(1)

思路

  1. 遍歷數組,找到第一個違反非遞減順序的位置i(即nums[i] < nums[i-1])。
  2. 如果i已經遍歷到數組的末尾或倒數第二個元素,說明最多只有一個元素違反順序,可以通過修改這個元素來修復,直接返回如果i已經遍歷到數組的末尾或倒數第二個元素,說明最多只有一個元素違反順序,可以通過修改這個元素來修復,直接返回true
  3. 檢查是否可以通過修改nums[i-1]nums[i]來修復數組。
  4. 從位置i開始,繼續向後遍歷數組,檢查是否所有元素都滿足非遞減順序。如果發現任何違反順序的元素,則返回false
  5. 如果整個數組都滿足非遞減順序,則返回true

Coding 2: 距离最小的节点

找到樹中到其他節點的平均距離最小的節點,一個edge距離算1,要求時間複雜度為O(n)。 參考

思路

  1. 首先,定義一個標誌變量visited,用來標記是否已經找到目標節點p,初始值為false
  2. 定義一個空棧stack,用來存儲從根節點到目標節點p的路徑上的節點值。
  3. 定義一個函數getDisToPar,接收三個參數:當前節點root、目標節點p和用於存儲路徑的棧stack
  4. getDisToPar函數中,首先檢查當前節點是否為空,如果為空,則直接返回。
  5. 將當前節點的值添加到棧中。將當前節點的值添加到棧中。
  6. 如果當前節點就是目標節點p,並且之前沒有訪問過(visitedfalse),則將visited標記為true,並返回。
  7. 如果目標節點p還沒有找到,先遞歸地在左子樹中查找。
  8. 如果左子樹中沒有找到,再遞歸地在右子樹中查找。
  9. 如果當前節點的左右子樹都沒有找到目標節點p,說明當前節點不在目標節點p的路徑上,將其從棧中彈出。
  10. 栈中存储的就是从根节点到目标节点p的路径上的节点值。

Tiktok SDE NG 第二轮

这轮面试官是西雅图的白人小姐姐,先2分钟闲聊,问最近做的项目里“怎么优化了数据库查询性能”,然后直接进Coding。

Coding 1

Q1:给定一个嵌套的整数列表(每个元素是整数或嵌套列表),实现一个迭代器,按顺序遍历所有整数。 (类似LeetCode 341,但要求自己定义数据结构+实现 next() 和 hasNext() )

思路:先clarify了“嵌套列表的输入格式”(小姐姐说用Python的 List[Union[int, List]] ),用栈逆序压入初始元素, hasNext() 时循环弹出栈顶元素,若为列表则继续逆序压入其元素,直到栈顶是整数。边写边覆盖了“空嵌套列表”“多层嵌套”的用例,小姐姐追问了“时间复杂度为什么是均摊O(1)”。

Coding 2

Q2:给定一个字符串数组,将字母异位词组合在一起(要求:时间复杂度优于O(nk log k),k是字符串最大长度)。

思路:常规解法是排序字符串当key,但面试官要求优化排序的O(k log k)。用计数数组转tuple当key(比如“aab”转 (2,1,0,…,0) ),这样每个字符串的处理是O(k)。写的时候小姐姐提示“可以用质数乘积当key吗?”,后面补充了“质数乘积可能溢出,计数数组更安全”,最后代码过了所有测试用例(包括空字符串、单个字符的情况)。 面完小姐姐加了句“你的计数数组思路比排序更贴合生产场景”

Tiktok SDE NG 第三轮HM

HM面这一轮很重要,面试官有决定权,每个面试官风格也不一样,经验来说还是根据前两轮面的不好的地方来准备。 这次是全程围绕简历展开,感觉面试官更加关注沟通和成长性。

首先先是自我介绍,接着挑了几个项目提问,也会问在团队中是否愿意主动承担责任,是否愿意快速学习新系统之类的。

重点问了:1、问了最有挑战性的项目。2、如何与队友协作。3、遇到突发情况如何处理 就简单分享一个实习经历,然后因为什么导致失败,最后又怎么样解决避免再次出错,回答的时候要圆的回来,一些技术细节也要了解到位,一般没啥问题 这次并没有问coding,算正常聊天那种,从你的回答表现来决定是否合适

聯絡我們

經過我們的強力面試輔助,OA代寫,候選人通過這些面試題的解析和溝通,面試官不僅了解了候選人的編程能力,也看到了我在解決問題過程中清晰的思路和有效的溝通技巧。這些不僅有助於應對 tiktok的面試,同時也能提升我們解決實際編程問題的能力。祝大家面試順利!

如果你也需要我們的面試輔助服務,請 立即聯繫我們

推荐阅读:

TikTok 一畝三分地 | TikTok MLE Intern VO 網友都說不難

Tiktok DE 三輪 VO 超詳細面經|技術深挖 + 建模推導 + 壓力節奏全記錄

author avatar
azn7u2@gmail.com
END
 0
Comment(尚無留言)