18. Discord
Medium
Design a community group chat service like Discord
- Functional Requirements
- Users should be able to join servers via invite links
- Users should be able to send message in specific channels
- Messages can be text and/or images
- Nonfunctional Requirements
- 99.99% availability
- Low latency
- Chat history should be stored indefinitely
- Assumptions
- 140 bytes per text message
- 1 mb per image
- Usage is spread out evenly across all servers and users
- Estimated Usage
- 24 million DAU
- 550 million messages per day
- 10% of messages have images
Seen this question in a real interview before?
Not all editor features are supported on mobile