Codstak
    • Home
    • DSA
    • JavaScript
    • TypeScript
    • Node.js
    • React
    • More↓
      14-Day PrepDiscordNewsletterLeaderboard
    Free JavaScript practice

    Reason about JavaScript under interview conditions.

    Build reliable instincts for references, closures, callbacks, runtime data, promises, and async UI failures through realistic debugging and implementation exercises.

    20

    Free challenges

    JavaScript

    One language, focused

    Start anywhere. Suggested order moves from data safety to async runtime behavior.
    01Build a utility

    Request Label Normalizer

    Build predictable display labels from mixed request records without mutating the source list.

    • arrays
    • objects
    • immutability
    • normalization
    25 minStart
    02Debug and repair

    Release-Order Comparator

    Repair a release ordering helper so it is deterministic and leaves the input untouched.

    • sorting
    • comparator
    • mutation
    • debugging
    30 minStart
    03Debug and repair

    Filter-State Snapshot

    Repair a nested state update that accidentally changes a previous snapshot.

    • references
    • objects
    • immutability
    • debugging
    25 minStart
    04Build a utility

    Scoped Notification Counter

    Use a closure to keep independent notification counts private to each counter.

    • closures
    • scope
    • functions
    35 minStart
    05Debug and repair

    Callback Context Repair

    Repair an extracted method that loses the release object it should describe.

    • this
    • callbacks
    • bind
    • debugging
    35 minStart
    06Build a utility

    Safe Response Boundary

    Turn unknown release API data into safe row records without assuming its shape.

    • runtime types
    • nullability
    • validation
    • api data
    35 minStart
    07Trace and explain

    UI Task Ordering

    Predict and implement the observable order of synchronous work, promise callbacks, and timers.

    • event loop
    • promises
    • timers
    • async
    40 minStart
    08Build a utility

    Retryable Preference Save

    Retry a transient preference-save failure and return a predictable result.

    • promises
    • async
    • errors
    • retry
    45 minStart
    09Debug and repair

    Search Request Coordinator

    Prevent an older search response from replacing the newest query result.

    • async
    • promises
    • stale results
    • debugging
    45 minStart
    10Build a utility

    Computed Field Updater

    Update a named deployment field without mutating the existing form object.

    • objects
    • computed properties
    • immutability
    25 minStart
    11Build a utility

    Optional Config Reader

    Read a safe retry delay from incomplete client configuration.

    • optional chaining
    • runtime types
    • configuration
    25 minStart
    12Build a utility

    Release Check Pipeline

    Apply a sequence of named checks by treating functions as values.

    • functions
    • higher order functions
    • pipelines
    30 minStart
    13Build a utility

    Prototype Owner Report

    Distinguish instance data from shared prototype behavior.

    • prototypes
    • constructors
    • objects
    35 minStart
    14Build a utility

    Private Preference Module

    Keep a preference value private behind a small closure-based API.

    • closures
    • module pattern
    • privacy
    35 minStart
    15Build a utility

    Destructured Release Summary

    Read nested release data with defaults and return a stable summary.

    • destructuring
    • defaults
    • objects
    30 minStart
    16Build a utility

    Safe JSON Preferences

    Parse stored preferences without letting invalid storage break the UI.

    • json
    • errors
    • storage
    • validation
    35 minStart
    17Build a utility

    Request Result Classifier

    Convert unknown request outcomes into a small UI-safe result contract.

    • errors
    • runtime types
    • api data
    35 minStart
    18Build a utility

    Debounced Query Settler

    Model the final query that remains after rapid input changes settle.

    • debounce
    • timers
    • closures
    • async
    40 minStart
    19Build a utility

    Request Timeout Race

    Return a timeout result when a simulated request cannot finish in budget.

    • promises
    • timeout
    • async
    • errors
    45 minStart
    20Build a utility

    Feature Module Contract

    Expose a narrow feature-flag module instead of leaking mutable internal state.

    • modules
    • closures
    • api design
    40 minStart