System design interview questionHardMessaging & Realtime
Design a Video Conferencing System like Zoom
Design Zoom-style video conferencing: users join a meeting and exchange realtime audio/video with low latency.
Interview scope
Client → Realtime Gateway for media/signaling. Client → Gateway/LB → App → Cache + DB for meeting control/presence. Object Storage for recordings. No Client → DB.
Functional requirements
- Create/join a meeting.
- Exchange realtime media / presence among participants.
- Store meeting metadata (optional recording pointer at high level).
Scale and quality goals
- Realtime Gateway is core for live sessions.
- Control APIs via Gateway/LB → App → Cache + DB.
- Recordings go to Object Storage — not SQL BLOBs as the main path.
Capacity assumption
Design for this scale
Assume ~10M meeting-minutes/day peak concurrent rooms; signaling/control is chatty, media path must stay realtime.
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →