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.