Skip to content
Skilled.dev

Language preparation

Coding interview preparation by programming language

Prepare for coding interviews in ten languages with collection guides, worked algorithms, runtime pitfalls, and linked practice exercises.

Start with the preparation guide for a language you can use comfortably, then practice its collections and implementation details. Each guide links to relevant exercises. A lesson’s editor shows which languages are available for that exercise. Use the study-plan builder to reserve learning and review time.

JavaScript

Start here

JavaScript coding interview preparation

Practice the data structures, language behavior, asynchronous utilities, and testing habits that support clear JavaScript interview solutions.

Guides

Debounce vs. throttle in JavaScript

Build both functions, compare leading and trailing calls, and test timing behavior with an interactive event timeline.

Guides

Implement Promise.all in JavaScript

Write a Promise.all implementation that preserves input order, handles empty iterables, and rejects correctly.

Guides

The JavaScript event loop, explained with execution traces

Trace synchronous code, promise microtasks, timers, and async functions. Work through examples before checking their output.

Interactive tools

Debounce and throttle visualizer

Send events and compare immediate, debounced, and throttled callbacks. Adjust the wait and leading/trailing options and inspect exact timelines.

Topics

JavaScript interview utilities and concepts

Practice promises, closures, array methods, event emitters, debounce, and throttle with guides and coding lessons.

Guides

Implement a JavaScript queue for BFS without repeated shift calls

Build a FIFO queue with bounded compaction, distinguish empty results from undefined values, and use it in a cyclic graph traversal.

Interactive tools

JavaScript output quiz: 12 snippets with explained answers

Predict JavaScript output for closures, this, copies, Map keys, defaults, sorting, and promises. Compare explanations and retry missed snippets.

Guides

JavaScript closures and this: state, receivers, and callback lifetimes

Explain closure bindings, independent instances, receiver loss, arrow functions, listener cleanup, and callback lifetime through tested JavaScript examples.

Guides

Design an accessible autocomplete: state, stale requests, and keyboard behavior

Work through query state, cancellation, stale-response guards, keyboard focus, combobox semantics, caching, and test cases for a frontend autocomplete.

Guides

DOM event delegation: boundaries, nested targets, and cleanup

Build a delegated button handler with explicit container boundaries, nested targets, disabled controls, keyboard activation, and listener cleanup.

Reference

Interview collection operations across ten programming languages

Compare map presence, queues, copying, numeric boundaries, and text units across JavaScript, TypeScript, Python, Java, C++, C#, Go, Kotlin, Swift, and Rust.

Guides

Retry with exponential backoff in JavaScript

Build a bounded retry loop with full jitter, cancellation, explicit retry policy, and deterministic timing tests.

Guides

Limit promise concurrency in JavaScript

Run lazy task factories in an ordered worker pool, stop new work after failure, and drain active tasks before settling.

Guides

Deep clone JavaScript data: cycles, aliases, and property contracts

Copy a supported object graph without losing cycles, shared references, sparse holes, or property flags, and compare with structuredClone.

Guides

Flatten nested JavaScript arrays with an explicit stack

Preserve left-to-right order, distinguish holes from undefined, reject cycles, and expand repeated references correctly.

Guides

Implement currying in JavaScript with an explicit arity

Collect grouped arguments, reuse partial applications safely, and define receiver, excess-argument, and exception behavior.

Guides

JavaScript memoization: keys, invalidation, and rejected promises

Build receiver-aware argument caching and pending-promise deduplication with explicit identity, retention, and failure rules.

Guides

Build a JavaScript event emitter with reliable cleanup

Implement duplicate subscriptions, recursive once listeners, dispatch mutation rules, and idempotent unsubscription.

Interactive tools

Accessible tabs, modal focus, and React state lab

Practice tab keyboard navigation, native modal focus, and queued React state updates in three working browser examples.

Guides

JavaScript prototypes: lookup, ownership, and method receivers

Trace inherited properties, shadowing, accessors, constructor prototypes, and dictionary ownership with executable examples.

Guides

JavaScript equality, coercion, and object identity

Compare strict equality, Object.is, Map keys, falsy values, and object identity through tested cases and practical API contracts.

Worked lesson walkthroughs

66 reading lessons with code examples in this language.

Browse all 66 lessons in this language

TypeScript

Worked lesson walkthroughs

66 reading lessons with code examples in this language.

Browse all 66 lessons in this language

Python

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

Java

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

C++

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

Go

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

Rust

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

C#

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

Kotlin

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language

Swift

Worked lesson walkthroughs

58 reading lessons with code examples in this language.

Browse all 58 lessons in this language