Interview prep for the whole stack, graded.
Learn what interviewers ask about React, React Native, Node, NestJS, TypeScript, databases, system design, DevOps and Solana, then prove it: real problems, graded in your browser in JavaScript, TypeScript, Python, SQL or Node. No account, no paywall.
23 tracks, 1131 lessons, 279 graded problems. Free forever.
1function isValidBrackets(s) {2 const closer = { '(': ')', '[': ']', '{': '}' };3 const stack = [];4 for (const ch of s) {5 if (closer[ch]) stack.push(closer[ch]);6 else if (stack.pop() !== ch) return false;7 }8 return stack.length === 0;9}
- a simple pair is valid
- sequential pairs of all three types are valid
- wrong closer type is invalid
- interleaved brackets close out of order
- empty string is valid
- lone brackets are invalid
Read like an interview, then code like one.
Every track alternates between the two. Reading lessons are the questions interviewers actually ask, with the answer hidden until you have tried. Problems are the same loop as a real screen.
- 1
Read the problem
A clear statement with examples, the way it is asked in a real screen. Hints and the worked solution stay hidden until you ask.
- 2
Write it in your language
JavaScript, TypeScript or Python for algorithms. Real Postgres for SQL. Real Node for backend tasks. React and plain HTML render live.
- 3
Run the samples, then submit
Run checks the visible sample cases, which you can edit. Submit runs the full hidden suite in your browser and returns Accepted, Wrong Answer, Runtime Error or Time Limit, with the failing case shown.
Runs entirely in your browser.
Nothing to install and nothing uploaded. Each language has a real runtime under the hood, so the behaviour you see is the behaviour you would get locally.
- JavaScriptWeb Worker
- TypeScripttype-stripped, or graded by the compiler
- PythonCPython via Pyodide
- SQLPostgres via PGlite
- Node.jsreal runtime, real streams
- Reactlive preview
- HTML / CSSlive preview
What actually triggers a re-render in React?
Answer
Precisely three things re-render a component:
- Its own state changed, and the new value is not Object.is-equal to the old one.
- Its parent re-rendered. Children re-render even with identical props. “Props changed” is not a trigger React detects.
- A context it consumes changed, regardless of memoization in between.
Then the follow-ups a senior is expected to handle: how memo, composition and context splitting stop the cascade, and why you measure before memoizing everything.
Most of the interview is talking, not typing.
Every track is mostly reading lessons: the questions interviewers ask about React, React Native, Node, NestJS, Next.js, TypeScript, databases, system design, DevOps and Solana, each with a senior-level answer you reveal after trying it yourself. The graded problems sit in between, wherever the topic can be coded.
Nothing is locked and nothing has to be done in order. Tracks are study plans, not courses.
Missed questions come back.
The daily review pulls random questions from any track. Mark what you missed and it returns in later reviews until you get it right. Five minutes a day is enough.
Try a daily reviewQuestion 4 of 10 · JavaScript Deep Dive
What is the difference between the microtask queue and the macrotask queue?
Questions people ask first
- Is it really free?
- Yes. Every track, problem and review is free, with no paywall and nothing gated behind sign-up.
- Do I need an account?
- No. Progress, XP and drafts are stored in your browser. Clear your site data and they are gone, so export nothing you cannot redo.
- Where does the code run?
- In your browser. Nothing is sent to a server: JavaScript runs in a worker, Python in WebAssembly, SQL in an in-browser Postgres, Node in a sandboxed runtime.
- What is a track?
- A study plan for one topic: reading with reveal-the-answer questions, mixed with graded problems. Twenty-three of them, from JavaScript internals to system design.
Start with one problem.
Valid Parentheses takes most people ten minutes. If you get Accepted, the rest of the Arena is waiting.
Solve your first problemNew tracks and curated job drops by email
A short message when something new lands. Unsubscribe any time.