codereviewpath

Code review interview trainer

Find the blocker before the nits.

30 lessons and 45 review tasks for the round where you get someone else's code and 45 minutes. You comment on lines. A checker in your browser ticks each planted issue the moment you find it.

30
lessons in 6 modules
45
practice tasks
3
languages: JS, TS, PHP
discount.js Lesson 01 exercise

Intent. Returns the discount for a cart: 20% for premium users, 10% on carts over 100, otherwise nothing.

  1. // Returns the discount amount for a cart.
  2. function getDiscount(user, cartTotal) {
  3. if (user.isPremium = true) {
  4. return cartTotal * 0.2;
  5. }
  6. if (cartTotal > 100) {
  7. return cartTotal * 0.1;
  8. }
  9. }
  10. export { getDiscount };

0 of 4 issues found

  • Blocker 0/1
  • Should fix 0/2
  • Nit 0/1

    Click a line number to comment.

    The round, minute by minute

    You get a class or a function of 50 to 200 lines that someone wants to merge. You review it out loud, like a colleague, and decide if it ships. This is the typical shape, from Google's reviewer guide and published guides on the round.

    1. 0-5 minUnderstand the intentSay what the code should do. Ask what the legend leaves out.
    2. 5-35 minReview out loudData loss and security first, then crashes, wrong results, concurrency, errors. Style last.
    3. 35-45 minFix and decideFix the worst bug with a test that fails before and passes after. Merge or not, top three reasons.

    What gets scored

    • Comprehension. You found the main path before the details.
    • Correctness and security. Real bugs, each with an input that proves it.
    • Prioritization. Blockers before nits. Twenty naming comments and a missed SQL injection is a fail.
    • Communication. About the code, with the impact and a fix.
    • Tests. A test that would have caught it.

    30 lessons, one exercise each

    Each lesson has the idea, bad and good code in JavaScript, TypeScript and PHP, comments you can say word for word, and a review exercise in the language you pick. A module opens when the one before it is done.

    01Foundations

    1. 01What code review is
    2. 02How the interview works
    3. 03Reading unfamiliar code
    4. 04Severity levels
    5. 05Writing a comment

    02Correctness

    1. 06Logic errors
    2. 07Edge cases
    3. 08Error handling
    4. 09Types
    5. 10State and mutation
    6. 11Async and concurrency

    03Security

    1. 12Injection: SQL, commands, eval
    2. 13XSS and CSRF
    3. 14Authorization
    4. 15Secrets and personal data
    5. 16Untrusted input

    04Design and readability

    1. 17Naming
    2. 18Functions
    3. 19DRY, KISS, YAGNI
    4. 20SOLID
    5. 21Magic values and config
    6. 22Comments and dead code
    7. 23Structure

    05Reliability and performance

    1. 24Logging and observability
    2. 25Performance
    3. 26Tests
    4. 27Contracts and compatibility

    06The interview

    1. 28The 50-minute protocol
    2. 29The follow-up task
    3. 30When the code is good

    How the checker counts

    It runs in your browser. No AI reads your lessons, so they cost nothing to run and answer instantly.

    1. A comment is a line range, a severity, a category and a sentence in English.
    2. It counts when the lines are within 2 of a planted issue and the category matches. Right place, wrong severity: found, marked amber.
    3. Progress shows how many blockers, should-fixes and nits are left. It never shows where.
    4. Hints come in three steps: the category, the lines, the problem. A find after a hint counts half.
    5. Check puts the answer key next to your comments, with the order you found things in and a fixed version of the code.

    45 tasks, from a function to a module

    15 per language, 5 per tier. Three of them are clean code: the right review says so and asks about tests and context.

    Tier 1 15 to 60 lines, 3 to 5 issues in one or two categories. debounce, CSV parser, money type, enum and match
    Tier 2 60 to 120 lines, 6 to 9 issues, mixed severities. login handler, API client, feature flags, session middleware
    Tier 3 100 to 200 lines, 8 to 12 issues, always security plus concurrency or performance. Then fix it: tests run in your browser. rate limiter, payment webhook, auth middleware, CSV import job

    In development

    Then a 50-minute mock, by voice

    It opens after lesson 30. An AI interviewer gives you a tier 2 or 3 task, listens while you review, and sees each comment you write. It asks why something is a blocker and how you would test it. It does not hint before minute 25.

    0-3
    Intent. Questions about context get answers from the task's legend.
    3-33
    Review. You talk and comment on lines.
    33-45
    Follow-up. Fix the main bug in an editor; the tests run in your browser.
    45-50
    Summary. Merge or not, and your top three points.
    After
    A scorecard on 7 scales from Strong No Hire to Strong Hire: what you found, what you missed, false alarms, time to the first blocker.

    Questions

    Who is it for?

    Software engineers with a code review round coming up, at Google or any company that hands you a pull request and asks what you would say. It also works if you review code at work and want a sharper eye for what matters first.

    Which languages?

    Review tasks are in JavaScript, TypeScript and PHP, and each lesson exercise exists in all three. Lessons are in English and Russian. Your comments and the mock interview are in English, as in the real round.

    Does it use AI?

    Lessons and practice tasks do not. The checker runs in your browser and matches your comments against the planted issues. Only the voice mock uses AI: an interviewer you talk to, and one model call to score the session.

    When does the voice mock open?

    After you finish all 30 lessons. It is in development now. The lessons and the 45 tasks work today.

    What does it cost?

    The price is not set yet. People on the waitlist hear it first.

    Who made it?

    Elman Huseynov, Lead Software Engineer. The format follows Google's public guide for code reviewers and the published guides on the code review interview.

    Get access when it opens

    Leave your email. You get one message when the course opens to more people.

    One email when it opens. No newsletter.