What to Expect in the Slack System Design Interview
Expect one system design interview of about one hour, with a question close to Slack's own product: real-time messaging, presence, notifications, or search. Slack is a workplace messaging product, so the interview tests whether you can design systems that deliver messages fast to many users. Mid-level candidates get one design round in the final loop. Senior candidates may get two, with more time on trade-offs and failure cases. The interviewer wants a clear process: requirements first, then the main parts, then the hard details.
The Question Types Slack Asks
Candidates report design questions in these areas:
- A chat system. Design a team messaging product with channels and message history. This is the signature question, described below.
- Presence. Design the feature that shows which users are online right now.
- Notifications. Design a service that sends push notifications to phones and desktops without duplicates.
- Search. Design search over billions of stored messages, restricted to each company's own data.
- Rate limiting. Design a service that limits how many API calls each app can make per minute.
Each question comes from a real Slack problem. Reading about how Slack itself works is useful preparation, because interviewers know that architecture well.
The Signature Question: Design a Chat System
Here is an outline you can follow in the interview.
Step 1: Clarify Requirements
Ask before you design. Good questions: How many users? Do we need group channels or only direct messages? Do we need message history and search? Must messages arrive in order? Agree on a scope such as: channels, history, presence, and millions of connected users.
Step 2: The Connection Layer
Real-time chat needs a persistent connection, so clients use WebSockets. A WebSocket is a long-lived, two-way connection between a client and a server. A pool of gateway servers holds these connections. A load balancer, a service that spreads traffic across servers, assigns each client to a gateway.
Step 3: The Message Path
When a user sends a message, the gateway passes it to a messaging service. The service does two jobs. First, it stores the message in a database so history survives. Second, it publishes the message to a pub/sub system. Pub/sub, short for publish and subscribe, is a pattern where senders post messages to a topic and receivers listen to that topic. Each gateway subscribes to the channels its connected users belong to. The gateway then pushes the message to those users over their WebSockets.
Step 4: Storage and Sharding
Messages are written far less often than they are read, so store them by channel. Shard the database, which means splitting data across many machines, using the team or channel ID as the key. This keeps each company's data separate, which matters for a business product like Slack.
Step 5: Presence and Offline Users
Keep presence in a fast in-memory store such as Redis, because it changes every second and needs no history. For offline users, a notification service sends a push notification and updates their unread counts. When they reconnect, the client fetches missed messages from storage by timestamp.
Step 6: Trade-offs to Name
Say the trade-offs out loud. Ordering: use a sequence number per channel rather than clock time. Delivery: at-least-once delivery means a message may arrive twice, so clients remove duplicates by message ID. Fan-out: sending one message to a channel with 10,000 members multiplies work, so measure and cache carefully.
What the Interviewer Grades
- Process. You clarified scope before drawing parts.
- Correct building blocks. Gateways, pub/sub, storage, and presence each in the right place.
- Trade-off reasoning. You compared options and gave reasons, not just names.
- Scale awareness. You did rough math on connections, messages per second, and storage.
How to Prepare
- Learn the standard building blocks. Grokking the System Design Interview includes a full chat system design among its case studies.
- Go deeper on patterns. Grokking the Advanced System Design Interview explains replication, sharding, and messaging patterns in depth.
- Practice the outline above. Design a chat system on paper in 45 minutes, three times, until the steps are automatic.
- Know the rest of the loop. Read What Is the Slack Interview Process Like? (Round by Round) and Top Slack Behavioral Interview Questions (and How to Answer Them) for the other rounds.

GET YOUR FREE
Coding Questions Catalog

$123

$197

$72