Hard
LinkedInCanvaMicrosoft

Design a Chat Application System Design Interview

Design a real-time chat application like WhatsApp or Facebook Messenger.

1. Problem Statement

We're going to design a real-time chat application similar to WhatsApp. What are the key features and constraints we should consider?

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 TD
    A[Alice] -->|WebSocket| B(Chat Server 1)
    C[Bob] -->|WebSocket| D(Chat Server 2)
    B --> E[Pub/Sub / Redis]
    E --> D
    B --> F[(Cassandra : Messages Table)]

3. Key Focus Areas

  • 1
    Protocol Choice (WebSockets vs Long Polling)
  • 2
    Message Storage & History (HBase/Cassandra vs SQL)
  • 3
    Real-time Status/Presence (Heartbeats)
  • 4
    Push Notifications (Mobile wake-up)
  • 5
    Group Chat Fan-out efficiency

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

System DesignReal-time CommunicationDatabases

Continue preparing

Build a complete software engineer mock interview plan

Use this scenario in a focused preparation plan

Related System Design

Design Slack

Design a real-time messaging platform for enterprises.

Related System Design

Design a URL Shortener

Design a scalable service like tinyurl.com that redirects short aliases to long URLs.

Related System Design

Design Google Docs

Design a real-time collaborative document editor supporting multiple simultaneous users.

Related System Design

Design Job Scheduler

Design a distributed job scheduler capable of handling recurring and one-time tasks at scale.