Delivery guarantees
0-day streakReview

Your progress

Level 1

0 XP100 XP to level 2
0day streak
0best streak
0topics started
0cards reviewed
    Review cards

    Progress is stored only in this browser. No account is required.

    Layer 3 · Go deeper · 6 min

    Go deeper

    Size it, build it, then make the calls an interviewer will push you on.

    Build-up · 6 steps

    Make read-process-write exactly once

    A job reads orders and writes payment instructions. Kafka’s trick is to commit the output and the input offset as one transaction.

    Step 1 of 6

    A job between two topics

    The Processor reads an order and writes a payment instruction. If it crashes after the write but before committing its input offset, the restart writes the payment again. Idempotent producers can’t help.

    4 interview moments

    You’re the candidate

    The interviewer pushes on the hard parts. Pick an approach and see how it holds up.

    1. Deep dive 1 of 4

      Interviewer

      “Your payments producer uses acks=1 and resends on timeout. Some acked payments vanished after a broker crash; others appear twice. What do you set?”

      Your move. Pick an approach:

    2. Deep dive 2 of 4

      Interviewer

      “Your Kafka Streams job runs exactly_once_v2, writes to payments and calls the payment gateway per order. How do you avoid double charges?”

      Your move. Pick an approach:

    3. Deep dive 3 of 4

      Interviewer

      “The payment gateway is struggling. The SDK retries 3 times, your handler 3 times, and SQS allows 5 receives. What do you change?”

      Your move. Pick an approach:

    4. Deep dive 4 of 4

      Interviewer

      “A bug sent 120,000 address updates to an SQS dead-letter queue. The fix has shipped. How do you replay them?”

      Your move. Pick an approach:

    Build-up · 5 steps

    Follow one dead letter on SQS

    Order 881 hits a bug in the consumer. Watch it go from backed-off retries to the DLQ, an alarm, a fix and a capped redrive.

    Step 1 of 5

    Fail, back off, retry

    The consumer fails on order 881 and hands it back with growing delays of 30, 60, 120 and 240 seconds. Five attempts span 7.5 minutes, room for a transient error to clear.