Design Slack
PremiumReal-timeHard
- WebSocket
- Channel fan out
- Unread counts
Quick answer
This real-time interview question asks you to design Slack. Aim for a design that delivers updates to many users with low delay, then explain connections, fan-out, ordering and trade-offs. Interviewers want to see how you keep latency low, handle reconnects and stay correct under load.
The problem
Design the real-time core of a team messaging product like Slack. Messages in channels, DMs and threads must appear on every open device of every member within a second, unread counts must stay right, and a user who opens the app after a weekend must see the correct state quickly.
A user belongs to one or more workspaces. A workspace has channels (public or private), direct messages and threads under messages. The hard part is doing this for 12 million concurrent connections while a 200,000-member channel does not slow everyone else.
What must the system do?
- Send and receive: A member posts a message in a channel, DM or thread; all other members see it on every device they have open.
- Unread and mentions: Each user sees an unread count per channel and a badge for @mentions, consistent across devices.
How well must it do it?
- Latency: Message delivery to online members in under 500 ms within a region.
- Ordering: Members of a channel see messages in the same order.
What scale should you design for?
Use these numbers in your estimates.
The scale numbers unlock with this questionUnlock
Key concepts
- WebSocket
- Channel fan out
- Unread counts
- Multi device sync
- Message ordering
- Threads
How you’ll practise
- Requirements
- Estimate
- Connections
- Message flow
- Delivery guarantees
- Wrap-up
Lala, personalized to you, gives a hint when you ask and reviews your design when you are ready.
What do interviewers look for?
In any real-time design round.
- Clarifies latency, ordering and delivery guarantees
- Chooses a connection model with reasons
- Explains fan-out to many receivers
- Handles reconnects, missed messages and duplicates
- Plans for hot spots and sudden traffic spikes
- States trade-offs between consistency and speed
Questions people ask about this interview question
- Which design type is this question?
- It is a real-time question. You design Slack and explain your choices the way you would in an interview.
- Is this question asked at entry level?
- It is marked Hard. It suits engineers preparing for senior interviews, where you are expected to drive the discussion and go deep on trade-offs.
- What should I cover first?
- Start with who sends and receives updates, how fast they must arrive and what order matters. Agree on scope with the interviewer before you design anything.
- Can I practise it for free?
- It is a premium question. Sign up and unlock it once for 10 credits; it then stays unlocked. When you finish, Lala, your personalized AI mentor, can review your design for 30 credits.
Related questions
Updated · Written by the SevyDevy team