Backend interview prepConcurrencyDebugging

Backend Coding Interview Questions

LeetCode teaches algorithms. Gronex teaches backend coding rounds with real repositories, failing tests, service logic, and production-style constraints. This guide covers what backend coding rounds actually test, how they differ from algorithm interviews, the patterns that show up again and again, and free challenges you can start right now.

What backend coding rounds actually test

A backend coding round is closer to a day on the job than a whiteboard puzzle. You’re usually handed an existing service — with its structure, contracts, and a suite of tests — and asked to make it correct. That means reading unfamiliar code quickly, reasoning about state and concurrency, and getting the edge cases right, not just producing an answer that compiles.

Interviewers are watching for correctness under pressure: does your fix hold up when many requests hit the same resource at once? Does a failure leave the system in a clean state? Can you defend your design choices? These are the skills that separate an SDE1 from an SDE2.

How they differ from LeetCode / algorithm rounds

Algorithm rounds

Start from a blank editor. Optimise a single function against a well-defined input/output. Success is usually about time and space complexity on a self-contained problem.

Backend coding rounds

Start from a real repository. Navigate existing code, fix service logic, and make failing tests pass while keeping the rest of the system correct. Success is about correctness, concurrency safety, and clean handling of production-style constraints.

Common backend coding-round patterns

Concurrency & race conditions

Guarding shared state, correct locking, and behaviour under many simultaneous requests.

Deadlock prevention

Acquiring multiple locks in a stable order so opposing operations can’t form a waiting cycle.

Idempotency & retries

Making an operation apply exactly once even when a client retries the same request.

Transaction integrity

All-or-nothing changes — a failed operation leaves state and history untouched.

Rate limiting & quotas

Time-based accounting: token buckets, sliding windows, per-client fairness.

Debugging existing services

Reading an unfamiliar repository, finding the failing behaviour, and fixing it without rewriting everything.

Free backend challenges to practice

Each challenge is a real repository with a failing test suite. Read the walkthrough, then open the brief and fix it — no signup required to read the full problem.

Seat Reservation System Coding Problem

The BookMyShow-style booking round. Reservation state machines, ownership checks, cross-entity validation, and deterministic availability listings — free to try.

Rate Limiter Coding Interview

Enforce a per-client token-bucket policy correctly under concurrent requests. Token bucket, atomic refill-check-consume, per-client isolation, time-based edge cases.

Concurrent Bank Transfer Coding Problem

Move money between accounts safely under load. Atomic transfers, deadlock prevention via lock ordering, race conditions, transaction integrity, idempotency.

Hotel Room Booking System Coding Problem

The Booking.com-style LLD round. Half-open date-range overlap, same-day turnover, cancellation that releases every night, and consistent availability queries.

Loyalty Points System Coding Problem

FIFO point lots with expiry, oldest-first redemption, tier recalculation, and idempotent earn events — the rewards-engine LLD round, free to try.

Distributed Job Scheduler Coding Problem

Exactly-once execution when workers race to claim the same job: atomic claims, leases with expiry, crash recovery, and fencing at completion time.

Flash Sale Inventory Coding Problem

Prevent overselling when buyers race the last unit: atomic check-and-decrement, per-SKU locking, purchase integrity, and exact stock accounting.

File Upload Deduplication Coding Problem

The Dropbox-style storage round: multipart finalization with checksums, content-addressed dedup under concurrent uploads, and reference-counted cleanup.

Food Delivery Order Tracker Coding Problem

The order-lifecycle state machine: legal transitions only, cancellation rules, append-only status history, and deterministic listings.

E-Commerce Coupon Engine Coding Problem

Pricing rules done right: eligibility, stacking, caps and rounding in integer minor units, plus idempotent redemption that never double-burns a coupon.

Wallet Transaction & Refund Coding Problem

The fintech signature round: ledger consistency, idempotent credits and debits, cumulative refund caps, and balances that always reconcile.

Message Queue Consumer Coding Problem

At-least-once delivery done right: idempotent message effects, bounded retries with backoff, and a dead-letter queue for poison messages.

URL Shortener Coding Problem

The TinyURL question you can be graded on: atomic alias claiming, active-link quotas, expiry-aware resolution, and owner-only deletion.

Auction Bidding System Coding Problem

Two races on one object: concurrent bids that must serialize to one winner, and a close operation that beats every in-flight bid exactly once.

Marketplace Escrow System Coding Problem

Money in limbo: holds that resolve exactly once when refunds race releases and deadlines, with a ledger that always reconciles.

Feature Flag System Coding Problem

The rollout control plane: deterministic percentage bucketing, priority-ordered rules, environment isolation, and a kill switch that beats everything.

Subscription Billing Coding Problem

Recurring money done exactly: mid-cycle proration to the paisa, idempotent invoicing, and dunning transitions that never cancel a paying customer.

Ride Booking Driver Matching Coding Problem

The Uber/Ola dispatch core: deterministic candidate ranking with explicit tie-breaks, exclusive assignment, and release-on-cancel that never leaks a driver.

Notification System Coding Problem

Preferences, quiet hours that cross midnight, and idempotent delivery — the three notification bugs every product ships, as failing tests. Free to try.

Calendar Slot Booking Coding Problem

Multi-attendee booking under concurrency: atomic conflict checks per calendar, all-or-nothing claims, and lock ordering that makes deadlock impossible.

Inventory Stock Reservation Coding Problem

The reservation model behind real inventory: reserved-versus-available accounting, duplicate line merging, and all-or-nothing rollback across warehouses.

Related guides

Go deeper by round format, language, and level.

Machine Coding Round Practice

What machine-coding rounds test and how to build a working service under time pressure.

Read the guide →

Java Backend Interview Coding Problems

The backend patterns that show up in Java SDE interviews — concurrency, transactions, idempotency.

Read the guide →

SDE2 Backend Interview Prep

What SDE2 rounds emphasise over SDE1, plus a suggested practice path through the harder problems.

Read the guide →

How to practice for SDE1 / SDE2 backend rounds

Solving algorithm problems builds a floor, but it won’t rehearse the round you’ll actually sit. To prepare for backend coding interviews, practice on real repositories: get comfortable reading code you didn’t write, reproduce a failing test, and fix the underlying behaviour rather than working around it. For SDE2, push further on concurrency, deadlock prevention, transaction integrity, and idempotency — the topics interviewers probe when they want to see production judgement.

A realistic loop: open a challenge, download the starter repo, make the bundled tests green locally with verify.sh, then compare your fix against a reviewed reference solution and articulate the trade-offs out loud — exactly what you’ll do in the room.

Start with a free challenge

No fluff and no signup wall to read the brief: open a real backend repository, see the failing tests, and try to make them pass. If it helps, come back and read the walkthrough for the concepts behind it.