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
Intent. Returns the discount for a cart: 20% for premium users, 10% on carts over 100, otherwise nothing.
// Returns the discount amount for a cart.function getDiscount(user, cartTotal) {if (user.isPremium = true) {return cartTotal * 0.2;}if (cartTotal > 100) {return cartTotal * 0.1;}}export { getDiscount };
Comment on line 3 shift-click a second line for a range
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.
- 0-5 minUnderstand the intentSay what the code should do. Ask what the legend leaves out.
- 5-35 minReview out loudData loss and security first, then crashes, wrong results, concurrency, errors. Style last.
- 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
- 01What code review is
- 02How the interview works
- 03Reading unfamiliar code
- 04Severity levels
- 05Writing a comment
02Correctness
- 06Logic errors
- 07Edge cases
- 08Error handling
- 09Types
- 10State and mutation
- 11Async and concurrency
03Security
- 12Injection: SQL, commands, eval
- 13XSS and CSRF
- 14Authorization
- 15Secrets and personal data
- 16Untrusted input
04Design and readability
- 17Naming
- 18Functions
- 19DRY, KISS, YAGNI
- 20SOLID
- 21Magic values and config
- 22Comments and dead code
- 23Structure
05Reliability and performance
- 24Logging and observability
- 25Performance
- 26Tests
- 27Contracts and compatibility
06The interview
- 28The 50-minute protocol
- 29The follow-up task
- 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.
- A comment is a line range, a severity, a category and a sentence in English.
- It counts when the lines are within 2 of a planted issue and the category matches. Right place, wrong severity: found, marked amber.
- Progress shows how many blockers, should-fixes and nits are left. It never shows where.
- Hints come in three steps: the category, the lines, the problem. A find after a hint counts half.
- 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.
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.
Thanks, there. You are on the list.