Design a temporary email service
Company: Confluent
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Design a disposable email service that issues auto-expiring addresses (e.g., 10-minute inboxes) and receives messages. Specify: requirements and APIs, address generation and TTL semantics, SMTP ingress (MX records, inbound MTA), spam/abuse controls, storage schema with per-message TTL and indexing, retrieval via Web UI and REST, rate limiting and quota, privacy/security (isolation, link-safety, attachment handling), compliance and deletion, background cleanup, observability, and capacity planning. Provide a high-level architecture (MTA → queue/stream → message processor → durable store → cache), data model, consistency/availability trade-offs, scaling to millions of inboxes/day, and cost controls.
Quick Answer: This question evaluates a candidate's ability to design scalable, highly available, and privacy-focused email ingestion systems, probing competencies in distributed systems, networking (SMTP/MX), storage lifecycle management, rate limiting, security/privacy, and observability.