本文不再重複 LeetCode 風格的題解清單,而是把 Apply → OA → VO → HM → Offer → 談判 這條鏈路按「週」拆開,對照 oavoservice 學員近一年 24 份 TikTok SDE NG 複盤的真實節奏,給出能直接抄作業的備戰時間表。
一、整體流程鳥瞰
Week 0 內推 / 直投
│
▼
Week 1-2 OA 邀請 (110 分 7 題, 120 min)
│
▼
Week 2-3 VO Round 1 — DSA Coding (60 min)
│
▼
Week 3-4 VO Round 2 — Project Deep Dive (60 min)
│
▼
Week 4-5 VO Round 3 — HM Behavioral (45 min)
│
▼
Week 5-6 Team Match / HC
│
▼
Week 6-8 Offer Call + Negotiation
關鍵結論:從 Apply 到拿 Offer,TikTok NG 通道平均 6–8 週;內推走得快的 4 週完成,直投慢的拖到 10 週以上。
二、各階段時間線與任務
| 週次 | 階段 | 候選人主要任務 | 關鍵節點 |
|---|---|---|---|
| W-2 | 準備 | 履歷 ATS 化、刷完 TT tag 100 題 | 至少 3 個 senior 內推人 |
| W0 | Apply | 同時走內推 + Career site | Recruiter outreach 24h 回應 |
| W1 | OA 邀請 | 110 分 7 題刷題套卷 | 完整模擬一次 120min |
| W2 | OA 後 | 立即整理 OA 出題方向 | OA ≥ 70 分一般 1 週內推進 |
| W3-4 | VO1 + VO2 | DSA 模擬 + 專案講稿打磨 | 專案 STAR 化 |
| W5 | HM 行為面 | "Why TT" + 團隊 fit | 準備 3 個 culture-match 故事 |
| W6 | HC | recruiter 主動通知 | 一般 3-5 個工作日 |
| W7-8 | Negotiation | 準備競爭 offer / counter | base / RSU / sign-on 分別談 |
三、內推 vs 直投 vs Cold-LinkedIn
| 渠道 | OA 邀請率 | 平均回應時間 | 備註 |
|---|---|---|---|
| Senior+ 內推(L6+) | ~70% | 3–5 天 | 強烈推薦 |
| Junior 內推(L3-L5) | ~45% | 5–10 天 | 視團隊 headcount |
| Career site 直投 | ~20% | 2–3 週 | 多投不同 req |
| Recruiter LinkedIn cold | ~30% | 1–2 週 | 履歷必須 hook 住 |
學員真實資料:24 人中 17 人靠內推進入流程,平均比直投快 9 天。
四、OA 階段:110 分 7 題速覽
TikTok OA 是自研平台,題目按難度遞增(10–25 分 / 題),常見 7 題組合:
- 字串處理(10 分)
- 陣列前綴和(15 分)
- 滑動視窗(15 分)
- 二分查找(20 分)
- BFS / DFS(20 分)
- DP(20 分)
- 綜合實作題(10 分)
範例:滑動視窗經典——影片觀看時長聚合
給定一個長度為 n 的整數陣列
views,表示每秒的觀看人數。求長度為 k 的連續區間中,前 k/2 大的元素之和的最大值。
import heapq
from collections import Counter
def max_top_half_sum(views, k):
n = len(views)
half = k // 2
if n < k:
return 0
big = []
small = []
big_sum = 0
removed = Counter()
best = float('-inf')
def add(x):
nonlocal big_sum
if not big or x > big[0]:
heapq.heappush(big, x)
big_sum += x
else:
heapq.heappush(small, -x)
balance()
def remove(x):
nonlocal big_sum
removed[x] += 1
if big and x >= big[0]:
big_sum -= x
balance()
def prune(h, sign=1):
while h and removed[sign * h[0]] > 0:
removed[sign * h[0]] -= 1
heapq.heappop(h)
def balance():
nonlocal big_sum
prune(big, 1); prune(small, -1)
while len(big) - sum(removed[v] for v in big) > half:
v = heapq.heappop(big)
big_sum -= v
heapq.heappush(small, -v)
prune(big, 1)
while len(big) - sum(removed[v] for v in big) < half and small:
v = -heapq.heappop(small)
heapq.heappush(big, v)
big_sum += v
prune(small, -1)
for i in range(n):
add(views[i])
if i >= k:
remove(views[i - k])
if i >= k - 1:
best = max(best, big_sum)
return best
時間複雜度:O(n log k) 空間複雜度:O(k)
評分要點:能 正確實作 lazy-deletion heap 是 OA 通過 800 分的關鍵。
五、VO Round 1:DSA Coding(60min)
形式:60 分鐘、CoderPad、1 道中等 + 1 道延伸;常見方向:
- 圖論:拓撲排序 + 環檢測
- 字串:滑窗 / 雙指標
- 設計題:LRU / 限流器
範例:API 限流器(Token Bucket)
import time
class TokenBucket:
def __init__(self, capacity, refill_rate):
self.capacity = capacity
self.refill_rate = refill_rate
self.tokens = capacity
self.last = time.time()
def allow(self):
now = time.time()
elapsed = now - self.last
self.tokens = min(self.capacity, self.tokens + elapsed * self.refill_rate)
self.last = now
if self.tokens >= 1:
self.tokens -= 1
return True
return False
面試官追問:分散式怎麼做?→ Redis + Lua + sliding window。
六、VO Round 2:Project Deep Dive(60min)
TT 的專案輪比 Meta/Anthropic 更看重「業務影響」。你需要:
- 用 STAR 寫好 3 個專案講稿(每個 5–7 分鐘)
- 每個專案準備:bottleneck / metric / trade-off / 失敗複盤
- 重點突出 「為什麼是你做的」
學員觀察:TT 面試官 80% 會追問「impact 怎麼量化的?」——準備一個 明確數字 + dashboard 截圖描述 是高分關鍵。
七、VO Round 3:HM Behavioral(45min)
HM 關心:
- Why TT / Why this team
- 你最 proud 的專案 + 你的具體貢獻
- Conflict 處理(同事 / PM 立場分歧)
- Failure case + 復盤
TT 文化關鍵字:ByteStyle——Always Day 1, Be Candid and Clear, Champion Diversity, Be Courageous。每個關鍵字配 1 個故事更容易過 HC。
八、Offer Stage:談判細節(學員真實資料)
| 項目 | NG L3 區間 | NG L4 區間 | 備註 |
|---|---|---|---|
| Base | $130k – $160k | $155k – $185k | 灣區 / NYC 偏上沿 |
| Sign-on | $20k – $40k | $30k – $60k | 一次性,2 年內離職按比例返還 |
| RSU | $60k – $100k / 4y | $100k – $180k / 4y | Vest 25/25/25/25 |
| Relocation | $5k – $15k | $10k – $20k | lump sum |
| Annual Bonus | 10–15% target | 12–18% target | 業績掛鉤 |
談判腳本(學員可重用)
"Thank you for the offer. I'm very excited about the team. I've received competing offers in the $X total comp range, and based on my impact in past internships, I'd love to see if we can align on a base around $Y and RSU around $Z. Is there flexibility?"
實戰經驗:
- Sign-on 最容易談 —— recruiter 有 $10k 浮動權限
- RSU 次之 —— 需要 HC 二次審批
- Base 最難動 —— 一般只能 +$3–5k
九、常見問題 FAQ
Q1:TT NG OA 多少分能進 VO?
A:通常 ≥ 800 / 1100 進入 VO;強專案背景的學員 700 也有進過。
Q2:OA 掛了多久能再投?
A:90 天 軟冷凍;換 BU(如從 TikTok Live → CapCut)可繞開。
Q3:TT 給 NG 提供 H1B sponsor 嗎?
A:給。但 2026 年起優先 OPT 在手或綠卡候選人。
Q4:Onsite 4 輪全好評但被 ghost 怎麼辦?
A:通常是 HC level mismatch。可讓 recruiter 推 down-level 重 match。
Q5:拿到 offer 後多久要 sign?
A:標準 7 個工作日,可申請延長至 14 天。
十、需要 TikTok SDE NG 輔助?
TT NG 招聘窗口短、節奏緊,VO 經常 2 週內打完 3 輪。如果你正在準備:
- 微信:Coding0201 · 立即聯絡
- Email:[email protected]
- Telegram:@OAVOProxy
我們提供:當週 TT OA 真題、Project Deep Dive mock、HM Behavioral 故事打磨、Offer Negotiation 1on1 複盤。
聯絡方式
Email: [email protected]
Telegram: @OAVOProxy
微信: Coding0201
最後更新:2026-05-18 | 作者:oavoservice 面試組