System design interview questionHard

Design Slack

Design a real-time messaging platform for enterprises.

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 Workspaces/Channels/Threads"]
    A --> F3["Presence Online/Offline"]
    A --> F4["Search Async Indexing into a Search Cluster"]
    A --> F5["Scalability Gateway vs Logic layer"]

3. Key Focus Areas

  • 1
    Real-time Messaging (WebSockets)
  • 2
    Channel Organization (Workspaces/Channels/Threads)
  • 3
    Presence (Online/Offline)
  • 4
    Search (Async Indexing into a Search Cluster)
  • 5
    Scalability (Gateway vs Logic layer)

4. What the Interviewer Looks For

The interviewer probes these areas, and the report grades the interview against them.

  • Requirements and estimation
  • Real-time delivery architecture
  • Data model and partitioning
  • Unread state, ephemeral events, and search
  • Enterprise reliability and compliance

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

Related System Design

Design a Cross-Product Tagging System

Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.

Related System Design

Design a Notification System

Design a scalable notification service that sends emails, SMS, and push notifications to millions of users.