Practice
Coding challenges
JavaScript
- Runs testsIntermediateWrite debounce
Delay a function call until no further call arrives for a given time (trailing variant).
Not started
- Runs testsBasicPalindrome
Check whether a text is a palindrome, ignoring only case. Note the unusual contract: true or 0.
Not started
- Runs testsBasicFiltering sports
Return the sports named 'cricket' as a new array, without changing the input array.
Not started
React
- Guided reviewBasicSearch on button click
A list filtered only when the form is submitted, not on every keystroke.
Not started
- Guided reviewBasicCounter from 0 to 20
A counter with − and + buttons that never goes outside the 0–20 range.
Not started
JavaScript, TypeScript and Node.js
- Runs testsIntermediate20–30 minAt most three active operations
Write mapLimited(items, limit, fn): bounded concurrency, results in input order, errors kept separate.
Not started
- Runs testsIntermediate15–25 minSensible request retries
Retry an operation after a 429 or a temporary server error, with a pause, a limit on attempts and cancellation.
Not started
- Runs testsBasic5–10 minWarm-up: checking input
You receive unknown. Check that it's an object with a non-empty string id — before using it as a tool argument.
Not started
React, Next.js and frontend
- Runs testsIntermediate20–30 minA search that shows a stale result
An older request finishes later and overwrites the result. Build a “latest query wins” mechanism.
Not started
Backend, data and system design
- Runs testsAdvanced25–35 minReading SSE events
Data arrives as chunks of bytes. Read the SSE events without assuming one chunk is one message.
Not started
- Guided reviewIntermediate15–25 minFind the bugs in a queue consumer
Read a faulty queue consumer. The program can restart and a message can come back a second time.
Not started
Agents and workflows
- Runs testsIntermediate20–30 minApproving a specific proposal
Only the current version of your own proposal can be approved. Write down the allowed states and transitions.
Not started
- Runs testsAdvanced25–35 minA minimal agent loop
A fake model returns text or tool calls. Validate, run and send back the results — with limits on time, steps and tools.
Not started
Evaluation, quality and production AI
- Runs testsBasic15–25 minDoes the search find the right material?
Compute recall@k and reciprocal rank for search results, with duplicates and a question that has no answer.
Not started
System design scenarios
- Guided reviewAdvanced20–30 minAn assistant with a new requirement
Design an assistant over SharePoint. Then revoking access must take effect quickly, and some actions create requests in SAP.
Not started
How to assess your attempt
Check five things: did you understand the requirement, is the solution correct, what does it do on error, what evidence do you have that it works, and can you explain it. Don't judge only by how fast you typed. A critical security bug doesn't become acceptable because everything else looks good.
AI & Agents — practice tasks, “How to assess an attempt” (training rubric)
Code runs in an isolated worker with network APIs removed and is stopped after a few seconds. That prevents accidents such as infinite loops; it isn't a security sandbox, so only run code you'd run in your own console.