Small challenges.
Stronger problem solving.
352 programming exercises and projects, from interview patterns to practical data automation.
32 problems
01Annotate a numeric functionTypeScript · Inference and explicit boundariesEasyFree02Keep string output explicitTypeScript · Inference and explicit boundariesEasyFree03Type a collectionTypeScript · Inference and explicit boundariesEasyFree04Describe numeric boundariesTypeScript · Function signatures and missing resultsEasyFree05Return an explicit missing resultTypeScript · Function signatures and missing resultsEasyFree06Model an object parameterTypeScript · Object types and optional propertiesMediumPractice pack07Handle an optional propertyTypeScript · Object types and optional propertiesMediumPractice pack08Return a changed copyTypeScript · Object types and optional propertiesMediumPractice pack09Project interface fieldsTypeScript · Interfaces and readonly collectionsMediumPractice pack10Sort without mutating a readonly inputTypeScript · Interfaces and readonly collectionsMediumPractice pack11Narrow a primitive unionTypeScript · Unions and discriminated variantsMediumPractice pack12Handle a discriminated unionTypeScript · Unions and discriminated variantsMediumPractice pack13Validate unknown textTypeScript · Unknown versus anyMediumPractice pack14Validate an unknown numeric arrayTypeScript · Unknown versus anyMediumPractice pack15Distinguish records from null and arraysTypeScript · Unknown versus anyMediumPractice pack16Preserve element type with a genericTypeScript · Generics that preserve relationshipsMediumPractice pack17Retrieve a generic tail valueTypeScript · Generics that preserve relationshipsMediumPractice pack18Relate two generic element typesTypeScript · Generics that preserve relationshipsMediumPractice pack19Count exact keys with MapTypeScript · Typed Maps and SetsMediumPractice pack20Keep first occurrences with SetTypeScript · Typed Maps and SetsMediumPractice pack21Look up a typed valueTypeScript · Typed Maps and SetsMediumPractice pack22Use Pick for a projectionTypeScript · Utility types and safe projectionsMediumPractice pack23Apply a Partial updateTypeScript · Utility types and safe projectionsMediumPractice pack24Copy a readonly recordTypeScript · Utility types and safe projectionsMediumPractice pack25Parse JSON into an unknown boundaryTypeScript · Validating external dataMediumPractice pack26Validate an external userTypeScript · Validating external dataMediumPractice pack27Select finite numeric inputsTypeScript · Validating external dataMediumPractice pack28Model success and failureTypeScript · Error results and recoverable failuresMediumPractice pack29Validate a literal vocabularyTypeScript · Error results and recoverable failuresMediumPractice pack30Keep batch errors actionableTypeScript · Typed pipelines and regression testsMediumPractice pack31Project: typed data validatorTypeScript · Typed pipelines and regression testsMediumPractice pack32Project: inventory-report pipelineTypeScript · Typed pipelines and regression testsMediumPractice pack
Progress is for your own learning. Browser test results are not a verified assessment.