這次來分享一位同學的 TikTok Virtual Onsite 面經。 TikTok VO 一向比較有特點,既考察常見的演算法 coding,又會結合論文里的細節問一些偏八股的內容,尤其是 Transformer、優化器、訓練參數這些,對基礎功底的要求很高。
1. Coding: Search in Rotated Sorted Array
題目是一個經典的 Leetcode 33:
Problem:
Given a sorted and rotated array of n distinct elements, find the given key in the array.
換句話說,就是在一個排序好的旋轉陣列中,找到 target 的 index。
解法也很標準:
- 判斷哪一部分是有序的;
- 如果 target 落在有序區間,就在這一半繼續二分;
- 否則就去另一半。
Complexity:
- 時間複雜度:O(log n)
- 空間複雜度:O(1)
整體難度不大,但需要寫得清晰簡潔,邊界情況要注意。
2. 八股:基於論文的深挖提問
這一部分比較硬核,面試官直接給了一段論文里的 Transformer 模型和訓練參數配置,然後圍繞它展開提問。 大概的設定如下:
- Transformer: 32 layers, 32 heads (64 dim), rotary embedding with dim 32
- Context length: 2048, used flash-attention
- Training: random init, fixed learning rate, weight decay 0.1, optimizer Adam (momentum 0.9, 0.98, epsilon 1e-7)
- Precision: fp16 with DeepSpeed ZeRO Stage2
- Batch size: 2048, train for 150B tokens
面試官的問題也非常細,基本就是把參數逐一拆開問:
head 的作用是什麼? multi-head 的公式能寫一下嗎? 還有哪些別的 attention 方法?
rotary embedding 是什麼? 和其他 embedding 方法相比優勢在哪裡?
為什麼用 rotary embedding,好處是什麼? 如何處理 long distance context?
Flash-Attention 是什麼? 為什麼能加速?
Adam 為什麼適合這個場景? 三個參數(momentum, epsilon 等)都具體什麼意思?
為什麼選擇 fixed learning rate,而不是 warm-up?
weight decay 是什麼? 對訓練有什麼説明?
fp16 精度的意義是什麼? 還有哪些精度方式(比如 bf16, fp32)?
DeepSpeed ZeRO Stage2 是什麼,起什麼作用?
可以看出來,這一部分的重點不是讓你背定義,而是要你能把 核心原理講清楚,最好還能結合實際場景說出 trade-off。
總結
TikTok 的 VO 強調 平衡:
- Coding 部分就是常見的經典題,考察你的代碼實現能力和思路是否熟練。
- 八股部分完全是細節深挖,看你對 Transformer、優化器和訓練過程是否理解到位。
整體下來並不算刁鑽,但對基礎要求高。 如果只是背概念,很容易被追問卡住。
👉 想要順利通過 TikTok 這樣的面試,除了刷題,還要把論文里的基礎吃透,尤其是 Attention, Embedding, Optimizer, Training Tricks 這幾塊,準備時最好能結合公式+實際工程經驗來講。
關於 PROGRAMHELP
我們團隊一共 7 人,全部來自頂尖名校 & 大廠背景:Oxford、Princeton、北大碩博,還有來自 Amazon、Google、阿裡的工程師。 這裡沒有仲介加價,所有服務都由我們親自完成。
我們提供的服務包括:
- OA 代寫 & 包過服務:HackerRank、Codesignal、牛客網等平臺測試,確保 100% 通過。
- VO / 面試即時助攻:學長親自語音提醒 + 思路提示,讓你在面試中從容發揮。
- 代面試 & 全套護航:從簡歷包裝到面試代面、系統設計助攻,再到簽約談判,全程陪跑直到你拿到滿意 Offer。
- 其他定製服務:模擬面試、程式設計代寫、演算法輔導、Quant 面試支援、留學生入學面試代面等,都能按需安排。
我們承諾 效率高、保密強、結果導向。 有需要可以隨時聯繫,學長會親自溝通,最快 24h 內幫你解決問題,直到拿到理想 Offer。