Sample report
← Candidates

What the report looks like

This is the report format you receive after a practice interview. Every claim carries a timestamp chip — tap one to see the exact moment in the transcript it came from.

Interview report

Backend Engineer (2–4 yrs)

Sample Product Company

6 questions · 44 minutes

Overall signal

0/ 100

Topics

0 / 0

Answers

0

Duration

44 min

Citations / claim

0.00

Topic breakdown

  • Service ownership & system context

    Describes a real system with concrete scale, stack, and boundaries without prompting.

  • Database performance & indexing

    Diagnosed and fixed a real slow query, but explains the fix by outcome rather than mechanism.

  • Idempotency & data correctness

    Knows a unique constraint protects against duplicates; unsure how file-level deduplication actually works.

  • Scaling & redesign

    Reaches for set-based processing over row-by-row loops when pushed on 10× volume.

  • Distributed systems / queues

    Not reached in this interview.

Strengths — with the moments that prove them

  • You open with system context most candidates omit — stack, data volume, and upstream dependencies — which lets an interviewer ask sharper follow-ups immediately.

  • You located the bottleneck yourself rather than describing the system as uniformly slow, and named the exact step that degrades under load.

  • Under a 10× volume premise you moved from row-by-row processing to a set-based approach — the right instinct, and you reached it without being led there.

  • When the inconsistency in your timings was raised, you corrected yourself immediately and precisely instead of defending the earlier number. Interviewers read that as trustworthy.

Gaps & misses — with the moments that show them

  • You justified the index by its result (four hours to one) but not its mechanism — why a B-tree on that column changes the plan, or what the planner was doing before. Expect a follow-up you currently can't answer.

  • On idempotency you hedged — "I think we also check the file hash… I'd have to look." For a payments system this is a core correctness property, and uncertainty here is disproportionately costly.

  • Your scaling answer stayed at the level of intent ("batch it", "maybe a join") without naming the trade-off — memory footprint, transaction size, or lock duration on the ledger table.

Contradiction log

  • The nightly job was described as "just over one" hour at 13:40, then as roughly two and a half hours at 37:52. Your clarification was correct — the first figure covered only the matching step — but the original answer would have left an interviewer with the wrong number.

Your 2-week prep plan for this job

  • Week 1 — Read the EXPLAIN ANALYZE output for your own reconciliation query. Be able to say, out loud, what the planner did before and after the index, and why a B-tree suits an equality lookup on a high-cardinality column.

  • Week 1 — Open the ingest code and confirm exactly how file-level deduplication works. Write the two-sentence version: what makes a re-run safe, and what would happen if the same file arrived twice.

  • Week 2 — Rehearse the 5M-per-night redesign with numbers attached: rows per batch, memory per batch, and the lock/transaction implications of a set-based update on the ledger.

  • Week 2 — This JD lists queue-based processing, which never came up. Prepare one story about retries, ordering, or at-least-once delivery from your Celery work before the real interview.

Get your own

Paste the posting, upload your CV, take the interview.

Start practicing
Help