Design Facebook Messenger
0%
Editorial Solution
System requirements
Functional
Capacity estimation
Traffic
Storage
API design
The Key Decision: How Do Client and Server Exchange Messages?
Database design
Analyzing the Data
High-level design
Request flows
Sending a Message
Detailed component design
Database Sharding
Trade offs/Tech choices
Server-Side vs. Client-Side Timestamps
Failure scenarios/bottlenecks
Client Network Failure
Future improvements
End-to-End Encryption
Content Moderation
Table of Contents
Premium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockPremium content
UnlockTry this problem yourself
Reading a solution is not the same as producing one under interview pressure. Design it on the whiteboard and get scored feedback.
Asked in these interview guides
Company guides that list this problem among their sample questions.
0%
Editorial Solution
System requirements
Functional
Capacity estimation
Traffic
Storage
API design
The Key Decision: How Do Client and Server Exchange Messages?
Database design
Analyzing the Data
High-level design
Request flows
Sending a Message
Detailed component design
Database Sharding
Trade offs/Tech choices
Server-Side vs. Client-Side Timestamps
Failure scenarios/bottlenecks
Client Network Failure
Future improvements
End-to-End Encryption
Content Moderation