Question bankPricingSign in

Chat System

MessagingHard1:30

Design a real-time chat system that supports one-on-one and group messaging. Users should see messages in real time, and messages should be persisted. The system should handle 50 million daily active users.

Cover: connection management, message delivery, storage, online/offline handling, and group chat fan-out.

How to approach it

  • Hint 1

    WebSockets provide the persistent, bidirectional connection needed for real-time delivery.

  • Hint 2

    Think about how to route a message when the recipient is connected to a different server.

  • Hint 3

    For group chats, consider fan-out on write vs. fan-out on read.

Ready to answer it out loud?

Record your answer in 1:30 and Preptile scores it 1–10 with specifics — what landed, what you skipped, and what to say next time.

Practising needs an invite code. Join the waitlist and we’ll send you one.