← 返回部落格列表 TikTok SDE NG 面經全複盤|從內推到 Offer 的完整時間線與談判細節
TikTok

TikTok SDE NG 面經全複盤|從內推到 Offer 的完整時間線與談判細節

2026-05-18

本文不再重複 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 題組合:

  1. 字串處理(10 分)
  2. 陣列前綴和(15 分)
  3. 滑動視窗(15 分)
  4. 二分查找(20 分)
  5. BFS / DFS(20 分)
  6. DP(20 分)
  7. 綜合實作題(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 道延伸;常見方向:

範例: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 更看重「業務影響」。你需要:

  1. 用 STAR 寫好 3 個專案講稿(每個 5–7 分鐘)
  2. 每個專案準備:bottleneck / metric / trade-off / 失敗複盤
  3. 重點突出 「為什麼是你做的」

學員觀察:TT 面試官 80% 會追問「impact 怎麼量化的?」——準備一個 明確數字 + dashboard 截圖描述 是高分關鍵。


七、VO Round 3:HM Behavioral(45min)

HM 關心:

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?"

實戰經驗:


九、常見問題 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 輪。如果你正在準備:

我們提供:當週 TT OA 真題、Project Deep Dive mock、HM Behavioral 故事打磨、Offer Negotiation 1on1 複盤。


聯絡方式

Email: [email protected]
Telegram: @OAVOProxy
微信: Coding0201


最後更新:2026-05-18 | 作者:oavoservice 面試組