← Confluent Interview Insights

Confluent·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

System design round at Confluent for a software engineer role. The whole thing was focused on designing a disposable email service from scratch, which sounds straightforward until you start pulling on the threads around SMTP ingestion and real-time delivery.

Questions Asked (1)

Q1

Design a temporary/disposable email service similar to TempMail or 10MinuteMail, covering address generation, mail ingestion, storage, TTL expiry, and real-time UI delivery.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

I went straight to address generation and talked about random vs pooled addresses, which felt safe.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements (scale, retention, anonymity, abuse prevention) and then walk through the core components: address generation, mail ingestion, storage, TTL expiry, and real-time delivery. Emphasize trade-offs and how you would leverage Confluent's streaming platform for scalability and real-time processing.

Pro tip: Highlight the importance of abuse prevention and data retention policies, as disposable email services are often targets for spam and illegal activities. Mention how you would use Kafka for reliable mail ingestion and event-driven TTL expiry.

1. Clarify Requirements and Constraints

Ask about expected scale (emails per second, number of active addresses), retention period, anonymity requirements, and abuse prevention needs. This sets the stage for design decisions.

2. Design Address Generation and Mail Ingestion

Propose a scheme for generating unique, unpredictable addresses (e.g., UUID or hash) and describe how incoming emails are received (e.g., via SMTP server or API) and published to a Kafka topic for processing.

3. Design Storage and TTL Expiry

Choose a storage solution (e.g., NoSQL like Cassandra or Redis with TTL) for temporary email storage. Explain how TTL is enforced, either via database TTL features or a scheduled job that deletes expired emails.

4. Design Real-Time UI Delivery

Describe how the frontend receives new emails in real-time, such as via WebSockets or Server-Sent Events, and how the backend pushes updates using Kafka consumers and a pub/sub mechanism.

5. Address Scalability, Reliability, and Trade-offs

Discuss partitioning, replication, and fault tolerance. Compare trade-offs between different storage options, TTL enforcement methods, and real-time delivery mechanisms.

Key Points to Mention

  • Use of Kafka for decoupling mail ingestion from processing and enabling real-time delivery.
  • Address generation must be unique and unpredictable to prevent guessing and abuse.
  • Storage choice: Redis with TTL for fast access and automatic expiry, or Cassandra for scalability with a cleanup service.
  • TTL enforcement: database-level TTL vs. scheduled deletion, considering performance and cost.
  • Real-time delivery: WebSockets or SSE, with a pub/sub system (e.g., Kafka) to notify clients.
  • Abuse prevention: rate limiting, CAPTCHA, and monitoring for spam or illegal content.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.