Databricks·Software Engineer·Onsite - System Design / Architecture
- Design a Slack-like team messaging service with workspaces, public and private channels, direct messages, real-time delivery, message history, presence, typing indicators, file attachments, search, and notifications.
- How would you handle message ordering and storage at scale for a high-volume messaging system?
- How would you design the presence service to track which users are online across millions of concurrent connections?
- How would you scale fan-out for very large channels, say tens of thousands of members receiving the same message simultaneously?
- How would you build search across message history for a system with billions of messages?
- Walk through your API design for core messaging operations like sending a message, fetching history, and managing channel membership.
“I started with the API layer and felt okay there, but the moment they pushed on persistent connections I got a bit shaky.”