YOUR BRIEF
What to work through
Work through snapchat messaging as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Send a photo, video or text to a friend or a small group
- Receive it in real time, or on next open if offline
- Delete the message and its media once every recipient has viewed it
- Delete unopened messages after a fixed time
BEFORE YOU START
Constraints to discuss
- Deletion is strict: after viewing, no copy can be fetched from any server, replica or cache
- Low latency: under 500 ms to online recipients, as in the chat design
- Media-heavy: most bytes are photos and video, not text
- Every message is delivered before it is deleted
Need a starting point?
Watch for these common gaps as you prepare:
- Deleting only the database row and leaving the media in the bucket
- Forgetting replicas, caches and CDN edges when promising deletion
- Long-lived or public media URLs
- Sending media through the chat servers
- No backstop when a delete call fails