Curated by senior engineers — the questions interviewers actually ask. Modern JavaScript, React 19, and TypeScript 5.
Structured paths based on how much time you have before your interview
Cover the essentials fast. Perfect when your interview is days away.
Start PlanBalanced preparation across all key topics with daily practice.
Start PlanComprehensive coverage with spaced repetition for long-term retention.
Start PlanStart learning immediately - no account needed
See the quality of our content before you dive in
Deep-dive into the most in-demand concepts
Hooks let functional components manage state (useState), run side effects (useEffect), access refs (useRef), and extract reusable logic into custom hooks — all following strict rules about call order.
Promises represent eventual completion or failure of async operations with three states (pending, fulfilled, rejected), and async/await provides syntactic sugar for writing promise-based code that reads like synchronous code.
JavaScript is single-threaded with one call stack — the event loop enables async behavior by processing microtasks (promises) before macrotasks (setTimeout) between each cycle of the call stack.
React's reconciliation algorithm diffs virtual DOM trees in O(n) using two heuristics — different element types tear down the subtree, same types compare attributes — while the Fiber architecture makes this work interruptible so the browser stays responsive during large updates.
React patterns evolved from mixins to HOCs to render props to hooks — compound components share implicit state for flexible APIs, while custom hooks have replaced most logic-sharing patterns.
The data layer determines how a frontend application fetches, caches, normalizes, and synchronizes data — separating client state from server state and choosing the right fetching and caching strategies is critical for maintainable, performant applications.
All 188+ questions available instantly. No email, no credit card, no catch.
Browse All Questions