JavaScript and TypeScript
Write JavaScript, check strict TypeScript, and build libraries that survive hidden tests.
Projects, case studies and mock exams
Cedar Scheduling, a fictional appointment planner, needs a client for a local mocked person endpoint.
7 stepsCase study · IntermediateBlocked work reviewJuniper Media, a fictional production desk, must choose which team to review first.
5 stepsProject · AdvancedTyped event deliveryPractice typed event emitter in original workplace code.
8 stepsProject · AdvancedRetrying task queuePractice retry budgets and deterministic scheduling in original workplace code.
8 stepsProject · AdvancedForm validation libraryPractice composable form validation in original workplace code.
8 stepsCase study · AdvancedSettlement releasePractice typed payment reconciliation in original workplace code.
5 stepsMock exam · AdvancedAdvanced language assessmentPractice timed advanced implementation assessment in original workplace code.
8 questions · 45 minProject · ExpertTyped transformation pipelinePractice validated transformation pipelines in original workplace code.
8 stepsCase study · ExpertImport failure investigationPractice evidence-based failure diagnosis in original workplace code.
5 stepsMock exam · ExpertExpert language assessmentPractice timed expert language assessment in original workplace code.
8 questions · 50 minStart with JavaScript values, functions and collections, then learn async work and the TypeScript type system. You write real functions in the code editor and run them against visible examples and hidden boundary cases. TypeScript tasks check compiler diagnostics as well as runtime results.
Build a typed API client, an event emitter with a retry queue, a validation library and a transformation pipeline. Practice interviews and timed job tests cover frontend, backend and library work. Mock APIs, modules and file operations use supplied local fixtures in your browser. This workspace teaches a supported subset of Node APIs; it doesn't connect to a server or open your computer's files.
Beginner
JavaScript foundations
Read values, make explicit conversions, and trace branches and bindings.
Collections and records
Transform arrays and objects while preserving order, identity, and empty values.
Functions and object behavior
Trace private state, receivers, prototypes, and validated text boundaries.
Intermediate
Async work and iteration
Trace Promise outcomes and queued jobs, then consume lazy and asynchronous sequences.
TypeScript foundations
Use narrowing, object contracts, and generics to preserve relationships in reusable helpers.
Typed application boundaries
Build a validated local API client and support a queue recommendation with checked evidence.
Advanced
Reusable type contracts
Build generic APIs and derive precise types for related records.
Typed application services
Build event delivery, retries, validation, and strict adapters.
Concurrent work and assessment
Coordinate promises, reconcile payments, and solve assessed tasks.
Expert
Identity, timing, and state
Control object graphs, structural equality, scheduled work, and state transitions.
Typed pipelines and reusable helpers
Build a reconciled pipeline with functional, type, and iterable contracts.
Investigation and software interviews
Diagnose failures and solve runtime, implementation, and timed assessments.