Layer 3 · Go deeper · 11 min
Go deeper
Size it, build it, then make the calls an interviewer will push you on.
Back of the envelope
Size it up
Tap through each step of the arithmetic.
How much media leaves the SFUs, and on how many servers?
How many joins a second, and how many signalling servers?
How much new recording lands every day?
Build-up · 6 steps
Build the high-level design
One functional requirement at a time, ending with a design that works for small meetings in one region.
Step 1 of 6
Schedule and join
Scheduling is plain CRUD on a meeting service. Joining checks the passcode and waiting room, an allocator picks a nearby SFU, and the client gets two addresses, a signalling WebSocket and an SFU.
6 interview moments
You’re the candidate
The interviewer pushes on the hard parts. Pick an approach and see how it holds up.
Deep dive 1 of 6
Interviewer
“A 10-person family call, every camera at 1.5 Mbps. How do you get everyone’s video to everyone else?”
Your move. Pick an approach:
Deep dive 2 of 6
Interviewer
“Asha sends from fibre. Ravi watches her full screen, Kabir as a gallery tile, Meera on 4G with 300 kbps. What does Asha send?”
Your move. Pick an approach:
Deep dive 3 of 6
Interviewer
“Ravi is on home Wi-Fi that loses and delays packets. How do you keep his audio and video smooth?”
Your move. Pick an approach:
Deep dive 4 of 6
Interviewer
“Clients sit behind home NATs, carrier NAT or campus firewalls that allow little beyond web traffic. How do they reach their SFU?”
Your move. Pick an approach:
Deep dive 5 of 6
Interviewer
“The Diwali call has five people in India and four in Toronto. Where do you put the SFU?”
Your move. Pick an approach:
Deep dive 6 of 6
Interviewer
“Hosts want cloud recording and phone dial-in, and some meetings need privacy even from you. How do you encrypt media?”
Your move. Pick an approach:
Build-up · 7 steps
Follow the Diwali call through it
The control plane admits people and tells the media plane what to do; the media plane moves every byte and never waits on the control plane.
Step 1 of 7
Join
Asha opens the link. The meeting service checks the passcode and waiting room against the meeting DB, over ordinary HTTPS.