Skip to content

Questions

4 topics; within each, questions go from easy to hard.

0 of 20 questions solved

Web / frontend

Code that runs in the browser: events, forms, UI state.

  1. Question 1 · Difficulty 1/5Origin: FictionalSearch page URLTypeScript23 linesNot solved
  2. Question 2 · Difficulty 2/5Origin: FictionalList pagination infoJavaScript30 linesNot solved
  3. Question 3 · Difficulty 3/5Origin: Real project (anonymized)Search suggestion listTypeScript45 linesNot solved
  4. Question 4 · Difficulty 4/5Origin: Real project (anonymized)Field checks held during a pressTypeScript50 linesNot solved
  5. Question 5 · Difficulty 5/5Origin: Real project (anonymized)Drawing board tools and panningTypeScript58 linesNot solved

API / backend

Server-side code: endpoints, data and retries.

  1. Question 6 · Difficulty 1/5Origin: FictionalSaving a product pricePython25 linesNot solved
  2. Question 7 · Difficulty 2/5Origin: FictionalListing orders by date rangeTypeScript35 linesNot solved
  3. Question 8 · Difficulty 3/5Origin: FictionalPaging through messagesPython30 linesNot solved
  4. Question 9 · Difficulty 4/5Origin: Real project (anonymized)Retrying analytics eventsTypeScript58 linesNot solved
  5. Question 10 · Difficulty 5/5Origin: FictionalCard payment endpointTypeScript46 linesNot solved

Security

Trust boundaries, input validation and data leaks.

  1. Question 11 · Difficulty 1/5Origin: FictionalFinding an account by emailPython19 linesNot solved
  2. Question 12 · Difficulty 2/5Origin: FictionalResolving a download pathPython19 linesNot solved
  3. Question 13 · Difficulty 3/5Origin: Real project (anonymized)A feed with hidden namesPython26 linesNot solved
  4. Question 14 · Difficulty 4/5Origin: FictionalLogging requestsTypeScript48 linesNot solved
  5. Question 15 · Difficulty 5/5Origin: FictionalLimiting login attemptsJavaScript42 linesNot solved

Testing

Bugs in the tests themselves: a test that asserts nothing, a mock that hides the bug, a time-dependent flaky test.

  1. Question 16 · Difficulty 1/5Origin: FictionalActive user testsTypeScript24 linesNot solved
  2. Question 17 · Difficulty 2/5Origin: Real project (anonymized)Meta description length testsTypeScript26 linesNot solved
  3. Question 18 · Difficulty 3/5Origin: FictionalCurrency conversion testsTypeScript39 linesNot solved
  4. Question 19 · Difficulty 4/5Origin: FictionalFree trial testsTypeScript34 linesNot solved
  5. Question 20 · Difficulty 5/5Origin: FictionalWelcome email testsTypeScript59 linesNot solved