The transactional outbox is the canonical fix for dual writes
A medium Pipeline Design mock interview question on DataDriven. Practice with AI-powered feedback, real code execution, and a hire/no-hire decision.
- Domain
- Pipeline Design
- Difficulty
- medium
Interview Prompt
The transactional outbox is the canonical fix for dual writes. The application writes only to the database; the same transaction that writes the business row also inserts an outbox row. A separate publisher drains the outbox to the broker. Either both rows commit or neither does. The section names two publisher implementations: a polling publisher that selects unpublished rows and updates published_at, and a CDC-driven publisher that reads the WAL via Debezium. Build the outbox by adding the outbox table, replacing the dual-write handler with one that writes both rows in one transaction, and adding a publisher whose name states which implementation it uses.
How This Interview Works
- Read the vague prompt (just like a real interview)
- Ask clarifying questions to the AI interviewer
- Write your pipeline design solution with real code execution
- Get instant feedback and a hire/no-hire decision