Senior Engineer Design Questions I Actually Use
Four open-ended design prompts I ask in senior engineer loops. There is no clean LeetCode answer; I am listening for how the candidate frames the tradeoff, when they push back, and whether they can ship a v1 before optimizing.
By @meerapowell
December 26, 2025
·
Updated May 18, 2026
487 views
5
4.2 (10)
We need to send a transactional email when a user signs up. The email service is third-party and occasionally returns 500s. Design the call site so signups are not blocked and emails are eventually sent. Be specific about where retries live and how you avoid double-sending.
How I'd ship it
How I'd ship it: signup({ email, name }) inserts the user row AND an outbox row { kind: 'email.welcome' } inside a single DB transaction, then returns the user. The signup never blocks on the email service. A separate dispatcher worker claims outbox rows and calls emailService.send({ idempotencyKey: 'welcome:user-42', ... }). Retries by the dispatcher hit the idempotency key on the email service side and no-op, so no double-sending.
3 more questions and all solutions are locked.
Purchase this item to access all questions, code snippets, and solutions.
