Branded Types: Safer IDs, Money, and Domain Values
Use branded (nominal-ish) types to prevent mixing IDs and domain values, and learn safer alternatives to ‘just cast it’.
Practice
Use the blog to sharpen answers, review weak areas, and move from basics to mock-style prep without guessing what to read next.
Resume Prep
Jump back into the roadmap you already started, or use the article filters below to practice a specific topic.
Start with JavaScript Core and build your path from basics to mock review.
Basics build confidence, practice sharpens answers, and the roadmap keeps you moving toward the next interview topic.
If you want a guided path (instead of random reading), pick a roadmap. Each one is ordered top-to-bottom.
Event loop, closures, this, hoisting, async, and the fundamentals interviews test.
Types vs interfaces, narrowing, generics, utility types, and practical TS patterns.
Rendering, hooks, state, effects, performance, and common production patterns.
Semantics, layout, flexbox/grid, responsive design, accessibility, modern CSS.
The first lesson in each roadmap — great if you want a clean entry point.
A practical, interview-focused guide to the JS event loop: call stack, Web APIs, task queues, microtasks vs macrotasks, and common trick questions with real examples.
A deep, interview-ready guide to TypeScript types vs interfaces: extension, unions, intersections, declaration merging, and practical patterns for real codebases.
Filter Your Practice
Search by concept, narrow to a series, or pick a tag to focus on the exact topic you want to rehearse.
Results
Use branded (nominal-ish) types to prevent mixing IDs and domain values, and learn safer alternatives to ‘just cast it’.
Use template literal types to make strings type-safe: route patterns, event names, CSS variables, and i18n keys—with realistic examples.
How to type function pipelines like a library author: overloads, variadic tuples, inference boundaries, and what interviewers really want to see.
How to publish different entry points for Node vs browser (or edge) using package.json exports conditions, without breaking TypeScript consumers.
How to use tsconfig paths safely across Next.js, bundlers, Node scripts, and tsc builds—without ‘works locally, fails in prod’.
How TypeScript resolves imports in modern toolchains, when to use NodeNext vs bundler, and how flags like verbatimModuleSyntax affect real projects.
How to structure multi-entry TypeScript packages with package.json exports, prevent deep imports, and ship correct .d.ts for consumers.
Understand what TypeScript emits vs what Node runs, and how to avoid the common import/export traps in real codebases.
How to validate TypeScript types, design safer APIs, and avoid unsafe assertions—interview-ready patterns.