Design a Chat System like Google Chat
Last updated: June 17, 2026
Quick Overview
Design a real-time messaging system. Cover message delivery guarantees, presence indicators, group conversations, message search and history, and handling millions of concurrent connections via WebSockets.
Google
System Design
Software Engineer
Software Engineer
Onsite
System Design
Hard
103
0
73 solved
Design a real-time messaging system. Cover message delivery guarantees, presence indicators, group conversations, message search and history, and handling millions of concurrent connections via WebSockets.
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
- Functional Requirements:
- Real-time messaging with delivery guarantees (at least once).
- Presence indicators to show if users are online, offline, or typing.
- Support for group conversa...
Capacity Estimation
Assuming Google Chat targets 50 million active users:
- Active Users: 50 million.
- Messages per User per Day: Average of 20 messages.
- Total Messages per Day: 50M users * 20 messages = 1...
Submit Your Answer
Markdown supported