1. Problem Statement
Design an enterprise chat app like Slack. It needs to support channels, direct messages, and real-time updates for millions of concurrent users.
2. Architecture Discussion Map
Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.
Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
A["Design Slack"]
A --> F1["Real-time Messaging WebSockets"]
A --> F2["Channel Organization Teams/Channels/Threads"]
A --> F3["Presence Online/Offline"]
A --> F4["Search ElasticSearch integration"]
A --> F5["Scalability Gateway vs Logic layer"]3. Key Focus Areas
- 1Real-time Messaging (WebSockets)
- 2Channel Organization (Teams/Channels/Threads)
- 3Presence (Online/Offline)
- 4Search (ElasticSearch integration)
- 5Scalability (Gateway vs Logic layer)
Want interactive feedback?
Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.
Continue to DashboardCore Concepts
System DesignReal-time CommunicationDatabases
