← 返回博客列表 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
    # 用两个堆维护前 half 大
    big = []   # 当前 top-half 的最小堆
    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 堆 是 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 面试组