Design a streaming ads system
Company: Snapchat
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Onsite
Design an ad-insertion platform for a video streaming service that supports live and on-demand content. Gather requirements (e.g., targeting, pacing, frequency capping, brand safety), and design components including the ad decision engine, metadata store, user/segment service, content signals, and delivery through CDNs/players with VAST/VPAID/OMID support. Ensure low-latency ad selection (<100 ms at the edge), fault tolerance, multi-region failover, privacy compliance, and measurement (impressions, quartiles, clicks). Explain how to integrate with RTB exchanges, handle ad podding, dedup across devices, and run A/B experiments on ad policies.
Quick Answer: This question evaluates a candidate's competency in designing low-latency, scalable, and privacy-compliant ad-insertion platforms, encompassing distributed systems, real-time bidding integration, ad format and measurement standards, content and identity signal processing, pacing/frequency control, and multi-region fault tolerance.