Practice problems

Browse 508 theory questions and coding exercises. Filter by lesson, type or difficulty to choose what to practice.

Completion marks record your own progress, not an automatically checked result.

MediumVirtual DOMTheory
MediumHash TablesCoding
MediumNumbersCoding
HardMicro-frontendsTheory
MediumArraysCoding
MediumHash TablesCoding
EasyData TypesTheory
EasyComponent ArchitectureTheory
HardData TypesCoding
MediumComponent ArchitectureTheory
MediumTreesCoding
MediumVirtual DOMTheory
MediumStringsCoding
MediumScope & HoistingTheory
MediumGraphsCoding
MediumType CoercionTheory
MediumArraysCoding
MediumGraphsCoding
MediumVirtual DOMTheory
EasyStacksCoding
EasyData TypesTheory
MediumTreesCoding
EasyBloom FiltersCoding
EasyRemaining PrimitivesCoding
EasyFunction TypesTheory
EasyHash TablesCoding
HardReconciliationTheory
MediumTriesCoding
MediumMigration strategiesTheory
MediumMatrix TraversalCoding
MediumCORSTheory
HardTriesCoding
EasyTesting StrategiesTheory
MediumMinimum Spanning TreesCoding
MediumClosuresTheory
HardK-way MergeCoding
Mediumthis & BindingTheory
EasyState ManagementTheory
MediumTesting StrategiesTheory
MediumHeapsCoding
Hardthis & BindingTheory
MediumSorting TechniquesCoding
MediumSliding WindowCoding
MediumType GuardsTheory
MediumSliding WindowCoding
MediumFast and Slow PointersCoding
Hardthis & BindingCoding
MediumScope ChainTheory
MediumScope ChainTheory
MediumMerge IntervalsCoding
MediumType CoercionTheory
MediumCode SplittingTheory
MediumBit ManipulationCoding
MediumPrototypesTheory
MediumUnion FindCoding
EasyCyclic SortCoding
MediumPrototypesTheory
MediumObjects and ClassesTheory
MediumFast and Slow PointersCoding
EasyError HandlingTheory
MediumError HandlingTheory
MediumGraphsCoding
MediumTwo PointersCoding
MediumCombinatorial OptimizationCoding
MediumModulesTheory
HardConvex HullCoding
MediumFunction TypesTheory
EasyReconciliationTheory
MediumLinked List ReversalCoding
MediumMatrix TraversalCoding
MediumTree BFSCoding
MediumFunction TypesTheory
MediumClosuresTheory
MediumServer-Side RenderingTheory
EasyPerformanceTheory
EasyEngine & RuntimeTheory
EasyTwo PointersCoding
EasyAccessibilityTheory
MediumTop K ElementsCoding
MediumSubsetsCoding
MediumContext & Call StackTheory
MediumSubsetsCoding
EasyDeploymentTheory
MediumLinked ListsCoding
MediumContext & Call StackTheory
MediumSubsetsCoding
EasyTS BasicsTheory
MediumAccessibilityTheory
EasyEvent LoopTheory
HardSorting TechniquesCoding
HardFrontend InterviewsTheory
EasyEvent LoopTheory
EasyAsynchronous JavaScriptTheory
MediumRecursion and MemoizationCoding
HardDynamic ProgrammingCoding
EasyAsynchronous JavaScriptTheory
EasyMemory ManagementTheory
MediumObjects and ClassesTheory
MediumFrontend InterviewsTheory
MediumBinary SearchCoding
MediumMemory ManagementTheory
MediumGraphsCoding
EasyTS BasicsTheory
MediumData TypesTheory
MediumSymbolsTheory
HardTS BasicsTheory
MediumObjects and ClassesTheory
MediumQueuesCoding
EasySorting TechniquesCoding
MediumTop K ElementsCoding
MediumError HandlingTheory
MediumDeploymentTheory
MediumBasic TypesTheory
HardConditional TypesTheory
EasySetsCoding
EasyBasic TypesTheory
MediumGitTheory
HardSuffix Arrays and Suffix TreesCoding
MediumSliding WindowCoding
MediumEngine & RuntimeTheory
MediumEngine & RuntimeTheory
EasyGitTheory
MediumState ManagementTheory
MediumK-way MergeCoding
HardK-way MergeCoding
EasyScope & HoistingTheory
EasyTwo PointersCoding
MediumGraph DFSCoding
MediumTopological SortCoding
EasyTop K ElementsCoding
HardEnumsTheory
EasyTree BFSCoding
MediumState ManagementTheory
EasyTree DFSCoding
MediumFunctional ProgrammingCoding
HardTwo HeapsCoding
MediumEnumsTheory
EasyScope ChainTheory
MediumAdvanced TypesTheory
HardBinary SearchCoding
EasyInterfacesTheory
EasyPrototypesTheory
EasyBasic TypesTheory
EasyBasic TypesTheory
MediumConditional TypesTheory
EasyCI/CDTheory
MediumTopological SortCoding
HardAdvanced TypesTheory
EasyEnumsTheory
MediumGenericsTheory
MediumGenericsTheory
EasyAdvanced TypesTheory
EasyCI/CDTheory
HardTopological SortCoding
MediumUtility TypesTheory
MediumType GuardsTheory
MediumDeclarationsTheory
MediumRecursion and MemoizationCoding
MediumBacktrackingCoding
MediumGreedy AlgorithmsCoding
HardDecoratorsTheory
EasyType-level ProgrammingTheory
MediumType-level ProgrammingTheory
MediumCI/CDTheory
MediumUnion FindCoding
MediumShortest Path AlgorithmsCoding
EasyProject ConfigurationTheory
EasyMapsCoding
EasyNamespaces and ModulesTheory
HardMerge IntervalsCoding
HardType InferenceTheory
MediumRandomized AlgorithmsCoding
MediumEvent LoopTheory
MediumHigher-Order FunctionsTheory
HardApproximation AlgorithmsCoding
MediumComponent ArchitectureTheory
HardApproximation AlgorithmsCoding
HardReconciliationTheory
HardNetwork Flow AlgorithmsCoding
MediumWeb APIsTheory
EasyVirtual DOMTheory
MediumCombinatorial OptimizationCoding
MediumTree BFSCoding
MediumConditional TypesTheory
MediumLongest Common SubstringCoding
EasyLongest Common SubstringCoding
MediumCORSTheory
HardFrontend InterviewsCoding
MediumCode SplittingTheory
MediumFrontend InterviewsTheory
MediumWeb APIsTheory
EasyBuild ToolsTheory
MediumBuild ToolsTheory
MediumBuild ToolsTheory
EasyPerformanceTheory
MediumMicro-frontendsTheory
HardMicro-frontendsTheory
EasyFrontend InterviewsTheory
MediumCORSTheory
HardServer-Side RenderingTheory
MediumGraph DFSCoding
EasyAccessibilityTheory
EasyData TypesTheory
HardAsynchronous JavaScriptCoding
MediumFrontend InterviewsTheory
MediumDeploymentTheory
EasyCode SplittingTheory
MediumDeploymentTheory
MediumDeploymentTheory
MediumCI/CDTheory
MediumMemory ManagementTheory
MediumMemory ManagementTheory
MediumGitTheory
MediumCI/CDTheory
MediumPromise PatternsTheory
MediumData TypesTheory
EasyFunctional ProgrammingTheory
EasyFunctional ProgrammingTheory
EasyHigher-Order FunctionsTheory
EasyHigher-Order FunctionsTheory
MediumPromise PatternsTheory
MediumAsync/AwaitTheory
EasyGeneratorsTheory
MediumType CoercionTheory
EasyType CoercionTheory
HardFunctional ProgrammingCoding
EasyGeneratorsCoding
EasySymbolsTheory
MediumTS BasicsTheory
MediumLongest Common SubstringCoding
EasyMeta-programmingTheory
EasyMeta-programmingCoding
EasyService WorkersTheory
HardBrowser StorageCoding
EasyService WorkersTheory
MediumState ManagementTheory
MediumMemory LeaksTheory
EasyWeb WorkersTheory
MediumWeb WorkersTheory
HardPerformance OptimizationCoding
MediumBasic TypesTheory
EasyPerformance OptimizationTheory
MediumPerformance OptimizationTheory
EasyBrowser StorageTheory
EasyDesign PatternsTheory
MediumBrowser SecurityTheory
EasyDesign PatternsTheory
EasyScope & HoistingTheory
EasyClosuresTheory
MediumPrototypesTheory
MediumInterfacesTheory
MediumReflectionTheory
MediumReflectionTheory
HardHigher-Order FunctionsCoding
MediumInterfacesTheory
EasyGenericsTheory
MediumGenericsTheory
HardTree DFSCoding
EasyScope ChainTheory
MediumInterfacesTheory
MediumEnumsTheory
EasyGenericsTheory
MediumPalindromic SubsequenceCoding
MediumUtility TypesTheory
EasyMapsCoding
EasyError HandlingTheory
HardPromise PatternsCoding
MediumStacksCoding
HardPromise PatternsTheory
MediumEngine & RuntimeTheory
MediumAdvanced TypesTheory
HardLongest Common SubstringCoding
HardAsync/AwaitCoding
MediumContext & Call StackTheory
MediumObjectsCoding
MediumTriesCoding
MediumContext & Call StackTheory
EasyGeneratorsTheory
EasyGeneratorsTheory
MediumConditional TypesTheory
HardConditional TypesTheory
EasyGeneratorsTheory
MediumHeapsCoding
EasyMemory ManagementTheory
EasyMeta-programmingTheory
MediumLinked List ReversalCoding
HardMeta-programmingCoding
MediumGraph BFSCoding
HardUtility TypesCoding
EasySymbolsTheory
MediumBinary SearchCoding
EasySymbolsTheory
EasyMemory LeaksTheory
HardPalindromic SubsequenceCoding
MediumUtility TypesCoding
MediumType GuardsTheory
MediumDynamic ProgrammingCoding
HardSqrt DecompositionCoding
MediumUtility TypesTheory
MediumMemory LeaksTheory
HardBacktrackingCoding
MediumDeclarationsTheory
MediumDeclarationsTheory
MediumDynamic ProgrammingCoding
MediumSegment TreesCoding
MediumType GuardsTheory
EasyType GuardsTheory
EasyWeb WorkersTheory
HardSegment TreesCoding
MediumDeclarationsTheory
EasyDeclarationsTheory
MediumWeb WorkersTheory
Easythis & BindingTheory
HardPerformance OptimizationCoding
Mediumthis & BindingTheory
EasyService WorkersTheory
EasyType CoercionTheory
HardDecoratorsTheory
EasyBrowser StorageTheory
EasyError HandlingTheory
HardDecoratorsTheory
MediumEvent HandlingTheory
MediumFunction TypesTheory
MediumEvent HandlingTheory
MediumEvent HandlingTheory
EasyEvent HandlingTheory
HardDecoratorsTheory
MediumEvent HandlingTheory
HardStacksCoding
EasyAsynchronous JavaScriptTheory
EasyBrowser SecurityTheory
MediumBrowser SecurityTheory
EasyEnumsTheory
HardCode SplittingTheory
EasyDesign PatternsTheory
MediumWeb Application SecurityTheory
MediumTesting StrategiesTheory
MediumFunction TypesTheory
HardDecoratorsCoding
MediumDesign PatternsCoding
MediumCompilerTheory
MediumMaximum FlowCoding
EasyMigration strategiesTheory
MediumReflectionTheory
MediumSuffix Arrays and Suffix TreesCoding
HardType CoercionCoding
MediumNamespaces and ModulesTheory
EasyReflectionTheory
MediumStringsCoding
MediumClosuresTheory
MediumClosuresTheory
EasyStringsCoding
HardReflectionCoding
MediumNamespaces and ModulesTheory
EasyTS BasicsTheory
MediumModulesTheory
MediumModulesTheory
MediumStringsCoding
MediumObjects and ClassesTheory
EasyNumbersCoding
MediumNumbersCoding
MediumNumbersCoding
MediumEngine & RuntimeTheory
MediumScope & HoistingTheory
EasyArraysCoding
MediumContext & Call StackTheory
MediumProject ConfigurationTheory
MediumScope & HoistingTheory
MediumType-level ProgrammingTheory
MediumVirtual DOMTheory
MediumAdvanced TypesTheory
MediumCompilerTheory
HardType InferenceTheory
MediumScope ChainTheory
Mediumthis & BindingTheory
EasyObjectsCoding
HardType-level ProgrammingTheory
MediumTesting StrategiesTheory
HardServer-Side RenderingTheory
MediumWeb Application SecurityTheory
EasyFunctional ProgrammingTheory
MediumEvent LoopTheory
MediumAsynchronous JavaScriptTheory
EasyAccessibilityTheory
EasyMemory LeaksTheory
HardWeb Application SecurityTheory
MediumService WorkersCoding
MediumWeb Application SecurityTheory
EasyBrowser StorageTheory
MediumProject ConfigurationTheory
EasyObjects and ClassesTheory
MediumPrototypesTheory
EasyObjectsCoding
EasyModulesTheory
EasyModulesTheory
MediumEvent LoopTheory
EasySetsCoding
EasyMigration strategiesTheory
MediumSetsCoding
MediumAsynchronous JavaScriptTheory
MediumMigration strategiesTheory
MediumInterfacesTheory
HardNamespaces and ModulesTheory
EasySetsCoding
MediumCompilerTheory
MediumType InferenceTheory
HardType InferenceTheory
EasyMapsCoding
EasyMapsCoding
EasyRemaining PrimitivesCoding
MediumLinked ListsCoding
MediumSorting TechniquesCoding
MediumCyclic SortCoding
HardBacktrackingCoding
MediumGreedy AlgorithmsCoding
MediumQueuesCoding
MediumHash TablesCoding
EasyTreesCoding
MediumTreesCoding
MediumTreesCoding
MediumHeapsCoding
MediumHeapsCoding
MediumTriesCoding
MediumSorting TechniquesCoding
MediumSliding WindowCoding
EasyFast and Slow PointersCoding
MediumMerge IntervalsCoding
HardCyclic SortCoding
HardLinked List ReversalCoding
MediumTree DFSCoding
MediumTwo HeapsCoding
HardTwo HeapsCoding
MediumGraph BFSCoding
MediumGraph BFSCoding
MediumGraph DFSCoding
MediumState ManagementTheory
MediumMatrix TraversalCoding
MediumPalindromic SubsequenceCoding
HardType-level ProgrammingTheory
EasyRecursion and MemoizationCoding
MediumBit ManipulationCoding
HardGreedy AlgorithmsCoding
HardMinimum Spanning TreesCoding
MediumShortest Path AlgorithmsCoding
MediumRandomized AlgorithmsCoding
MediumSqrt DecompositionCoding
MediumCompilerTheory
HardCompilerTheory
EasyProject ConfigurationTheory
MediumProject ConfigurationTheory
MediumMigration strategiesTheory
EasyType InferenceTheory
MediumNamespaces and ModulesTheory
MediumComponent ArchitectureTheory
MediumComponent ArchitectureTheory
HardReconciliationTheory
HardReconciliationTheory
MediumWeb APIsTheory
EasyWeb APIsTheory
MediumWeb APIsTheory
MediumCORSTheory
MediumCORSTheory
EasyTesting StrategiesTheory
MediumBuild ToolsTheory
MediumBuild ToolsTheory
EasyCode SplittingTheory
MediumMicro-frontendsTheory
MediumMicro-frontendsTheory
MediumServer-Side RenderingTheory
EasyServer-Side RenderingTheory
MediumPerformanceTheory
EasyPerformanceTheory
MediumPerformanceTheory
MediumAccessibilityTheory
MediumWeb Application SecurityTheory
MediumGitTheory
EasyGitTheory
EasyHigher-Order FunctionsTheory
HardPromise PatternsTheory
MediumMeta-programmingTheory
HardPromise PatternsCoding
MediumAsync/AwaitTheory
MediumAsync/AwaitTheory
MediumAsync/AwaitTheory
HardAsync/AwaitCoding
MediumMemory LeaksTheory
EasyWeb WorkersTheory
HardService WorkersTheory
EasyPerformance OptimizationTheory
HardSymbolsCoding
MediumBrowser StorageTheory
MediumBrowser SecurityTheory
EasyBrowser SecurityTheory
HardDesign PatternsCoding
MediumStringsCoding
MediumNumbersCoding
MediumArraysCoding
MediumArraysCoding
MediumRemaining PrimitivesCoding
EasyObjectsCoding
MediumObjectsCoding
EasySetsCoding
MediumMapsCoding
EasyLinked ListsCoding
MediumLinked ListsCoding
MediumStacksCoding
EasyQueuesCoding
MediumQueuesCoding