技术面试题

TikTok直播低延迟架构设计

"如何设计一个能支持数百万并发观众的TikTok低延迟直播架构?"

为什么面试官会问这道题

TikTok直播是字节跳动增长最快的营收来源之一,大规模低延迟传输是核心技术挑战。这道题考察你对实时媒体协议、CDN边缘缓存和水平扩展策略的理解。

如何回答

  1. 1

    先梳理端到端链路:推流(RTMP/SRT)、转码、CDN边缘分发、客户端播放。

  2. 2

    逐跳说明如何降低延迟——推流用SRT或QUIC,转码用低GOP分片,最后一公里用WebRTC或HTTP-FLV。

  3. 3

    讨论水平扩展:全球分布的边缘节点、一致性哈希做流路由、流量尖峰时的优雅降级。

  4. 4

    阐述容灾方案——推流多路冗余、CDN节点自动故障转移、实时监控告警。

参考回答示例

我会把系统分四层设计。推流层通过SRT协议接收主播流,利用其前向纠错能力降低重传延迟,并用地理感知DNS就近路由到转码集群。转码层生成多档ABR码流,GOP设为1秒,输出低延迟CMAF分片。分发层采用分级CDN架构——回源盾聚合请求,边缘PoP用HTTP-FLV或低延迟HLS服务观众。每个边缘节点通过共享内存缓存,使一次分片拉取能服务数千连接。客户端自适应播放器实时监测缓冲状态,无卡顿切换码率。容灾方面,每路推流双发到两个异地源站,健康检查服务在2秒内触发自动切换。端到端延迟、卡顿率和错误率等指标实时汇入告警管线,确保在用户感知前发现问题。

实用技巧

  • 提到SRT、QUIC、WebRTC等具体协议来展示技术深度,避免停留在纯抽象层面。

  • 尽量量化:端到端延迟目标3秒以内、GOP 1秒、故障转移2秒内完成。

  • 主动讨论延迟与成本的权衡——更短的分片意味着更多CDN请求和更高的回源负载。

常见问题

RTMP和SRT在直播推流中有什么区别?

RTMP基于TCP,存在队头阻塞问题。SRT基于UDP,内置前向纠错和重传机制,在丢包网络环境下能实现更低延迟同时保持可靠性。

TikTok如何应对直播间突然爆火带来的观众暴增?

边缘CDN节点本地缓存分片,热门直播每个PoP只需回源一次。结合基于热度信号的预测性扩容和备用CDN溢出路由,系统能在不降低画质的情况下吸收流量尖峰。

面试时担心忘词?即答侠实时助你

即答侠 AI 实时监听面试对话,自动识别问题并即时生成回答建议——无感辅助,让你从容应对每一道题。

免费试用即答侠