Design Slack
Real-time team messaging: channels, DMs, presence, history and search for millions of concurrent users.
51 questions on this site are reported in Meta software engineer interviews. Each has a full reference design (requirements, back-of-envelope numbers, components, user flows and deep dives with interviewer follow-ups). Each one can be walked through turn by turn and then sat as a mock. Patterns covered: real-time, websockets, fan-out, chat, ranking, caching, social, transcoding, cdn, adaptive-bitrate, pipelines, storage, multi-channel, idempotency, rate-limiting, priority-queues, gpu-batching, streaming, scheduling, kv-cache, tool-calling, context-management, prompt-caching, consistent-hashing, eviction, replication, hot-keys, chunking, dedupe, sync, object-storage, conflict-resolution, tries, search, stream-processing, windowing, exactly-once, olap, analytics, media-pipeline, counters, ttl, persistent-connections, store-and-forward, end-to-end-encryption, delivery-receipts, push, proactive-caching, steering, resilience, geospatial-index, change-data-capture, aggregation, sorted-sets, sharding, time-windows, anti-cheat, quorum-replication, gossip, lsm-tree, sandboxing, job-queue, untrusted-code, contests, autoscaling, geo-sharding, recommendations, bloom-filters, match-detection, write-heavy, comment-trees, voting, listings, contention, compare-and-set, durable-timers, bidding, broadcast, pub-sub, sse, sampling, moderation, heavy-hitters, count-min-sketch, sliding-windows, webrtc, sfu, real-time-media, congestion-control, multi-region, inverted-index, scatter-gather, tail-latency, prefetching, licensing, offline, counting, playlists, smtp-ingress, spam-filtering, per-user-sharding, peer-to-peer, bandwidth, integrity, stragglers, vector-search, feature-store, consensus, leases, fencing-tokens, leader-election, watches, erasure-coding, range-partitioning, durability, strong-consistency, recurrence, time-zones, interval-search, deployment, canary, reconciliation, rollback, blast-radius, live-video, low-latency, request-coalescing, adaptive-scheduling, change-detection, time-series, range-queries, alerting, geospatial, async-pipeline, spatial-matching, leaderboards, privacy, time-partitioning, load-balancing, networking, health-checks, control-plane, graph, in-memory, consistency, batch, auctions, budget-pacing, git, quorum, content-addressing, thundering-herd, short-video, prefetch, session-ranking, exploration, clustering, ingestion, edge-caching, deduplication, experimentation, hashing, statistics, latency-budget, cancellation, prefix-caching, context-assembly, code-completion, expiry, abuse, random-walks, visual-search, image-serving, ann-indexes, quantisation, segments, multi-tenancy, perceptual-hashing, review-queues, policy-engine, audit-log, market-data, order-management, ledger, fintech, actors, presence, wide-column.
Run an AI mock Meta interview →One of these questions, run as a live round in that style, with a debrief at the end.
Attribution comes from public interview guides and candidate reports, not from Meta. It indicates where a question has been asked, nothing more.
Real-time team messaging: channels, DMs, presence, history and search for millions of concurrent users.
The home timeline of Twitter, Instagram or Facebook: posts from people you follow, ranked, fresh, and fast for hundreds of millions of users.
Upload, transcode, and stream video to a billion viewers: a processing pipeline on one side, a CDN problem on the other.
Deliver push, email, SMS and in-app notifications to hundreds of millions of users: the right channel, once, on time, and never at 3 a.m.
Serve a large language model behind an API: queue the requests, batch them onto scarce GPUs, stream tokens back, and keep every accelerator busy without blowing the latency budget.
An AI chat assistant for 100 M weekly users whose streamed answers survive dropped connections, call tools mid-answer, and share scarce GPUs across tiers.
A Redis-like cache as a service: hundreds of nodes, terabytes of memory, sub-millisecond gets, and a cluster that survives losing a machine mid-request.
Keep a folder identical on every device: upload huge files in resumable chunks, push only what changed, and reconcile two machines that both edited the same file offline.
Suggest the top ten completions after every keystroke, in under fifty milliseconds, from what the world searched for in the last hour, without suggesting anything that gets you in the newspaper.
Count a million ad clicks a second, show advertisers a dashboard that is seconds behind, stop a campaign the moment its budget runs out, and be exactly right when the invoice is cut.
Upload photos, publish posts and stories, and load a feed of them for 500 M daily users, with every image served from a CDN in milliseconds.
Deliver 50 billion end-to-end encrypted messages a day to phones that are often offline, with sent, delivered and read ticks, and a server that cannot read any of it.
Stream a fixed catalog to 40 M people at once, 200 Tbps at peak, starting in under two seconds, from cache servers placed inside the viewers’ own internet providers.
Find the best places near you, filtered by what is open now, from 200 M businesses, in under 200 ms, and keep ratings honest as reviews arrive.
Rank 300 M players of a mobile game in real time: the global top 100, your exact rank among millions, your friends, and daily, weekly and season boards that reset on time.
A Dynamo-style store that keeps 10 billion keys on dozens of machines, survives node and rack failures, and lets each caller trade consistency for latency with N, R and W.
Run untrusted code from strangers against hidden tests in a dozen languages, return a fair verdict in seconds, and survive 50,000 people submitting in the last minutes of a contest.
Show each person a deck of nearby profiles that fit both people’s preferences, never repeat one, take 2 billion swipes a day, and announce a match the instant two people like each other.
Serve communities of posts with deeply nested comment threads, take tens of thousands of votes a second, rank by hot and best, and keep a 50,000-comment thread fast while it is still growing.
Run 50 million live eBay-style auctions: order every bid strictly per auction, push the price to watchers live, and close each auction exactly once.
Comments and reactions on live video that reach viewers within two seconds, at 50 M concurrent viewers and 5 M on one stream.
Rank the top 1,000 videos by views over the last minute, hour, day and all time, from a million views a second.
Real-time audio, video and screen share for 2 to 1,000 people per meeting, 300 M participants a day, under 150 ms mouth to ear.
Search 50 billion pages at 100 k queries a second: the ten best results with snippets in under 200 ms, and news within minutes.
Stream 100 M tracks to 600 M listeners with sound in 200 ms, offline downloads, regional licensing, and every play counted for royalties.
Receive, filter, store and search email for 1.5 billion users: 200 billion inbound messages a day, mostly spam, kept for 20 years.
Get a 200 GB checkpoint from one origin onto 10,000 machines in five data centres within minutes, under capped links, verifying every byte.
The “recommended for you” video home feed: 50 personalised videos picked from billions for 500 M daily users in under 200 ms.
A Chubby-style lock service for 50 k processes: leases, leader election, fencing tokens and watched config, never letting two holders act at once.
An S3-like store for objects from bytes to terabytes, with eleven nines of durability and strong read-after-write consistency at exabyte scale.
Recurring events, invitations, free/busy and reminders for 500 million users, correct in every time zone and synced to every device within seconds.
Build each merge once into a signed artifact, roll it out in stages to 50,000 hosts in 10 regions, and roll back automatically on regression.
Ingest 100 k live broadcasts, transcode them in real time, and deliver each about three seconds behind live, to three viewers or 500 k.
Track 500 M products' price history and alert 50 M users when a price drops below their target, in time to buy.
Record runs and rides offline, process each upload into a map, stats and segment efforts, and rank them for 100 M athletes.
Keyword search over a billion users’ posts, searchable seconds after posting, sorted by recency or likes, hiding every post the searcher may not see.
Spread 5 M requests a second over 50 k backends, terminate TLS, route by host and path, survive losing any balancer or data centre.
LinkedIn’s connections for 1 B members: invitations, follows, a 1st/2nd/3rd badge on 200 k profile views a second, and daily People You May Know.
Pick the best of 10 M active ads for 5 M requests a second in under 100 ms, within every campaign’s targeting, budget and frequency caps.
Host 400 M git repositories on replicated file servers, serve 100 k fetches a second, and run pull requests, forks and webhooks on top.
A full-screen feed of short videos for 1 B daily users, where the next clip starts instantly and every swipe reshapes what comes next.
Collect 2 M articles a day from 50,000 publishers, group them into stories, rank them per edition, and serve 300 M daily readers.
Run 500 experiments at once on 300 M users: sticky variants in microseconds, exposure logging, and confidence intervals teams can trust.
Inline AI code suggestions for 10 M developers, shown within 300 ms of a pause in typing, when most requests are never used.
Show each user which friends are within 5 miles, refreshed every 30 s, for 10 M concurrent users, without leaking anyone’s location.
Store and serve 10 M text pastes a day behind unguessable links: expiry that is never late, burn after reading, and abuse takedown.
Save images to boards, browse a personalised grid and search by picture: 100 M daily users, 5 B distinct images behind 100 B saves.
A managed vector database: 10,000 tenants, 20 B vectors, filtered top-k in under 50 ms at 0.95 recall, and writes searchable in seconds.
Catch spam, nudity, hate and illegal media in 4 billion daily posts and comments before they spread, with 15,000 reviewers for the hard cases.
A retail brokerage: live prices to 3 M phones, 20 k orders a second at the open, every share and cent exact.
Community chat and voice: servers with a million members, years of history, roles and presence, for 20 M concurrent users.
45 minutes, product-shaped: a feature of a consumer product at a scale few companies reach. Often paired with a product sense angle.
Starting with infrastructure. The expected opening is what the user sees and what that implies, then the system that delivers it.
From public interview guides and candidate reports, and Meta’s own interview guidance where it publishes any. Not endorsed by Meta. Formats change; treat it as a prior, not a promise.
Read before the round: Meta product architecture vs system design interview
Large-company loops run 45 to 60 minutes, expect numbers, and spend most of the time on deep dives. Walk through a question to see how a strong candidate paces the hour, sit the same question as a mock until you can produce the requirements, the estimates and the design without looking, then read the interview framework guide for how to structure the hour. The other questions on the site teach patterns that show up in Meta interviews under different names.
Questions reported in Meta system design interviews include Slack, News Feed, YouTube, Notification System, LLM Inference Service, ChatGPT, Distributed Cache and Dropbox, among 51 in total. Between them they test real time, websockets, fan out, chat, ranking and caching. The reports come from public interview guides and candidate accounts, not from Meta, so practise the patterns rather than memorising one list.
45 minutes, product-shaped: a feature of a consumer product at a scale few companies reach. Often paired with a product sense angle.
Reports say the Meta round weighs 4 things. 1. Product judgement: what the feature needs to do before how it is built. 2. Fan-out, feeds, ranking and the hot-key problems that come with billions of users. 3. Practical storage and caching decisions with numbers attached. 4. Iterating from a simple design to one that survives the scale. Starting with infrastructure. The expected opening is what the user sees and what that implies, then the system that delivers it.
Practise the questions reported there out loud, under a 45-minute clock: requirements with numbers first, then estimates, a high-level design, and deep dives into the two or three hardest parts. Start with Slack: watch a strong candidate answer it turn by turn, then sit it yourself. Then cover the patterns the round leans on (real time, websockets, fan out and chat) with one more question each.