How the interviewer opens it
“Design an email service for users worldwide. Users must send and receive messages, view conversations, and keep mailboxes current across devices. The service must support large attachments.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Interfaces and scope
- Users and message volume
- Read and write mix
- External delivery
- Message size and retention
- Latency
- Consistency and availability
- Regional failure and durability
- Conversation and device behavior
- Security and abuse
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Send and receive mail within the service and with other providers
- Show messages in conversations
- Synchronize messages, labels, read flags, and deletions across devices
- Transfer and retain large attachments
Usually out of scope
- Calendar features
- POP and IMAP support
- Spam classifier internals
- Account creation and recovery
What interviewers ask about
- Message acceptance and delivery
- An acceptance response creates a durability promise. External SMTP delivery can have an unknown result, and each recipient can reach a different state.
- Mailbox state across devices
- Devices miss notifications and return after long absences. Concurrent changes and deletions must converge without gaps in the mailbox history.
- Conversation membership
- Reply headers can be absent, late, or false. Different recipients also see different parts of the same conversation.
- Attachment transfer and lifetime
- Attachments dominate storage and transfer volume. Interrupted uploads, shared references, and region failures can leave messages with missing content.
Common mistakes
- Promises exactly-once SMTP delivery despite an unknown remote result.
- Acknowledges a message before both content and delivery work meet the durability requirement.
- Uses Message-ID as a trusted unique key or the subject as the only conversation rule.
- Uses push notifications as the only mailbox synchronization mechanism.
- Stores attachments in mailbox rows or deletes shared content with one mailbox entry.
- Adds regional replicas without explaining content durability, writer ownership, and failover.
The bar by level
- Senior (L5/E5)
- Defines acceptance boundaries, recipient states, and idempotency. Designs gap-free mailbox sync with deletion history. Handles conversation privacy and attachment lifetime.
- Staff (L6+/E6+)
- Proves regional durability for metadata and content. Defines writer failover and ambiguous SMTP outcomes. Quantifies replication cost, provider backlogs, and large recipient fan-out.