ESC

Type to search the knowledge base.

Articles

667 guides

Every MDX document on the platform. Use search (⌘K) or filter by category mentally — hub pages under Learn and Interview link related tracks.

Accessible Combobox Pattern

advanced

Build or evaluate comboboxes with APG keyboard behavior, aria-expanded/activedescendant, and filterable listbox pairing.

accessibility · Aug 4, 2026

Accessible Forms Errors

beginner

Label inputs, associate errors with fields, announce failures, and avoid placeholder-only forms that break accessibility.

accessibility · Aug 4, 2026

Accessible Menus Pattern

advanced

APG menu and menubar keyboard model — arrow navigation, escape to close, aria-expanded, and when a disclosure is enough.

accessibility · Aug 4, 2026

Accessible Modals Patterns

intermediate

Modal dialogs that work: focus trap, Escape, return focus, aria-modal, and why native dialog or APG patterns beat div soup.

accessibility · Aug 4, 2026

Accessible Names Computation

advanced

How browsers compute accessible names from content, labels, aria-label, and labelledby — and how that powers Testing Library queries.

accessibility · Aug 4, 2026

Accessible SVGs

intermediate

Decorative vs informative SVG icons — aria-hidden, title/desc, role=img, and pairing icons with accessible names on controls.

accessibility · Aug 4, 2026

Accessible Tables

intermediate

Data tables vs layout tables — th scope, captions, headers, responsive strategies, and when to use grids instead.

accessibility · Aug 4, 2026

Accessible Tabs Pattern

intermediate

APG tabs with tablist/tab/tabpanel, arrow key navigation, aria-selected, and focus management without losing the active panel.

accessibility · Aug 4, 2026

ARIA Labels and Descriptions

intermediate

aria-label, aria-labelledby, and aria-describedby — when to use each, how they combine, and mistakes that silence or double-announce UI.

accessibility · Aug 4, 2026

aria-live Regions

intermediate

Announce dynamic updates with aria-live polite/assertive, role=status/alert, and patterns for toasts, validation, and async results.

accessibility · Aug 4, 2026

ARIA Roles Overview

intermediate

What ARIA roles do, first rule of ARIA, landmark/widget/document roles, and when native HTML already provides the role.

accessibility · Aug 4, 2026

Automated Axe Testing Limits

intermediate

What axe-core catches reliably, the large WCAG surface it cannot, and how to combine automation with manual keyboard and SR testing.

accessibility · Aug 4, 2026

Color Contrast Requirements

beginner

WCAG contrast ratios for text and UI components, large text thresholds, tools to measure, and design-token strategies that stay compliant.

accessibility · Aug 4, 2026

Do Not Rely on Color Alone

beginner

WCAG use of color — convey status with text, icons, and patterns so color-blind and low-vision users aren’t locked out.

accessibility · Aug 4, 2026

Focus Visible Styles

beginner

Replace outline:none with :focus-visible designs that meet non-text contrast and stay out of the way of mouse users.

accessibility · Aug 4, 2026

Heading Hierarchy for A11y

beginner

Use one h1 and nested h2–h6 as a document outline — skip levels carefully, don’t style divs as headings, and help SR navigation.

accessibility · Aug 4, 2026

Inclusive Error Messages

beginner

Write errors that identify the field, explain how to fix it, avoid blame, and work with screen readers and internationalization.

accessibility · Aug 4, 2026

Keyboard Accessibility Checklist

beginner

Practical keyboard QA: tab order, focus visibility, Enter/Space activation, Escape, arrows for widgets, and no keyboard traps.

accessibility · Aug 4, 2026

Language and Page Titles

beginner

Set html lang, mark language changes, and keep unique descriptive document titles — SPA updates included.

accessibility · Aug 4, 2026

Reduced Motion Preferences

beginner

Honor prefers-reduced-motion for vestibular safety — CSS media queries, JS animation guards, and what to reduce vs remove.

accessibility · Aug 4, 2026

Screen Reader Testing Basics

intermediate

Get started with VoiceOver, NVDA, and TalkBack — what to listen for, a smoke-test script, and how SR testing pairs with the a11y tree.

accessibility · Aug 4, 2026

Skip Links

beginner

Add skip links so keyboard users bypass repetitive nav — placement, focus styles, target main, and SPA considerations.

accessibility · Aug 4, 2026

Touch Target Sizes

beginner

Make controls easy to tap — WCAG target size guidance, 44×44 CSS px heuristics, spacing, and icon-button layout tips.

accessibility · Aug 4, 2026

WCAG Principles: POUR

beginner

Perceivable, Operable, Understandable, Robust — the four WCAG principles with concrete frontend examples, levels, and how to use them in reviews.

accessibility · Aug 4, 2026

What is the Accessibility Tree

beginner

How browsers expose roles, names, and states to assistive tech — relationship to DOM/CSS, and how to debug with DevTools.

accessibility · Aug 4, 2026

BFCache Back Forward Cache

advanced

How the back/forward cache freezes pages for instant history nav, what blocks it, and how to restore state safely.

browser · Aug 4, 2026

Browser DevTools Network Panel

beginner

Read waterfalls, timing phases, headers, throttling, and initiator chains in the Network panel like a production debugger.

browser · Aug 4, 2026

Browser DevTools Performance Panel

intermediate

Record main-thread timelines: long tasks, style/layout/paint, frames, and how to turn flame charts into INP fixes.

browser · Aug 4, 2026

Browser Extension Messaging Basics

advanced

How content scripts, background/service workers, and pages talk: runtime messaging, ports, and security boundaries.

browser · Aug 4, 2026

Browser Networking 101

intermediate

DNS, TCP/TLS, HTTP/1.1 vs H2/H3, connection reuse, and what frontend code can actually influence.

browser · Aug 4, 2026

Browser Storage Comparison

beginner

Cookies, localStorage, sessionStorage, IndexedDB, Cache Storage — capacity, persistence, and when each is the wrong tool.

browser · Aug 4, 2026

Cache Storage API

advanced

Precache and runtime cache with the Cache API: match, put, strategies, and how it differs from HTTP cache.

browser · Aug 4, 2026

Compositor Layers

advanced

When browsers promote layers, why transform/opacity animate cheaply, and layer explosion costs.

browser · Aug 4, 2026

Content-Type and MIME Sniffing

intermediate

Why Content-Type matters, how MIME sniffing works, X-Content-Type-Options: nosniff, and XSS-ish pitfalls.

browser · Aug 4, 2026

CORS Explained for Frontend

intermediate

Why the browser blocks cross-origin responses, what Access-Control-* headers mean, preflight, credentials, and how to fix real frontend errors.

browser · Aug 4, 2026

Critical Rendering Path

intermediate

What blocks first paint and LCP on initial load — HTML, CSS, fonts, and scripts — and how to shorten the path without rehashing the full pipeline.

browser · Aug 4, 2026

Cross-Origin Embedder Policy

advanced

COEP require-corp / credentialless: cross-origin isolation, SharedArrayBuffer, and embedding requirements.

browser · Aug 4, 2026

Cross-Origin Opener Policy

advanced

COOP same-origin and same-origin-allow-popups: sever window.opener, process isolation, and OAuth popups.

browser · Aug 4, 2026

DOM CSSOM Render Tree

intermediate

How HTML and CSS become DOM and CSSOM, how the render tree filters display:none, and what blocks construction.

browser · Aug 4, 2026

Event Timing for INP

advanced

Event Timing API fields that power INP: input delay, processing, presentation delay, and attribution.

browser · Aug 4, 2026

Feature Policy Legacy Notes

advanced

Feature-Policy renamed to Permissions-Policy: migration notes, old header syntax, and what still matters.

browser · Aug 4, 2026

How Browsers Load a Page

beginner

End-to-end navigation: resolve URL, fetch HTML, discover resources, parse, and get first pixels — without magic.

browser · Aug 4, 2026

HTTP Caching Headers

intermediate

Cache-Control, ETag, Last-Modified, Vary, and immutable fingerprinting patterns for static vs HTML.

browser · Aug 4, 2026

Layout Instability API CLS

advanced

LayoutShift entries, value calculation, hadRecentInput, and how to attribute CLS in the field.

browser · Aug 4, 2026

Long Tasks API

advanced

Detect main-thread tasks over 50ms with PerformanceObserver longtask entries and fix INP-killing work.

browser · Aug 4, 2026

Main Thread vs Compositor Thread

advanced

What runs on the main thread vs compositor, why scroll can be smooth while clicks feel dead, and fix strategies.

browser · Aug 4, 2026

Memory Profiling Basics

advanced

Heap snapshots, allocation timelines, detached DOM nodes, and practical leak hunts in SPAs.

browser · Aug 4, 2026

Navigation Timing API

advanced

PerformanceNavigationTiming phases from startTime to loadEventEnd for document load diagnostics.

browser · Aug 4, 2026

Page Lifecycle Events

intermediate

active, passive, hidden, frozen, discarded — Page Lifecycle states and the events you should actually use.

browser · Aug 4, 2026

PerformanceObserver

advanced

Subscribe to performance entries safely: entry types, buffered flag, observe patterns, and RUM use.

browser · Aug 4, 2026

Permissions Policy

advanced

Lock down camera, geolocation, payment, and other powerful features with Permissions-Policy headers and iframe allow.

browser · Aug 4, 2026

Preflight OPTIONS Requests

intermediate

When browsers send CORS OPTIONS preflights, which headers to return, caching Max-Age, and SPA debug tips.

browser · Aug 4, 2026

Reflow vs Repaint

intermediate

Layout (reflow) vs paint (repaint): which CSS/DOM changes trigger which, and how to keep animations cheap.

browser · Aug 4, 2026

Resource Timing API

advanced

PerformanceResourceTiming for every subresource: durations, transferSize, initiatorType, and RUM waterfalls.

browser · Aug 4, 2026

Same-Origin Policy

intermediate

Origin tuple (scheme/host/port), what SOP blocks, and how CORS, postMessage, and cookies relate.

browser · Aug 4, 2026

Service Workers Overview

advanced

SW lifecycle install/activate/fetch, scope, update story, and what belongs in a service worker vs the page.

browser · Aug 4, 2026

Throttling CPU and Network

beginner

DevTools CPU and network throttling: when lab numbers lie, custom profiles, and reproducing field pain.

browser · Aug 4, 2026

Trusted Types Intro

advanced

Trusted Types lock dangerous DOM sinks to typed values — policy design, CSP require-trusted-types-for, and DOM XSS.

browser · Aug 4, 2026

User Agent Client Hints

advanced

Replace UA string parsing with Client Hints: Sec-CH-UA headers, critical hints, and privacy-aware adaptation.

browser · Aug 4, 2026

visibilitychange and Page Hide

intermediate

visibilitychange, pagehide, and pageshow: flush analytics, pause media, and survive mobile backgrounding.

browser · Aug 4, 2026

Accent Color and Form Controls

beginner

Use accent-color to theme native checkboxes, radios, ranges, and progress — what it paints, what it skips, and when to custom-style instead.

css · Aug 4, 2026

Auto-fit vs Auto-fill

intermediate

auto-fit collapses empty tracks; auto-fill keeps them. Use both with minmax for responsive card grids without media-query soup.

css · Aug 4, 2026

BEM Naming Methodology

beginner

Block, Element, Modifier naming for CSS — how it limits specificity wars, what to name, and when utility or CSS modules beat strict BEM.

css · Aug 4, 2026

blend-mode Basics

advanced

mix-blend-mode vs background-blend-mode — how pixels combine, isolation, and the stacking/readability traps in product UI.

css · Aug 4, 2026

box-sizing border-box

beginner

Why border-box makes width include padding and border, the global reset pattern, and the layout bugs content-box still causes.

css · Aug 4, 2026

Cascade Layers @layer

intermediate

Use @layer to order reset, base, components, and utilities so specificity wars lose — layer priority, unlayered CSS, and !important.

css · Aug 4, 2026

Centering Everything in CSS

beginner

Center with flex, grid, margin auto, and inset — horizontal, vertical, and both — plus the absolute-position and text-align traps.

css · Aug 4, 2026

color-mix and Relative Color

advanced

Build tints, shades, and alpha variants with color-mix() and relative color syntax — tokens that stay in sync without preprocessors.

css · Aug 4, 2026

Container Queries

intermediate

Style components from their container size with @container — name containment, units like cqi, and when media queries still win.

css · Aug 4, 2026

CSS Animations @keyframes

intermediate

Define @keyframes, control duration, easing, iteration, and fill-mode — when to animate, what to animate, and reduced-motion defaults.

css · Aug 4, 2026

CSS Architecture ITCSS Overview

advanced

ITCSS inverted triangle — settings through utilities — how layer order reduces specificity wars in large stylesheets.

css · Aug 4, 2026

CSS Box Model

beginner

Content, padding, border, margin, box-sizing, and how the math actually works for layout and overflow.

css · Aug 4, 2026

CSS Custom Properties

beginner

CSS variables that cascade and inherit — define tokens, theme at runtime, fall back safely, and avoid the invalid-at-computed-value trap.

css · Aug 4, 2026

CSS Filters and Backdrop Filter

intermediate

filter vs backdrop-filter — blur, saturate, and glass effects, stacking costs, and accessibility pitfalls for frosted UI.

css · Aug 4, 2026

CSS Grid Fundamentals

beginner

Two-dimensional layout with tracks, gaps, placement, fr units, and when grid beats flex for page scaffolding.

css · Aug 4, 2026

CSS Grid vs Flexbox When to Use

beginner

One-dimensional flex vs two-dimensional grid — decision rules for navs, card grids, page shells, and nested layouts.

css · Aug 4, 2026

CSS Logical Properties

intermediate

margin-inline, padding-block, inset-inline-start — write layouts that flip with writing-mode and direction instead of hard-coded left/right.

css · Aug 4, 2026

CSS Masks and Clip Path

advanced

clip-path for shapes and mask-image for alpha/luminance cutouts — differences, animation notes, and accessibility caveats.

css · Aug 4, 2026

CSS Nesting

intermediate

Native CSS nesting — & parent selector, nested rules and media queries, specificity behavior, and when not to nest five levels deep.

css · Aug 4, 2026

CSS Reset vs Normalize vs Layer

intermediate

Reset wipes UA styles, normalize preserves useful defaults consistently, layers order both — pick a base strategy without fighting components.

css · Aug 4, 2026

CSS Selectors Attribute and Sibling

beginner

Attribute selectors, combinators, and sibling selectors — match states and structure without extra classes when the DOM already has the signal.

css · Aug 4, 2026

CSS Specificity Deep Dive

beginner

Count IDs, classes, and elements correctly — :is/:where/:not, inline styles, !important, and how layers change who actually wins.

css · Aug 4, 2026

CSS Transitions

beginner

Animate property changes with transition — timing, delay, which properties to animate, and how transitions differ from keyframe animations.

css · Aug 4, 2026

Display Block Inline Flex Grid

beginner

How display changes layout participation — block vs inline vs inline-block, and when flex/grid formatting contexts take over.

css · Aug 4, 2026

Flex Grow Shrink Basis

intermediate

How flex items resolve size — flex-basis first, then grow into free space and shrink on deficit, plus min-width:auto overflow fixes.

css · Aug 4, 2026

Flexbox Alignment Deep Dive

intermediate

justify-content, align-items, align-self, align-content — main vs cross axis, wrapping lines, and absolute positioning inside flex.

css · Aug 4, 2026

Flexbox Fundamentals

beginner

Flex container vs items, main vs cross axis, grow/shrink/basis, alignment, wrapping, and the bugs that show up in real layouts.

css · Aug 4, 2026

Fluid Typography with clamp

intermediate

Use clamp(min, preferred, max) for fluid type and spacing — viewport units, the linear equation pattern, and accessibility floors.

css · Aug 4, 2026

Gap vs Margin in Layouts

beginner

Prefer gap in flex/grid for inter-item spacing — no collapse surprises, no last-child hacks, and when margin is still the right tool.

css · Aug 4, 2026

Grid Template Areas

intermediate

Name grid regions with grid-template-areas — ascii layouts, grid-area placement, responsive rearrangements without absolute positioning.

css · Aug 4, 2026

:is :where :has

intermediate

Selector engines that cut repetition — :is and :where for lists, specificity traps, and :has for parent/sibling state without JS.

css · Aug 4, 2026

Media Queries Modern Approach

beginner

Modern @media — mobile-first ranges, range syntax, preference queries, and when container queries replace viewport breakpoints.

css · Aug 4, 2026

minmax and fr Units

intermediate

Grid track sizing with fr free space and minmax() floors/ceilings — equal columns, fluid sidebars, and overflow-safe patterns.

css · Aug 4, 2026

Multi-column Layout

intermediate

CSS multi-column (columns, column-gap, break-inside) for article flows — not card grids — and how to avoid awkward splits.

css · Aug 4, 2026

object-fit and aspect-ratio

beginner

Crop and scale media with object-fit, lock boxes with aspect-ratio, and stop layout shift when images load.

css · Aug 4, 2026

outline vs border for Focus

beginner

Keep focus visible with outline or box-shadow — why border shifts layout, :focus-visible patterns, and never outline: none alone.

css · Aug 4, 2026

Overflow Scroll and Scroll Snap

intermediate

overflow, scroll containers, and scroll-snap for carousels and section snaps — touch behavior, accessibility, and nested scroll traps.

css · Aug 4, 2026

Position: static, relative, absolute, fixed, sticky

beginner

Containing blocks, stacking, sticky constraints, and when position is the right tool vs flex/grid.

css · Aug 4, 2026

prefers-color-scheme

beginner

Respect light/dark OS preferences with prefers-color-scheme, token overrides, color-scheme, and manual theme toggles that stay in sync.

css · Aug 4, 2026

prefers-reduced-motion

beginner

Honor prefers-reduced-motion — cut decorative animation, keep essential feedback, and wire CSS and JS motion to one preference.

css · Aug 4, 2026

Print Stylesheets

intermediate

Design @media print — hide chrome, expand links, control page breaks, and force ink-friendly colors for usable paper and PDF output.

css · Aug 4, 2026

Pseudo-classes Hover Focus Focus-visible

beginner

Interactive pseudo-classes — :hover, :focus, :focus-visible, :active, :focus-within — with keyboard-safe patterns and touch caveats.

css · Aug 4, 2026

Pseudo-elements Before After

beginner

::before and ::after generate children for decoration — required content/display, accessibility limits, and practical UI patterns.

css · Aug 4, 2026

Responsive Images CSS

intermediate

CSS techniques for responsive images — max-width, object-fit, art-direction hooks, and how CSS pairs with srcset and sizes.

css · Aug 4, 2026

scroll-driven Animations Intro

advanced

CSS scroll-driven animations — animation-timeline with scroll() and view(), progress-linked effects, support caveats, and reduced motion.

css · Aug 4, 2026

Stacking Contexts and z-index

intermediate

Why z-index:9999 fails — stacking contexts from opacity, transform, position, and isolation, and how to debug overlay fights.

css · Aug 4, 2026

Sticky Headers and Sidebars

intermediate

position: sticky for headers and side rails — containing blocks, overflow traps, top offsets, and stacking with page chrome.

css · Aug 4, 2026

Subgrid

advanced

grid-template-rows/columns: subgrid — inherit parent tracks so nested cards and forms share one alignment system.

css · Aug 4, 2026

@supports Feature Queries

intermediate

Progressively enhance with @supports — detect properties, selectors, and font tech, and structure fallbacks that still look intentional.

css · Aug 4, 2026

Theming with Custom Properties

intermediate

Build light/dark and brand themes with CSS variables — token layers, data-theme switches, component contracts, and FOUC avoidance.

css · Aug 4, 2026

transform and opacity Performance

intermediate

Why transform and opacity animate smoothly — compositor layers, paint vs layout, and when filters and will-change reverse the win.

css · Aug 4, 2026

Utility-First CSS Tradeoffs

intermediate

Utility-first (Tailwind-style) pros and cons — speed, consistency, HTML noise, design-token discipline, and when components still win.

css · Aug 4, 2026

View Transitions API CSS Angle

advanced

CSS view transitions — ::view-transition pseudo-tree, view-transition-name, default crossfades, and reduced-motion-safe page morphs.

css · Aug 4, 2026

will-change Pitfalls

advanced

will-change hints the browser to prepare layers — use sparingly, set only before animation, and remove after to avoid memory bloat.

css · Aug 4, 2026

Writing Modes and Direction

advanced

direction, writing-mode, and text-orientation — vertical text, RTL layout, and why logical properties beat left/right hardcoding.

css · Aug 4, 2026

3Sum

intermediate

Find all unique triplets that sum to zero — sort + two pointers, deduping strategy, and complexity tradeoffs.

dsa · Aug 4, 2026

Add Two Numbers Linked List

intermediate

Add two numbers stored as reverse linked lists — digit-by-digit with carry, unequal lengths, and the final carry edge case.

dsa · Aug 4, 2026

Best Time to Buy and Sell Stock

beginner

One buy, one sell — track min price so far and max profit in a single O(n) pass. The classic stock DP warm-up.

dsa · Aug 4, 2026

Binary Search

beginner

Search a sorted array in O(log n) — classic template, boundary bugs, and the first-true / last-true variants.

dsa · Aug 4, 2026

Binary Tree Level Order

intermediate

BFS level-order traversal of a binary tree — queue sizing, empty levels, and the recursive DFS variant interviewers compare.

dsa · Aug 4, 2026

Binary Tree Max Path Sum

advanced

Hard tree DP: max path sum anywhere in a binary tree — gain from one child, global answer, and negative-node traps.

dsa · Aug 4, 2026

Car Fleet

intermediate

Cars race to a target — sort by position, compare time-to-target on a stack, count fleets that never catch each other.

dsa · Aug 4, 2026

Climbing Stairs

beginner

n steps, take 1 or 2 at a time — Fibonacci DP, bottom-up O(1) space, and the recursion trap interviewers watch for.

dsa · Aug 4, 2026

Clone Graph

intermediate

Deep-copy an undirected connected graph — BFS/DFS with a map from original node to clone, neighbor wiring pitfalls.

dsa · Aug 4, 2026

Coin Change

intermediate

Fewest coins to make amount — unbounded knapsack DP, BFS alternative, and why greedy fails on arbitrary denominations.

dsa · Aug 4, 2026

Combination Sum

intermediate

Backtracking to all unique combinations that sum to target — reuse allowed, sort + prune, and Combination Sum II contrast.

dsa · Aug 4, 2026

Construct Tree from Preorder Inorder

advanced

Rebuild a binary tree from preorder and inorder arrays — root split, index map, and O(n) recursive construction.

dsa · Aug 4, 2026

Container With Most Water

intermediate

Two pointers on heights for max water area — why you move the shorter side, brute O(n²) vs O(n), and edge cases.

dsa · Aug 4, 2026

Contains Duplicate

beginner

Detect any duplicate in an array — Set vs sort, O(n) hash, and follow-ups like nearby duplicates (k-window).

dsa · Aug 4, 2026

Copy List with Random Pointer

intermediate

Deep-copy a linked list with next and random pointers — hash map O(n) space vs interleaving nodes O(1) extra space.

dsa · Aug 4, 2026

Counting Bits

intermediate

Count 1-bits for every number in [0, n] — Brian Kernighan per number, and O(n) DP using i >> 1 and i & 1.

dsa · Aug 4, 2026

Course Schedule

intermediate

Can you finish all courses given prerequisites — cycle detection in a directed graph via DFS colors or Kahn’s BFS.

dsa · Aug 4, 2026

Course Schedule II

intermediate

Return a valid course order (topological sort) or empty array if a cycle exists — Kahn BFS and DFS postorder.

dsa · Aug 4, 2026

Daily Temperatures

intermediate

Days until a warmer temperature — monotonic decreasing stack of indices, O(n) next-greater-element pattern.

dsa · Aug 4, 2026

Design Add and Search Words

intermediate

Word dictionary with '.' wildcards — trie insert, recursive search over branches, and complexity tradeoffs.

dsa · Aug 4, 2026

Design Twitter Lite

advanced

postTweet, follow/unfollow, getNewsFeed — hash maps of tweets and follows, merge k recent feeds for top 10.

dsa · Aug 4, 2026

Encode and Decode Strings

intermediate

Serialize a list of strings to one string and back — length-prefix encoding that survives empty strings and delimiters.

dsa · Aug 4, 2026

Evaluate Reverse Polish Notation

intermediate

Evaluate RPN with a stack — operands push, operators pop-two apply, integer division toward zero in JS.

dsa · Aug 4, 2026

Find Duplicate Number

intermediate

Array of n+1 ints in 1..n with one duplicate — Floyd cycle detection O(1) space, binary search on counts alternative.

dsa · Aug 4, 2026

Find Median from Data Stream

advanced

Running median with two heaps — max-heap lows + min-heap highs, balance rules, and JS heap sketch.

dsa · Aug 4, 2026

Find Minimum in Rotated Sorted Array

intermediate

Rotated sorted array min via binary search — compare mid to hi, no-duplicates case, and the with-duplicates follow-up.

dsa · Aug 4, 2026

Gas Station

intermediate

Circular gas stations — if total gas ≥ cost a unique start exists; one-pass track tank and reset start on negative.

dsa · Aug 4, 2026

Group Anagrams

intermediate

Bucket strings by sorted signature or char counts — hash map of anagram groups, complexity, and interview variants.

dsa · Aug 4, 2026

Hand of Straights

intermediate

Split hand into groups of W consecutive cards — sorted map/counting greedy, fail when a needed card is missing.

dsa · Aug 4, 2026

House Robber

intermediate

Max money from houses in a line without adjacent robs — DP recurrence, O(1) space roll, and circular follow-up.

dsa · Aug 4, 2026

House Robber II

intermediate

Circular houses — max of rob linear range [0..n-2] vs [1..n-1], reusing House Robber I as a helper.

dsa · Aug 4, 2026

Implement Queue with Stacks

beginner

FIFO queue from two LIFO stacks — amortized O(1) pop/peek by flushing input stack to output stack on demand.

dsa · Aug 4, 2026

Implement Stack with Queues

beginner

LIFO stack from FIFO queues — push O(n) rotate or pop O(n); single-queue rotation technique.

dsa · Aug 4, 2026

Implement Trie

intermediate

Prefix tree with insert, search, startsWith — node children map, end flag, and complexity for autocomplete-style use.

dsa · Aug 4, 2026

Insert Interval

intermediate

Insert a new interval into sorted non-overlapping intervals — scan left, merge overlap, append right. O(n).

dsa · Aug 4, 2026

Invert Binary Tree

beginner

Mirror a binary tree — recursive swap, BFS/DFS iterative, and why this is a five-minute interview handshake.

dsa · Aug 4, 2026

Jump Game

intermediate

Can you reach the last index — greedy farthest reach, DP alternative, and when zero cells trap you.

dsa · Aug 4, 2026

Jump Game II

intermediate

Minimum jumps to last index — BFS layers on the array, greedy end/far windows, O(n) without real queue.

dsa · Aug 4, 2026

K Closest Points to Origin

intermediate

K nearest points to (0,0) — sort O(n log n), max-heap of size k, and quickselect average O(n).

dsa · Aug 4, 2026

Kth Smallest in BST

intermediate

Kth smallest BST value via inorder — recursive count, iterative stack, and O(h) follow-up with node subtree sizes.

dsa · Aug 4, 2026

Letter Combinations Phone Number

intermediate

Map digits 2-9 to letters and backtrack all strings — BFS build alternative, empty input, and pruning none needed.

dsa · Aug 4, 2026

Linked List Cycle

beginner

Detect a cycle in a linked list — Set of nodes vs Floyd tortoise and hare O(1) space, plus find-entrance follow-up.

dsa · Aug 4, 2026

Longest Consecutive Sequence

intermediate

Longest run of consecutive integers in unsorted array — Set + only start at run heads for O(n) average.

dsa · Aug 4, 2026

Longest Increasing Subsequence

intermediate

LIS length — classic O(n²) DP and O(n log n) patience sorting with binary search tails array.

dsa · Aug 4, 2026

Longest Palindromic Substring

intermediate

Longest palindromic substring — expand around centers O(n²), DP table alternative, and Manacher mention for O(n).

dsa · Aug 4, 2026

Longest Repeating Character Replacement

intermediate

Longest substring replaceable into one character with ≤ k swaps — sliding window, max-frequency tracking, O(n).

dsa · Aug 4, 2026

Longest Substring Without Repeating

intermediate

Find the longest substring with all unique characters — sliding window with a last-seen map, O(n) time.

dsa · Aug 4, 2026

Lowest Common Ancestor BST

intermediate

Find LCA of two nodes in a BST — walk from the root using ordering, O(h) time, iterative or recursive.

dsa · Aug 4, 2026

LRU Cache

advanced

Design an LRU cache with O(1) get and put — Map + doubly linked list, Map insertion-order approach, and interview tradeoffs.

dsa · Aug 4, 2026

Max Area of Island

intermediate

Largest 4-connected land component in a grid — DFS/BFS flood fill that returns area, not just count.

dsa · Aug 4, 2026

Maximum Depth of Binary Tree

beginner

Height of a binary tree via DFS recursion or BFS levels — the tree warm-up every interviewer trusts.

dsa · Aug 4, 2026

Meeting Rooms

beginner

Can one person attend all meetings? Sort by start and check adjacent overlaps — classic interval warm-up.

dsa · Aug 4, 2026

Meeting Rooms II

intermediate

Minimum rooms for all meetings — sort starts and ends, sweep line counting concurrent intervals.

dsa · Aug 4, 2026

Merge Intervals

intermediate

Merge overlapping intervals — sort by start, linear scan, and the calendar/UI variants interviewers stack on top.

dsa · Aug 4, 2026

Merge Two Sorted Lists

beginner

Merge two sorted linked lists into one sorted list — dummy head, two pointers, O(n+m) time.

dsa · Aug 4, 2026

Min Stack

intermediate

Stack with O(1) push, pop, top, and getMin — pair each value with the min so far, or dual stacks.

dsa · Aug 4, 2026

Minimum Window Substring

advanced

Smallest window in s covering all of t — sliding window with need/have counts, O(|s| + |t|).

dsa · Aug 4, 2026

Missing Number

beginner

Find the missing number in 0..n — XOR all indices and values, or use Gauss sum, O(n) time O(1) space.

dsa · Aug 4, 2026

N-Queens

advanced

Place n queens so none attack — backtracking with column and diagonal masks, return all board layouts.

dsa · Aug 4, 2026

Non-overlapping Intervals

intermediate

Minimum removals so no intervals overlap — greedy by end time, keep the interval that finishes first.

dsa · Aug 4, 2026

Number of 1 Bits

beginner

Hamming weight — count set bits with n & (n-1) Brian Kernighan, or shift-and-mask, O(set bits).

dsa · Aug 4, 2026

Number of Islands

intermediate

Count islands in a grid with DFS or BFS flood fill — graph framing, complexity, and common grid bugs.

dsa · Aug 4, 2026

Pacific Atlantic Water Flow

advanced

Cells that can reach both oceans — multi-source DFS/BFS inland from Pacific and Atlantic borders.

dsa · Aug 4, 2026

Palindrome Partitioning

intermediate

Partition a string so every substring is a palindrome — backtrack with expand checks, list all partitions.

dsa · Aug 4, 2026

Permutations

intermediate

Generate all permutations of a distinct array — swap-based or used-mask backtracking, n! outputs.

dsa · Aug 4, 2026

Product of Array Except Self

intermediate

Output[i] = product of all nums except i — prefix/suffix passes, O(n) time without division.

dsa · Aug 4, 2026

Redundant Connection

intermediate

Find the edge that creates a cycle in a near-tree graph — Union-Find returns the last redundant edge.

dsa · Aug 4, 2026

Remove Nth Node From End

intermediate

Delete the nth node from the end of a list in one pass — two pointers with n-gap, dummy head.

dsa · Aug 4, 2026

Reorder List

intermediate

L0→Ln→L1→Ln-1… — find mid, reverse second half, merge alternating, O(n) time O(1) space.

dsa · Aug 4, 2026

Reverse Bits

beginner

Reverse the 32 bits of an integer — shift-and-accumulate or divide-and-conquer bit swaps.

dsa · Aug 4, 2026

Reverse Linked List

beginner

Reverse a singly linked list in place — iterative three-pointer walk, recursive version, and the interview follow-ups.

dsa · Aug 4, 2026

Rotate Image

intermediate

Rotate an n×n matrix 90° clockwise in place — transpose then reverse each row (or layer peel).

dsa · Aug 4, 2026

Same Tree

beginner

Check if two binary trees are identical in structure and values — recursive DFS or BFS pair walk.

dsa · Aug 4, 2026

Search in Rotated Sorted Array

intermediate

Find target in a rotated sorted array of distinct ints — modified binary search on the sorted half.

dsa · Aug 4, 2026

Serialize Deserialize Binary Tree

advanced

Encode a binary tree to a string and rebuild it — preorder with null markers or BFS level order.

dsa · Aug 4, 2026

Set Matrix Zeroes

intermediate

If a cell is 0, zero its row and column — mark in-place with first row/col flags, O(1) extra space.

dsa · Aug 4, 2026

Sliding Window Maximum

advanced

Max of every window of size k — monotonic decreasing deque of indices, O(n) total.

dsa · Aug 4, 2026

Spiral Matrix

intermediate

Traverse an m×n matrix in spiral order — shrink four boundaries, O(mn) time.

dsa · Aug 4, 2026

Subsets

intermediate

Power set of distinct integers — backtracking include/exclude or bit masks, 2^n subsets.

dsa · Aug 4, 2026

Subtree of Another Tree

beginner

Is subRoot identical to some subtree of root? DFS every node and same-tree check, or serialize+find.

dsa · Aug 4, 2026

Sum of Two Integers

intermediate

Add without + or − operators — XOR for sum bits, AND+shift for carry, loop until carry clears.

dsa · Aug 4, 2026

Task Scheduler

intermediate

Min time to run tasks with cooldown n — formula from max frequency, or simulate with a max-heap.

dsa · Aug 4, 2026

Time Based Key Value Store

intermediate

set(key,value,timestamp) and get previous value — map of sorted timestamps, binary search on get.

dsa · Aug 4, 2026

Top K Frequent Elements

intermediate

k most frequent numbers — count with a map, then bucket sort by frequency for average O(n).

dsa · Aug 4, 2026

Unique Paths

intermediate

Robot on m×n grid moves only right/down — DP grid or combinatorial C(m+n-2, m-1).

dsa · Aug 4, 2026

Valid Anagram

beginner

Same characters with same counts — frequency array or sort both strings, O(n) or O(n log n).

dsa · Aug 4, 2026

Valid Palindrome

beginner

Alphanumeric palindrome check — two pointers skipping non-alphanumerics, O(n) time O(1) space.

dsa · Aug 4, 2026

Valid Parentheses

beginner

Check if brackets are valid with a stack — matching pairs, edge cases, and the interview follow-ups.

dsa · Aug 4, 2026

Valid Sudoku

intermediate

Validate a partial 9×9 board — track seen digits per row, column, and 3×3 box with sets.

dsa · Aug 4, 2026

Validate Binary Search Tree

intermediate

Is the tree a valid BST? Carry (min, max) bounds down DFS, or inorder strictly increasing.

dsa · Aug 4, 2026

Word Break

intermediate

Can s be segmented into dictionary words? DP boolean array, O(n² · word checks).

dsa · Aug 4, 2026

Word Ladder

advanced

Shortest transformation beginWord→endWord changing one letter — BFS on implicit word graph.

dsa · Aug 4, 2026

Word Search

intermediate

Does a word exist on a letter grid? Backtracking DFS from each cell with visited marks.

dsa · Aug 4, 2026

Word Search II

advanced

Find all dictionary words on a board — Trie of words + DFS from each cell, prune dead branches.

dsa · Aug 4, 2026

Adobe Frontend Interview

advanced

What frontend candidates typically face at Adobe — creative-cloud UI craft, coding, design systems, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Airbnb Frontend Interview

advanced

What frontend candidates typically face at Airbnb — product craft, coding, design systems thinking, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Amazon Frontend Interview

advanced

What frontend candidates typically face at Amazon — OA, loops, Leadership Principles, coding bar, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Apple Frontend Interview

advanced

What frontend candidates typically face at Apple — polish, accessibility, web/UI craft, coding, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Atlassian Frontend Interview

advanced

What frontend candidates typically face at Atlassian — Jira/Confluence-scale UI, coding, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Dropbox Frontend Interview

advanced

What frontend candidates typically face at Dropbox — file UX, coding quality, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Flipkart Frontend Interview

advanced

What frontend candidates typically face at Flipkart — e-commerce UI, coding, machine coding, and prep. Composite/unofficial.

experiences · Aug 4, 2026

LinkedIn Frontend Interview

advanced

What frontend candidates typically face at LinkedIn — feed/scale UI, coding, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Meta Frontend Interview

advanced

What frontend candidates typically face at Meta — rounds, coding focus, product sense, and a prep plan. Composite/unofficial guidance.

experiences · Aug 4, 2026

Microsoft Frontend Interview

advanced

What frontend candidates typically face at Microsoft — loops, TypeScript/systems flavor, coding bar, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Netflix Frontend Interview

advanced

What frontend candidates typically face at Netflix — performance-minded UI, coding, design rounds, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Oracle Frontend Interview

advanced

What frontend candidates typically face at Oracle — enterprise UI, coding, JS depth, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Salesforce Frontend Interview

advanced

What frontend candidates typically face at Salesforce — enterprise UX, Lightning/web craft, coding, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Shopify Frontend Interview

advanced

What frontend candidates typically face at Shopify — merchant UX, React craft, coding, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Slack Frontend Interview

advanced

What frontend candidates typically face at Slack — realtime messaging UI, coding, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Block (Square) Frontend Interview

advanced

What frontend candidates typically face at Block (Square) — fintech UI, coding quality, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Stripe Frontend Interview

advanced

What frontend candidates typically face at Stripe — API-minded UI, coding quality, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Swiggy Frontend Interview

advanced

What frontend candidates typically face at Swiggy — food-delivery UI, machine coding, DSA, and prep. Composite/unofficial.

experiences · Aug 4, 2026

X (Twitter) Frontend Interview

advanced

What frontend candidates typically face at X (Twitter) — feed/realtime UI, coding, design, and prep. Composite/unofficial.

experiences · Aug 4, 2026

Uber Frontend Interview

advanced

What frontend candidates typically face at Uber — rounds, scale/maps flavored design, coding bar, and a prep plan. Composite/unofficial.

experiences · Aug 4, 2026

Accessibility Tree Overview

intermediate

How browsers build the accessibility tree from DOM and CSS — roles, names, states, what’s pruned, and how to inspect it in DevTools.

html · Aug 4, 2026

Audio and Video Elements

intermediate

Native audio/video — controls, sources, captions, autoplay policies, and accessibility requirements for media on the web.

html · Aug 4, 2026

Autocomplete and Name Attributes

intermediate

name and autocomplete on form fields — password managers, autofill tokens, and why missing names break real users more than demos.

html · Aug 4, 2026

Base Element and Relative URLs

intermediate

How <base href> rewrites relative URLs for links, scripts, and forms — powerful for static hosts, dangerous when set accidentally.

html · Aug 4, 2026

contenteditable Basics

advanced

contenteditable surfaces — what the browser gives you, sanitization, keyboard and a11y gaps, and when to pick a real editor library.

html · Aug 4, 2026

data Attributes

beginner

data-* attributes for embedding element metadata — dataset API, CSS hooks, validation limits, and when not to store app state in the DOM.

html · Aug 4, 2026

details and summary

beginner

Native disclosure widgets with details/summary — open state, styling markers, a11y behavior, and when not to replace accordions with hacks.

html · Aug 4, 2026

The dialog Element

intermediate

Native modal and non-modal dialogs with showModal, light dismiss, focus, and the top layer — without a heavyweight widget library.

html · Aug 4, 2026

Favicon and App Icons

beginner

Ship favicons and app icons that work across browsers — SVG/ICO/PNG sizes, apple-touch-icon, manifest icons, and cache gotchas.

html · Aug 4, 2026

fieldset and legend

beginner

Group related form controls with fieldset/legend — radio groups, disabled fieldsets, and accessible naming for control sets.

html · Aug 4, 2026

Form Validation Attributes

beginner

Native constraint validation — required, type, pattern, min/max, minlength/maxlength, and wiring :invalid with accessible errors.

html · Aug 4, 2026

Forms, Labels, and Inputs

beginner

Wire labels to controls correctly, choose input types, group fields, and avoid the accessibility bugs that fail real users and audits.

html · Aug 4, 2026

Headings and Document Outline

beginner

Use h1–h6 as a real outline — one logical h1, no level skips for styling, and how headings power AT navigation and SEO.

html · Aug 4, 2026

HTML Document Structure

beginner

Skeleton of a solid HTML document — doctype, html/lang, head metadata, body landmarks, and what belongs where.

html · Aug 4, 2026

HTML Entities and Encoding

beginner

Charset, Unicode, and entities — when to use &amp; &lt; &nbsp;, escaping user content, and mojibake avoidance.

html · Aug 4, 2026

iframe Sandbox and Security

advanced

Embed third-party content safely — sandbox tokens, allow attributes, CSP frame-src, and postMessage boundaries.

html · Aug 4, 2026

Images alt and Decorative

beginner

Write useful alt text, mark decorative images correctly, and avoid SEO/a11y anti-patterns like keyword stuffing or missing alt.

html · Aug 4, 2026

Input Types for Mobile Keyboards

beginner

Pick input types and inputmode so mobile keyboards match the data — email, tel, numeric OTP, dates, and the desktop side effects.

html · Aug 4, 2026

Landmark Elements

beginner

header, nav, main, aside, footer landmarks — how AT users jump sections, labeling multiple navs, and common landmark mistakes.

html · Aug 4, 2026

lang Attribute and i18n HTML

beginner

Set lang and dir for language and direction — nested language spans, hreflang, and what HTML owns vs your i18n framework.

html · Aug 4, 2026

Links vs Buttons

beginner

Navigate with links, act with buttons — correct semantics, keyboard behavior, and the SPA footguns that break both.

html · Aug 4, 2026

meta Tags for SEO Basics

beginner

Essential meta tags — title, description, robots, canonical, viewport — and what actually moves SEO vs folklore.

html · Aug 4, 2026

noscript Fallbacks

beginner

Use noscript for honest degraded experiences — messaging, critical CSS alternatives, and what not to expect from modern JS-heavy apps.

html · Aug 4, 2026

Open Graph Tags

intermediate

Control link previews with Open Graph and Twitter card meta — og:title, image, type, absolute URLs, and debugging scrapers.

html · Aug 4, 2026

picture and srcset

intermediate

Responsive images in HTML — srcset width descriptors, sizes, art direction with picture/source, and type-based format negotiation.

html · Aug 4, 2026

Preload Prefetch in HTML

intermediate

link rel=preload, prefetch, preconnect, and modulepreload — speed critical assets without wrecking bandwidth priorities.

html · Aug 4, 2026

Semantic article section aside

beginner

When to use article, section, and aside — standalone content vs thematic grouping vs complementary, with heading pairing.

html · Aug 4, 2026

Tables for Tabular Data

beginner

Use tables for data grids — th/scope, captions, headers, responsive strategies, and when CSS grid is the wrong substitute.

html · Aug 4, 2026

template Element

intermediate

HTML template holds inert DOM clones — stamp client-side fragments, pair with slots/web components, and avoid XSS when filling them.

html · Aug 4, 2026

time Element and Datetime

beginner

Mark up dates and times with time and datetime — machine-readable values, accessible display text, and formatting with Intl.

html · Aug 4, 2026

Accessibility Interview Talking Points

intermediate

WCAG-minded talking points for FE interviews — focus, names, keyboard, ARIA, and how to answer a11y questions without buzzwords.

interview · Aug 4, 2026

Behavioral Stories for Engineers

beginner

How frontend engineers bank STAR stories that show impact, conflict, and growth — ready for senior and staff loops.

interview · Aug 4, 2026

Browser Interview Common Questions

intermediate

Browser interview map for frontend engineers — loading, rendering, storage, networking, DevTools — with practice prompts and deep links.

interview · Aug 4, 2026

Common Frontend Interview Mistakes

beginner

High-frequency FE interview failure modes — silence, trivia dumps, skipping edge cases, and how to course-correct mid-round.

interview · Aug 4, 2026

Complexity Analysis for JS Engineers

beginner

Big-O for frontend interviews — arrays, maps, DOM work, and how to talk complexity when the bottleneck is the main thread.

interview · Aug 4, 2026

CSS Interview Common Questions

beginner

CSS interview map — box model, cascade, Flex/Grid, positioning, and responsive patterns with prompts linked to deep dives.

interview · Aug 4, 2026

Debugging Live in Interviews

intermediate

A repeatable method to debug broken UI or JS under interview pressure — isolate, form hypotheses, instrument, and narrate.

interview · Aug 4, 2026

Explaining Projects in Interviews

beginner

How to walk through a frontend project in 3–8 minutes — problem, architecture, tradeoffs, and your personal impact.

interview · Aug 4, 2026

How to Structure Frontend Interview Answers

beginner

Reusable answer frameworks for FE interviews — knowledge, coding, machine coding, and design — so you never freeze on structure.

interview · Aug 4, 2026

JavaScript Coding Interview Patterns

intermediate

High-yield JS coding patterns for FE interviews — debounce, async control, arrays, caches, emitters — with complexity and practice links.

interview · Aug 4, 2026

Machine Coding Interview Framework

intermediate

A timed framework for FE machine coding rounds — scope MVP, shape state, ship happy path, then a11y and edge cases.

interview · Aug 4, 2026

Mock Interview Self Review

beginner

A scoring rubric to review frontend mocks — communication, correctness, structure — so each practice loop actually levels you up.

interview · Aug 4, 2026

Network Tab Debugging Interview

intermediate

Read the browser Network panel under interview pressure — waterfalls, CORS, caching, waterfalls for LCP, and out-loud diagnosis.

interview · Aug 4, 2026

Offer Negotiation Basics Engineers

beginner

Practical compensation negotiation for engineers — total comp, competing offers, and scripts without bluffing or burning bridges.

interview · Aug 4, 2026

Performance Interview Talking Points

intermediate

Frontend performance interview map — Core Web Vitals, measurement, common fixes, and how to answer without cargo-cult tips.

interview · Aug 4, 2026

React Interview Common Questions

intermediate

A map of React interview topics — rendering model, hooks, performance, patterns — with practice prompts and links to deep dives.

interview · Aug 4, 2026

Security Interview Talking Points

intermediate

Frontend security interview map — XSS, CSRF, CSP, cookies, supply chain — practical talking points without fear-mongering.

interview · Aug 4, 2026

Senior Frontend Interview Signals

advanced

What senior FE loops actually score — ownership, tradeoffs, quality bars, and how mid-level answers fall short.

interview · Aug 4, 2026

Staff Frontend Interview Signals

advanced

Staff-level frontend interview signals — org impact, technical strategy, influence, and how staff loops differ from senior IC.

interview · Aug 4, 2026

System Design Interview Framework FE

advanced

A frontend-first system design framework — journeys, UI map, data/cache, client architecture, and non-functionals under time.

interview · Aug 4, 2026

Take-home Assignment Strategy

intermediate

How to approach frontend take-homes — scope control, README quality, testing, and timeboxing without overbuilding.

interview · Aug 4, 2026

Testing Interview Questions

intermediate

Frontend testing interview map — Testing Library, pyramid tradeoffs, mocks, a11y tests, and how to talk test strategy.

interview · Aug 4, 2026

Tradeoff Language in Interviews

beginner

Phrases and patterns for talking FE tradeoffs — CSR vs SSR, state libraries, a11y vs speed — without dogma or waffle.

interview · Aug 4, 2026

TypeScript Interview Questions

intermediate

TypeScript interview map for frontend engineers — narrowing, unions, generics, React props, and practical type puzzles.

interview · Aug 4, 2026

Whiteboarding UI Components

intermediate

How to whiteboard frontend components — API design, state diagrams, layout boxes, and a11y — when code editors are limited.

interview · Aug 4, 2026

AbortController

intermediate

Cancel fetch and other async work with AbortController and AbortSignal — timeouts, race conditions, and cleanup when components unmount.

javascript · Aug 4, 2026

Array find, some, every, includes

beginner

Short-circuiting array predicates: find, findIndex, some, every, and includes — when to use each and common interview traps.

javascript · Aug 4, 2026

Array map, filter, reduce

beginner

map, filter, and reduce as the core transform toolkit — immutability, chaining costs, reduce patterns, and when a plain loop is clearer.

javascript · Aug 4, 2026

Arrow Functions Deep Dive

beginner

Lexical this, no arguments object, no construct, concise bodies — when arrows help and when methods and generators need classic functions.

javascript · Aug 4, 2026

Async Iteration and for await...of

advanced

Async iterables, for await...of, and streaming data — how async iterators differ from Promise.all and when to use each.

javascript · Aug 4, 2026

BigInt Basics

intermediate

BigInt for integers beyond Number.MAX_SAFE_INTEGER — literals, ops, JSON gaps, and when Number is still the right tool.

javascript · Aug 4, 2026

Bitwise Operators for Flags

advanced

Using & | ^ ~ &lt;&lt; for permission flags and packed options — int32 traps, readability tradeoffs, and clearer alternatives.

javascript · Aug 4, 2026

Blob, File, and Object URLs

intermediate

Blobs, File objects, object URLs, and revokeObjectURL — previews, downloads, and memory leaks from forgotten URLs.

javascript · Aug 4, 2026

call, apply, and bind

intermediate

Explicit this control — call vs apply vs bind, partial application, bound constructors, and when arrows make bind pointless.

javascript · Aug 4, 2026

Capture, Bubble, once, and passive

intermediate

Event propagation phases, addEventListener options — capture, once, passive, and signal — and when each fixes a real bug.

javascript · Aug 4, 2026

Classes in JavaScript

beginner

JS classes as sugar over prototypes — constructors, extends, super, fields, and what still differs from classical OOP.

javascript · Aug 4, 2026

classList and dataset

beginner

Toggle CSS classes with classList and read data-* attributes via dataset — tokens, naming, and DOM performance notes.

javascript · Aug 4, 2026

client, offset, and scroll Dimensions

advanced

clientWidth vs offsetWidth vs scrollWidth — borders, scrollbars, and which box measurement to use for layout math.

javascript · Aug 4, 2026

Compose and Pipe

intermediate

Right-to-left compose vs left-to-right pipe — building unary pipelines, debugging intermediate values, and when a plain function is enough.

javascript · Aug 4, 2026

contentEditable Pitfalls

advanced

Why contentEditable is hard: browser HTML mess, carets, sanitization, undo, and when to pick a real editor framework.

javascript · Aug 4, 2026

Cookies for Frontend Engineers

intermediate

document.cookie, HttpOnly, Secure, SameSite, and when cookies beat localStorage for auth — practical rules without backend myths.

javascript · Aug 4, 2026

Creating and Updating DOM Nodes

beginner

createElement, textContent vs innerHTML, insert APIs, and batching updates — safe DOM writes without accidental XSS.

javascript · Aug 4, 2026

Currying and Partial Application

intermediate

Curry vs partial application — unary chains, bind, practical helpers, and when extra abstraction hurts readability.

javascript · Aug 4, 2026

Custom Elements

advanced

Web Components custom elements — define, connectedCallback, attributes vs properties, and autonomous vs customized built-ins.

javascript · Aug 4, 2026

Custom Events

intermediate

CustomEvent, detail payloads, bubbles and composed — decoupling components without a global event bus mess.

javascript · Aug 4, 2026

Date and Time Pitfalls

intermediate

JS Date gotchas: parsing strings, time zones, month indexes, and when to reach for Temporal or a library.

javascript · Aug 4, 2026

Debounce Implementation

intermediate

Implement debounce in JavaScript — trailing vs leading, cancel/flush, TypeScript typing, and when to throttle instead.

javascript · Aug 4, 2026

Deep vs Shallow Copy

beginner

Shallow copy shares nested refs; deep copy clones the graph — spread, structuredClone, JSON limits, and React state implications.

javascript · Aug 4, 2026

Default Parameters

beginner

ES6 default parameter values — evaluated at call time, temporal dead zone with lets, and why undefined triggers defaults but null does not.

javascript · Aug 4, 2026

Destructuring Objects and Arrays

beginner

Object and array destructuring — renames, defaults, nested patterns, rest, and parameter destructuring in real APIs.

javascript · Aug 4, 2026

DocumentFragment

intermediate

Build subtrees off-DOM with DocumentFragment — one insert, fewer reflows, and how it differs from a wrapper div.

javascript · Aug 4, 2026

DOM Traversal with querySelector

beginner

querySelector, querySelectorAll, closest, and matches — CSS selectors in JS, NodeList vs HTMLCollection, and scoping roots.

javascript · Aug 4, 2026

Dynamic import()

intermediate

import() returns a module namespace promise — code splitting, conditional loads, and error handling for lazy routes.

javascript · Aug 4, 2026

Error Types and Custom Errors

beginner

Error, TypeError, RangeError, and custom subclasses — name, cause, stack, and catching by type without swallowing bugs.

javascript · Aug 4, 2026

ES Modules

beginner

import/export semantics — live bindings, default vs named, strict mode, module graph loading, and script type=module.

javascript · Aug 4, 2026

Event Delegation

intermediate

Handle many elements with one listener on a parent — bubbling, currentTarget vs target, and when not to delegate.

javascript · Aug 4, 2026

Event Emitter Pattern

intermediate

Implement on/off/emit with Map of Sets — once, error isolation, memory leaks, and how this differs from DOM events.

javascript · Aug 4, 2026

Feature Detection vs UA Sniffing

beginner

Prefer feature detection over user-agent parsing — @supports, 'in' checks, and when UA hints still appear in the wild.

javascript · Aug 4, 2026

Fetch API Fundamentals

beginner

How fetch really works — Response.ok, one-shot bodies, JSON errors, AbortController, credentials, and production footguns.

javascript · Aug 4, 2026

FinalizationRegistry

advanced

FinalizationRegistry and WeakRef — non-deterministic cleanup hooks, what never to put in a finalizer, and rare valid use cases.

javascript · Aug 4, 2026

FormData and File Uploads

intermediate

Build multipart uploads with FormData, append files, inspect entries, and pair with fetch — progress and size limits included.

javascript · Aug 4, 2026

Functional Array Patterns

beginner

Practical functional array techniques — flatMap, partitioning, indexing, zip, and when chaining hurts performance.

javascript · Aug 4, 2026

Garbage Collection Mental Model

advanced

Reachability, mark-and-sweep, retained closures and DOM — a practical GC model for frontend engineers debugging memory.

javascript · Aug 4, 2026

Generators

advanced

function* and yield — lazy sequences, custom iterators, two-way next(value), and how generators power async patterns.

javascript · Aug 4, 2026

getBoundingClientRect

intermediate

Viewport-relative boxes with getBoundingClientRect — subpixels, scroll, transforms, and layout thrashing pitfalls.

javascript · Aug 4, 2026

Getters and Setters

beginner

get/set accessors on objects and classes — computed properties, validation, infinite loop traps, and defineProperty.

javascript · Aug 4, 2026

globalThis

beginner

globalThis as the standard global object across browsers, workers, and Node — replacing window/self/global checks.

javascript · Aug 4, 2026

History API for SPA Routing

intermediate

pushState, replaceState, and popstate — client-side routing without reloads, scroll restoration, and server fallback gotchas.

javascript · Aug 4, 2026

Hoisting in JavaScript

beginner

What the engine does before your code runs — var vs function vs let/const, the TDZ, and the bugs that look like magic until you name the phase.

javascript · Aug 4, 2026

Immutability Patterns in JS

intermediate

Update state without mutating — spread paths, arrays, structural sharing ideas, freeze, and libraries when nested updates hurt.

javascript · Aug 4, 2026

IndexedDB Overview

advanced

Browser IndexedDB for structured client storage — databases, object stores, transactions, indexes, and when not to use it.

javascript · Aug 4, 2026

IntersectionObserver

intermediate

Observe element visibility asynchronously — lazy images, infinite scroll, ad viewability, without scroll listener jank.

javascript · Aug 4, 2026

Intl API Formatting

intermediate

Format numbers, dates, lists, and relative time with Intl — locales, options, and why you should stop hand-rolling currency strings.

javascript · Aug 4, 2026

Iterators and the Iterable Protocol

intermediate

Symbol.iterator, next(), and for...of — how iterables work, custom iterators, and the difference from arrays.

javascript · Aug 4, 2026

JSON parse and stringify pitfalls

beginner

JSON.stringify/parse footguns — undefined, dates, NaN, cycles, toJSON, revivers, and safe parsing of untrusted input.

javascript · Aug 4, 2026

localStorage and sessionStorage

beginner

Web Storage APIs — persistence, quota, JSON serialization, privacy modes, and when cookies or IndexedDB fit better.

javascript · Aug 4, 2026

Logical Assignment Operators

intermediate

||=, &&=, and ??= — assign only when nullish or falsy/truthy, with short-circuiting and practical defaults patterns.

javascript · Aug 4, 2026

Map and Set

beginner

Map for any-key dictionaries and Set for unique values — iteration order, object keys, Weak variants, and when objects/arrays still win.

javascript · Aug 4, 2026

Memoization

intermediate

Cache pure function results by argument key — implement memo, handle cache size, and know when React.memo is a different tool.

javascript · Aug 4, 2026

Memory Leaks in SPAs

advanced

Find and fix SPA memory leaks: dangling listeners, uncleared timers, retained closures, detached DOM, and how to prove growth in DevTools.

javascript · Aug 4, 2026

Module Patterns before ES Modules

intermediate

IIFE, Revealing Module, AMD, CommonJS, UMD — how pre-ESM isolation worked and what still shows up in legacy bundles.

javascript · Aug 4, 2026

MutationObserver

advanced

Watch DOM mutations without polling — observe options, batching, microtask delivery, and safe patterns for widgets and analytics.

javascript · Aug 4, 2026

null vs undefined

beginner

When JS uses undefined vs null, equality traps, defaults, JSON gaps, and how to choose one intentionally in APIs.

javascript · Aug 4, 2026

Nullish Coalescing

beginner

Use ?? for null/undefined defaults without treating 0 or empty string as missing — vs ||, ??= and optional chaining.

javascript · Aug 4, 2026

Number Precision and IEEE 754

intermediate

Why 0.1 + 0.2 !== 0.3, safe integers, rounding strategies, and when to use integers, BigInt, or decimal libraries.

javascript · Aug 4, 2026

Numeric Separators

beginner

Use underscore separators in numeric literals for readability — rules, bases, BigInt, and what they do not change at runtime.

javascript · Aug 4, 2026

Object.create and the prototype chain

intermediate

Build objects with Object.create, walk [[Prototype]], distinguish own vs inherited props, and know null-prototype maps.

javascript · Aug 4, 2026

Object.is vs ===

beginner

Object.is vs === for NaN and ±0 — SameValue vs Strict Equality, and when each shows up in real checks.

javascript · Aug 4, 2026

Optional catch binding

beginner

Omit unused catch bindings with catch { } — when to ignore errors, when to log, and lint rules that keep this honest.

javascript · Aug 4, 2026

Optional Chaining

beginner

Safe property/call access with ?. — short-circuit rules, arrays, nullish defaults, and mistakes that hide real bugs.

javascript · Aug 4, 2026

Polyfills and Baseline Targets

intermediate

Ship modern JS safely: polyfill vs transpile, core-js, browserslist, Baseline, and how to avoid shipping dead code to everyone.

javascript · Aug 4, 2026

postMessage and Origin Checks

advanced

Cross-origin iframe and worker messaging with postMessage — targetOrigin, event.origin checks, and structured clone pitfalls.

javascript · Aug 4, 2026

preventDefault vs stopPropagation

beginner

Cancel browser defaults vs stop event bubbling — capture, stopImmediatePropagation, and when passive listeners ignore preventDefault.

javascript · Aug 4, 2026

Private Class Fields

intermediate

Hard privacy with #fields and #methods — syntax rules, brand checks, vs WeakMap closures, and what stays enumerable.

javascript · Aug 4, 2026

Promise Combinators Practice

intermediate

Drill Promise.all, allSettled, race, and any with real patterns — timeouts, fail-soft loads, and first-success fallbacks.

javascript · Aug 4, 2026

Prototypal Inheritance

intermediate

How JS objects delegate via [[Prototype]] — chains, Object.create, constructors, classes as sugar, own vs inherited props, and common footguns.

javascript · Aug 4, 2026

Proxy and Reflect

advanced

Intercept object operations with Proxy traps, forward correctly via Reflect, and know performance and invariant limits.

javascript · Aug 4, 2026

Pub Sub vs Observer

intermediate

Separate publishers from subscribers vs subject–observer coupling — when each fits UI apps, and a tiny EventEmitter sketch.

javascript · Aug 4, 2026

Pure Functions

beginner

Same inputs → same output, no side effects — why purity helps tests and UI, and how to isolate effects at the edges.

javascript · Aug 4, 2026

queueMicrotask vs setTimeout

intermediate

Microtask vs macrotask scheduling — queueMicrotask, Promise.then, setTimeout(0), and why microtasks can starve rendering.

javascript · Aug 4, 2026

Regular Expressions Essentials

intermediate

Build and debug JS regex: literals vs constructor, flags, groups, lastIndex traps, and safe validation patterns for forms.

javascript · Aug 4, 2026

requestAnimationFrame

intermediate

Schedule paint-aligned work with rAF — timestamps, cancelAnimationFrame, batching reads/writes, and vs setTimeout for animation.

javascript · Aug 4, 2026

requestIdleCallback

advanced

Run low-priority work in idle periods — deadline.timeRemaining, timeout option, polyfill with rAF, and what not to put idle.

javascript · Aug 4, 2026

ResizeObserver

intermediate

Observe element size changes without window.resize — box options, loop limits, disconnect, and chart/layout patterns.

javascript · Aug 4, 2026

Resource Hints preload prefetch

intermediate

dns-prefetch, preconnect, preload, prefetch, modulepreload — when each helps LCP/navigation and how to avoid over-fetching.

javascript · Aug 4, 2026

Rest and Spread Syntax

beginner

Collect args with rest, expand iterables with spread — shallow copy pitfalls, parameter order, and object merge patterns.

javascript · Aug 4, 2026

Selection and Range APIs

advanced

Read and manipulate user selections with Selection and Range — caret position, surroundContents, and editor footguns.

javascript · Aug 4, 2026

Shadow DOM Basics

advanced

Encapsulate markup and styles with shadow roots — open vs closed, slots, CSS boundaries, and events retargeting.

javascript · Aug 4, 2026

Shallow vs Deep Equality

intermediate

Compare references vs structure — React prop checks, writing shallowEqual, deep equal costs, and JSON.stringify traps.

javascript · Aug 4, 2026

Side Effects in Frontend Code

beginner

Identify I/O and mutations outside return values — where effects belong in UI apps, React rules, and how to test around them.

javascript · Aug 4, 2026

Sorting Arrays Correctly

beginner

Array.sort mutates, default string order breaks numbers — stable sort, compare functions, localeCompare, and immutable patterns.

javascript · Aug 4, 2026

Strict Mode

beginner

What 'use strict' changes — silent errors become throws, this is undefined, and how modules enable strict by default.

javascript · Aug 4, 2026

String Methods Worth Knowing

beginner

Practical string APIs for UI work: slice vs substring, includes/startsWith, replaceAll, trim, pad, split, and unicode awareness.

javascript · Aug 4, 2026

Structured Clone

intermediate

Deep-clone supported types with structuredClone — what transfers, what throws, vs JSON tricks and MessageChannel history.

javascript · Aug 4, 2026

Symbols in JavaScript

intermediate

Unique property keys with Symbol — privacy lite, well-known symbols (iterator, toStringTag), Symbol.for, and enumeration rules.

javascript · Aug 4, 2026

Tagged Template Sanitization Idea

advanced

Use tagged templates to auto-escape interpolated values for HTML — why it beats string concat, and limits vs real sanitizers.

javascript · Aug 4, 2026

template and slot

intermediate

HTML template elements for inert DOM clones, slot projection in shadow DOM, and when to prefer templates over innerHTML strings.

javascript · Aug 4, 2026

Template Literals and Tagged Templates

beginner

Backtick strings, interpolation, multiline, raw strings, and tagged templates for DSLs — without inventing XSS.

javascript · Aug 4, 2026

Temporal Dead Zone

intermediate

Why let and const throw if you touch them early — binding creation vs initialization, TDZ edges with defaults, typeof, and closures.

javascript · Aug 4, 2026

this Binding Rules

intermediate

How JavaScript decides this — default, method, explicit call/apply/bind, new, and lexical this in arrows. With runnable examples.

javascript · Aug 4, 2026

Throttle Implementation

intermediate

Implement throttle in JavaScript — leading vs trailing edges, cancel, comparison with debounce, React cleanup, and interview-ready code.

javascript · Aug 4, 2026

Top-level await

intermediate

Await at module top level — parent modules wait, graphs block carefully, and when to prefer async functions instead.

javascript · Aug 4, 2026

Truthy and Falsy Values

beginner

Memorize JS falsy list, avoid || default traps with 0 and '', and prefer Boolean() / ?? for intent-clear checks.

javascript · Aug 4, 2026

try catch finally Best Practices

beginner

Catch only what you handle, use finally for cleanup, avoid empty swallows, and bridge sync try/catch with async/await.

javascript · Aug 4, 2026

Type Coercion Rules

intermediate

Predict JS coercion: ToPrimitive, == abstract equality, + vs concat, truthiness, and how to avoid the worst comparisons.

javascript · Aug 4, 2026

Typed Arrays and ArrayBuffer

advanced

Binary data in JS: ArrayBuffer, views (Uint8Array, DataView), endianness, slices vs subarray, and worker transfer.

javascript · Aug 4, 2026

URL and URLSearchParams

beginner

Parse and build URLs safely with the URL API — search params, base resolution, encoding, and common SPA routing helpers.

javascript · Aug 4, 2026

var vs let vs const

beginner

Scope, hoisting, TDZ, and reassignment — why const/let replaced var and how temporal dead zone shows up in bugs.

javascript · Aug 4, 2026

WeakMap and WeakSet

advanced

Hold object keys without preventing GC — private data, DOM metadata, and why WeakMap isn’t iterable.

javascript · Aug 4, 2026

Web Workers Overview

advanced

Move CPU work off the main thread — dedicated workers, messaging, transferables, limits, and when workers aren’t worth it.

javascript · Aug 4, 2026

Accessible Modal Dialog

intermediate

Machine-coding brief for a modal dialog — focus trap, Escape, scroll lock, restore focus, and ARIA dialog pattern.

machine-coding · Aug 4, 2026

Accordion FAQ

intermediate

Machine-coding brief for an accessible accordion FAQ — single/multi expand, keyboard, ARIA, and clean state.

machine-coding · Aug 4, 2026

Autocomplete Search Box

intermediate

Machine-coding brief for a typeahead search input — debounce, race-safe fetch, keyboard nav, a11y, and caching.

machine-coding · Aug 4, 2026

Calendar Month View

intermediate

Machine-coding brief for a month calendar grid — date math, selection, keyboard nav, a11y, and localization hooks.

machine-coding · Aug 4, 2026

Chat Message UI

intermediate

Machine-coding brief for a chat message list — bubbles, grouping, scroll anchoring, composer, and a11y.

machine-coding · Aug 4, 2026

Code Editor Line Numbers

intermediate

Machine-coding brief for a mini code editor — synced line numbers, scroll lock, tabs, caret-friendly textarea.

machine-coding · Aug 4, 2026

Color Picker Widget

intermediate

Machine-coding brief for a color picker — hex/RGB state, saturation canvas, hue slider, a11y, and controlled value.

machine-coding · Aug 4, 2026

Custom Dropdown Select

intermediate

Machine-coding brief for a custom select — listbox pattern, keyboard typeahead, focus, and form-friendly API.

machine-coding · Aug 4, 2026

Drag and Drop List Reorder

intermediate

Machine-coding brief for list reorder — pointer drag, keyboard move, optimistic order, and accessible announcements.

machine-coding · Aug 4, 2026

Emoji Picker Panel

intermediate

Machine-coding brief for an emoji picker — grid, search, categories, keyboard, virtualization notes, and insert callback.

machine-coding · Aug 4, 2026

File Explorer Tree View

intermediate

Machine-coding brief for a file tree — expand/collapse, selection, keyboard tree pattern, lazy children, and icons.

machine-coding · Aug 4, 2026

Image Carousel

intermediate

Machine-coding brief for an image carousel — slides, controls, keyboard, autoplay pause, a11y, and reduced motion.

machine-coding · Aug 4, 2026

Image Cropper Lite

intermediate

Machine-coding brief for a lite image cropper — crop box, drag/resize, aspect lock, canvas export, and state.

machine-coding · Aug 4, 2026

Infinite Scroll Feed

intermediate

Machine-coding brief for a cursor-paginated feed — IntersectionObserver, race safety, empty/error states, and a11y.

machine-coding · Aug 4, 2026

Kanban Board

intermediate

Machine-coding brief for a kanban board — columns, cards, cross-column drag, state model, and keyboard moves.

machine-coding · Aug 4, 2026

Lite Spreadsheet Grid

advanced

Machine-coding brief for a mini spreadsheet — cell model, selection, edit mode, keyboard nav, and formula hook points.

machine-coding · Aug 4, 2026

Multi Select Chips Input

intermediate

Machine-coding brief for multi-select chips — tags input, keyboard remove, suggestions, a11y listbox, and controlled values.

machine-coding · Aug 4, 2026

Multi Step Wizard

intermediate

Machine-coding brief for a multi-step wizard — step state, validation gates, linear/non-linear nav, and a11y.

machine-coding · Aug 4, 2026

Nested Comments Thread

intermediate

Machine-coding brief for nested comments — tree model, reply UX, collapse, pagination of roots, and a11y.

machine-coding · Aug 4, 2026

Offline Status Indicator

intermediate

Machine-coding brief for online/offline UI — navigator.onLine, events, banners, queue hooks, and a11y live regions.

machine-coding · Aug 4, 2026

OTP Input Boxes

intermediate

Machine-coding brief for OTP/PIN inputs — multi-box entry, paste, backspace, a11y one-field semantics, and autofill.

machine-coding · Aug 4, 2026

Pagination Component

intermediate

Machine-coding brief for pagination — page math, truncated ranges, controlled page, a11y navigation, and edge cases.

machine-coding · Aug 4, 2026

Polling Metrics Dashboard

intermediate

Machine-coding brief for a metrics dashboard — polling, abort/stale safety, visibility pause, cards, and error UX.

machine-coding · Aug 4, 2026

Product Filters Sidebar

intermediate

Machine-coding brief for product filters — URL-synced facets, multi-select, clear-all, and derived result counts.

machine-coding · Aug 4, 2026

Rich Text Toolbar

intermediate

Machine-coding brief for a rich-text toolbar — contentEditable or execCommand baseline, active states, and a11y.

machine-coding · Aug 4, 2026

Shopping Cart Drawer

intermediate

Machine-coding brief for a cart drawer — line items, qty updates, totals, focus trap, and accessible dialog pattern.

machine-coding · Aug 4, 2026

Smart Tooltip Positioning

intermediate

Machine-coding brief for smart tooltips — flip/shift positioning, delay, hover/focus, and accessible naming.

machine-coding · Aug 4, 2026

Sortable Data Table

intermediate

Machine-coding brief for a sortable data table — column sort state, a11y sort signals, stable sort, and client vs server.

machine-coding · Aug 4, 2026

Split Markdown Editor

intermediate

Machine-coding brief for split markdown edit/preview — sync scroll optional, sanitize HTML, debounce render.

machine-coding · Aug 4, 2026

Star Rating Input

intermediate

Machine-coding brief for star rating — hover preview, keyboard, half stars optional, and radiogroup a11y pattern.

machine-coding · Aug 4, 2026

Tabs Component

intermediate

Machine-coding brief for accessible tabs — tablist pattern, keyboard arrows, panels, and controlled state.

machine-coding · Aug 4, 2026

Toast Notification System

intermediate

Machine-coding brief for toasts — queue, auto-dismiss, a11y live regions, stacking, and imperative API.

machine-coding · Aug 4, 2026

Typeahead Mentions

intermediate

Machine-coding brief for @mentions typeahead — caret detection, portal list, insert token, keyboard, and a11y.

machine-coding · Aug 4, 2026

Video Player Controls

intermediate

Machine-coding brief for custom video controls — play/seek/volume, keyboard, Media Session hooks, and a11y.

machine-coding · Aug 4, 2026

Virtualized Data Table

advanced

Machine-coding brief for a virtualized table — windowing math, sticky header, row height, scroll performance.

machine-coding · Aug 4, 2026

Auth Patterns Overview

advanced

Auth in Next.js App Router: cookies/sessions, middleware gates, server checks, and avoiding client-only security theater.

nextjs · Aug 4, 2026

Caching in Next.js Overview

advanced

Next.js caching layers: request memoization, data cache, full route cache, and router cache — what invalidates each.

nextjs · Aug 4, 2026

Client Components in Next.js

intermediate

Client Components in the App Router: use client, hydration, bundling boundaries, and patterns that keep JS small.

nextjs · Aug 4, 2026

Data Fetching Patterns App Router

intermediate

Fetch data in Server Components with async/await and fetch caching: colocation, parallel requests, and client fallbacks.

nextjs · Aug 4, 2026

Deploying Next on Vercel

beginner

Deploy Next.js on Vercel: git integration, env vars, previews, build cache, and production checklist.

nextjs · Aug 4, 2026

Edge Runtime Tradeoffs

advanced

Edge Runtime vs Node.js in Next.js: cold starts, API limits, middleware, and when Node is the right default.

nextjs · Aug 4, 2026

Environment Variables in Next

beginner

Next.js env vars: server-only secrets, NEXT_PUBLIC_ exposure, .env files, and build-time inlining pitfalls.

nextjs · Aug 4, 2026

File-based Routing

beginner

Next.js App Router file conventions map folders to URLs: page, layout, route groups, dynamic segments, and special files.

nextjs · Aug 4, 2026

Font Optimization next/font

intermediate

next/font self-hosts fonts, subsets, and CSS variables to kill layout shift and extra network hops to Google.

nextjs · Aug 4, 2026

Image Component Optimization

intermediate

next/image optimizes responsive images: sizing, remote patterns, priority LCP, and common layout shift fixes.

nextjs · Aug 4, 2026

Intercepting Routes Overview

advanced

Intercepting routes show a parallel UI (modal) while keeping the underlying URL: folder conventions with (.) (..) etc.

nextjs · Aug 4, 2026

ISR Mental Model

intermediate

ISR in the App Router: time-based revalidation, on-demand tags, stale-while-revalidate behavior, and when to go fully dynamic.

nextjs · Aug 4, 2026

Layouts and Nested Routes

beginner

Nested layouts in the App Router share chrome across routes, preserve state, and compose with loading and templates.

nextjs · Aug 4, 2026

Loading and Error UI Files

beginner

loading.tsx and error.tsx create Instant Suspense and error boundaries per route segment in the App Router.

nextjs · Aug 4, 2026

Metadata API for SEO

intermediate

Next.js Metadata API sets titles, descriptions, Open Graph, and dynamic SEO fields in the App Router.

nextjs · Aug 4, 2026

Middleware in Next.js

intermediate

Next.js Middleware runs before a request completes: auth redirects, rewrites, matchers, and edge constraints.

nextjs · Aug 4, 2026

Next.js App Router Overview

beginner

app/ directory mental model — layouts, server components by default, routing conventions, and how App Router differs from Pages Router.

nextjs · Aug 4, 2026

next/link Prefetch Behavior

intermediate

next/link prefetches route payloads in viewport: defaults, opt-out, dynamic routes, and bandwidth tradeoffs.

nextjs · Aug 4, 2026

Parallel Routes Overview

advanced

Parallel routes render multiple pages in one layout via named slots (@folder), independent loading, and modals.

nextjs · Aug 4, 2026

Revalidate Path and Tag

advanced

revalidatePath and revalidateTag invalidate cached data and routes after mutations in the App Router.

nextjs · Aug 4, 2026

Route Handlers

intermediate

Route Handlers implement HTTP endpoints with route.ts: verbs, Request/Response, caching, and when to prefer Server Actions.

nextjs · Aug 4, 2026

Server Actions Overview

advanced

Server Actions are async server functions callable from forms and client components: mutations, progressive enhancement, revalidation.

nextjs · Aug 4, 2026

Server Components in Next.js

intermediate

RSC mental model in the App Router — server vs client boundaries, data fetching, serialization rules, and composition patterns that stay maintainable.

nextjs · Aug 4, 2026

Static vs Dynamic Rendering

intermediate

Static vs dynamic rendering in the App Router: what forces dynamic, when static wins, and how to choose.

nextjs · Aug 4, 2026

Streaming and Suspense Boundaries

advanced

Stream HTML/RSC payloads with Suspense in Next.js: loading.tsx, nested boundaries, and faster first paint.

nextjs · Aug 4, 2026

Avoiding Layout Thrashing

intermediate

Stop forced sync layout loops: batch DOM reads and writes, use rAF, and fix janky measurement code.

performance · Aug 4, 2026

Caching Static Assets Fingerprinting

intermediate

Content-hash filenames, long-cache headers, HTML revalidation, and CDN invalidation without stuck users.

performance · Aug 4, 2026

CLS Optimization Tactics

intermediate

Fix cumulative layout shift: dimensions, font metrics, reserved slots, and stable late-loading UI.

performance · Aug 4, 2026

Code Splitting Strategies

intermediate

Route, component, and vendor splits: dynamic import(), magic comments, and avoiding over-splitting waterfalls.

performance · Aug 4, 2026

Compression gzip brotli

beginner

Enable Brotli/gzip for text assets, pick quality levels, and verify Content-Encoding in production.

performance · Aug 4, 2026

Critical CSS Approaches

advanced

Inline above-the-fold CSS, extract critical rules, and avoid shipping megabyte stylesheets on first paint.

performance · Aug 4, 2026

Font Loading Strategies

intermediate

font-display, preload, subsetting, and metric overrides to balance FOIT/FOUT against CLS and LCP text.

performance · Aug 4, 2026

HTTP/2 and HTTP/3 for Frontend

advanced

What H2/H3 change for waterfalls, prioritization, and why domain sharding died — frontend-relevant bits only.

performance · Aug 4, 2026

Idle Work Scheduling

advanced

requestIdleCallback, idle deadlines, and what work is safe to defer without breaking UX or analytics.

performance · Aug 4, 2026

Image Optimization Formats

beginner

AVIF, WebP, JPEG, PNG: choose formats, quality, and tooling so LCP images stay sharp and small.

performance · Aug 4, 2026

INP Optimization Tactics

intermediate

Fix Interaction to Next Paint for real — input delay, handler cost, presentation delay, long tasks, and yielding patterns that move field INP.

performance · Aug 4, 2026

JavaScript Bundle Budget

intermediate

Set enforceable JS size budgets per route, measure with CI, and cut payload without cargo-cult micro-opts.

performance · Aug 4, 2026

Lab vs Field Data

intermediate

Lighthouse lab vs CrUX/RUM field: what each is for, how they diverge, and how to use both.

performance · Aug 4, 2026

LCP Optimization Tactics

intermediate

Deep tactics for Largest Contentful Paint — discovery, priority, bytes, server delay, and render delay — beyond the CWV overview.

performance · Aug 4, 2026

Lighthouse Score Interpretation

beginner

What the 0–100 Lighthouse score means, metric weights, variance, and how not to game it.

performance · Aug 4, 2026

Long Tasks and Yielding

intermediate

Break up long tasks so INP survives: chunking, scheduler.yield, isInputPending, and framework patterns.

performance · Aug 4, 2026

Measuring Performance Mindset

beginner

Measure before optimizing: hypotheses, percentiles, user journeys, and stopping when the metric doesn’t move.

performance · Aug 4, 2026

Memoization Performance Tradeoffs

intermediate

React.memo, useMemo, useCallback, and cache maps: when memoization helps, when it wastes memory and time.

performance · Aug 4, 2026

Network Waterfall Reading

beginner

Read request waterfalls: critical path chains, priority, blocking, and how to shorten discovery delays.

performance · Aug 4, 2026

Performance Budgets in CI

intermediate

Encode LCP/size budgets in CI with Lighthouse CI or size-limit so regressions fail pull requests.

performance · Aug 4, 2026

Preconnect and DNS Prefetch

intermediate

Warm critical third-party origins with preconnect; use dns-prefetch lightly; don’t shotgun hints.

performance · Aug 4, 2026

Responsive Images Performance

intermediate

srcset, sizes, and density descriptors so browsers download the right image bytes for each viewport.

performance · Aug 4, 2026

RUM Real User Monitoring

intermediate

Collect field CWV and custom timings from real sessions: sampling, beacons, privacy, and dashboards.

performance · Aug 4, 2026

scheduler.yield and Scheduling

advanced

scheduler.yield, postTask priorities, and how modern scheduling APIs improve INP over setTimeout hacks.

performance · Aug 4, 2026

Third-Party Script Cost

intermediate

Measure and contain tags, embeds, and widgets: main-thread cost, facades, consent, and contractual budgets.

performance · Aug 4, 2026

Tree Shaking Basics

intermediate

Dead-code elimination for ES modules: sideEffects, named imports, and why some libraries won’t shake.

performance · Aug 4, 2026

TTFB and Server Timing

intermediate

Diagnose Time to First Byte with Navigation Timing and break down backend phases via Server-Timing.

performance · Aug 4, 2026

Virtual Lists Performance

advanced

Render only visible rows: windowing mental model, overscan, scroll issues, and accessibility tradeoffs.

performance · Aug 4, 2026

Accessibility Patterns in React

intermediate

Practical React a11y: labels, focus management, keyboard, live regions, and composition patterns that stay accessible.

react · Aug 4, 2026

Avoid Prop Drilling with Composition

intermediate

Stop threading props through intermediates: children slots, inversion of control, and when context is the right escape hatch.

react · Aug 4, 2026

Batching State Updates

intermediate

How React 18+ batches setState in events, timeouts, and promises: when updates flush and why double setState still works.

react · Aug 4, 2026

Children Prop Patterns

beginner

Using children and slot props for flexible APIs: wrappers, compound components, and when to prefer explicit props.

react · Aug 4, 2026

Client Component Boundaries

advanced

Where to put use client: push interactivity to leaves, serializable props, and children as server slots.

react · Aug 4, 2026

Client Routing Mental Model

beginner

Client-side routing updates the URL and UI without full reloads: history API, link interception, and data loading.

react · Aug 4, 2026

Code Splitting with React.lazy

intermediate

React.lazy and Suspense split bundles: dynamic import, loading fallbacks, error boundaries, and route-level splits.

react · Aug 4, 2026

Composition vs Inheritance

beginner

React prefers composition over inheritance: children, special slots, and why extend MyComponent is a dead end.

react · Aug 4, 2026

Concurrent Features Overview

advanced

Concurrent React: interruptible rendering, transitions, Suspense, and why render purity matters more than ever.

react · Aug 4, 2026

Context API Basics

beginner

React context for dependency injection — createContext, Provider, useContext, default values, and when context is the wrong tool.

react · Aug 4, 2026

Context Performance Pitfalls

advanced

Context re-renders all consumers on value change: split providers, memoize values, and when a store is better.

react · Aug 4, 2026

Controlled vs Uncontrolled Inputs

beginner

React form inputs as source of truth — controlled value/onChange, uncontrolled defaultValue/ref, hybrid pitfalls, and when each wins.

react · Aug 4, 2026

Custom Hooks Design

intermediate

Extract reusable stateful logic with use* hooks — API design, composition, testing seams, and footguns that recreate render bugs.

react · Aug 4, 2026

dangerouslySetInnerHTML Risks

intermediate

dangerouslySetInnerHTML bypasses React escaping: XSS risks, sanitization, and safer alternatives.

react · Aug 4, 2026

Derived State Anti-Patterns

intermediate

Stop copying props into state: derive during render, reset with keys, and the rare cases where mirrored state is intentional.

react · Aug 4, 2026

Error Boundaries

intermediate

Class error boundaries catch render errors in the tree, show fallback UI, and what they do not catch: events, async, own render.

react · Aug 4, 2026

External Store Subscriptions

advanced

Subscribe to non-React stores without tearing: the problem with useEffect + useState, and useSyncExternalStore.

react · Aug 4, 2026

flushSync Rare Cases

advanced

flushSync forces React to flush updates synchronously: measuring DOM after setState, and why overuse hurts.

react · Aug 4, 2026

Forms in React

beginner

Controlled vs uncontrolled inputs, form state, validation UX, and when native form submit is enough.

react · Aug 4, 2026

Forwarding Refs

intermediate

forwardRef and ref props let parents access a child’s DOM node: input focus, measuring, and the ref-as-prop modern pattern.

react · Aug 4, 2026

Fragments

beginner

Group children without an extra DOM node: short syntax, keyed fragments for lists, and when a real wrapper is better.

react · Aug 4, 2026

Function Components

beginner

Function components as UI functions of props and state: hooks, purity under concurrent render, and how they differ from classes.

react · Aug 4, 2026

Higher-Order Components

intermediate

HOCs wrap components to inject props: the classic pattern, displayName, ref issues, and why hooks replaced most uses.

react · Aug 4, 2026

Hydration Mismatches

advanced

Why server HTML must match the client’s first render: common causes, useId, dates, and suppressHydrationWarning.

react · Aug 4, 2026

JSX Under the Hood

beginner

JSX compiles to createElement or jsx() calls: elements as objects, props and children, and why type plus key drive identity.

react · Aug 4, 2026

Keys and Remounting State

intermediate

Keys control identity during reconciliation: stable ids, index key bugs, and intentional remounts when state must reset.

react · Aug 4, 2026

Keys in Lists

beginner

Why React keys exist — identity across reconciliations, index key bugs, remounting with key, and how to choose stable ids.

react · Aug 4, 2026

Layout Components

beginner

Layout components structure pages with slots and children: shells, stacks, and keeping presentational layout free of business state.

react · Aug 4, 2026

Lifting State Up

beginner

Share state by moving it to the closest common parent: when to lift, how to pass setters, and when context is better.

react · Aug 4, 2026

List Virtualization

advanced

Render only visible rows for large lists: windowing mental model, libraries, keys, and accessibility tradeoffs.

react · Aug 4, 2026

Multi-step Forms in React

intermediate

Multi-step wizards: lift durable answers, key step UI, validation per step, and URL-backed step state.

react · Aug 4, 2026

Optimistic UI Updates

advanced

Optimistic UI updates the screen before the server confirms: apply, rollback on error, and concurrent-safe patterns.

react · Aug 4, 2026

Portals

intermediate

Render children into a different DOM node with createPortal: modals, tooltips, and the event bubbling surprise.

react · Aug 4, 2026

Preserving State on Reorder

intermediate

Keep local state glued to the right item when lists reorder: stable keys, position traps, and drag-and-drop gotchas.

react · Aug 4, 2026

Props vs State

beginner

Props are inputs from the parent; state is data the component owns over time. How to choose, lift, and avoid the usual traps.

react · Aug 4, 2026

React DevTools Profiler

intermediate

Use the React DevTools Profiler to find wasted renders: record, ranked chart, commit flamegraph, and what to fix first.

react · Aug 4, 2026

React.memo

intermediate

React.memo skips re-renders when props are Object.is-equal: when it helps, when unstable props make it useless, and cost.

react · Aug 4, 2026

React Mental Model

beginner

React mental model: UI as a function of state, declarative trees, one-way data flow, and re-render triggers.

react · Aug 4, 2026

React Performance Checklist

intermediate

A practical React performance checklist: measure first, fix data flow, then memo, virtualize, and split code.

react · Aug 4, 2026

React with TypeScript Props

beginner

Typing React props in TypeScript: interfaces, children, events, discriminated unions, and component props helpers.

react · Aug 4, 2026

Render Props Pattern

intermediate

Render props share code via a function prop that returns React nodes: classic Mouse, vs custom hooks today.

react · Aug 4, 2026

Resetting State with Key

intermediate

Reset component state by changing key: when remount is cleaner than effects that sync props into useState.

react · Aug 4, 2026

Rules of Hooks

beginner

Why hooks must be top-level and only in React functions — call order, the linter, and the bugs that break when you cheat.

react · Aug 4, 2026

Server Components Overview

advanced

React Server Components run on the server: zero client JS for their logic, async data, and composition with client leaves.

react · Aug 4, 2026

State Colocation

intermediate

Keep state as close as possible to where it is used: colocation, lifting when shared, and re-render blast radius.

react · Aug 4, 2026

Strict Mode Double Effects

intermediate

Why React Strict Mode double-invokes effects in development: finding missing cleanup, pure render, and what production does.

react · Aug 4, 2026

Suspense Overview

advanced

Suspense coordinates loading UI for lazy components and data: boundaries, fallbacks, and what it does not catch.

react · Aug 4, 2026

Testing React Components

intermediate

Test React components by user behavior: Testing Library queries, user-event, async, and what not to assert.

react · Aug 4, 2026

useDeferredValue

advanced

useDeferredValue lags a value behind urgent state so heavy children render with lower priority without dual setState.

react · Aug 4, 2026

useEffect Dependency Array

intermediate

The useEffect dependency array is a contract: Object.is compares, exhaustive-deps, stale closures, and what not to put in effects.

react · Aug 4, 2026

useEffect Fundamentals

intermediate

When useEffect runs, how cleanup works, what belongs in the dependency array, and the bugs from treating it like componentDidMount.

react · Aug 4, 2026

useId for Accessibility IDs

beginner

useId generates stable unique IDs for label/input wiring that work with SSR and hydration.

react · Aug 4, 2026

useImperativeHandle

advanced

useImperativeHandle customizes the instance value exposed to parent refs: narrow APIs, when to avoid, and forwardRef pairing.

react · Aug 4, 2026

useLayoutEffect When to Use

advanced

useLayoutEffect runs before paint: measure and mutate DOM without flicker, SSR warnings, and why useEffect is usually enough.

react · Aug 4, 2026

useMemo and useCallback

intermediate

When memoization helps — referential equality, expensive pure work, memo children, dependency arrays, and the cost of caching everything.

react · Aug 4, 2026

useReducer for Complex State

intermediate

When useReducer beats useState — action tables, pure reducers, dispatch stability, context pairing, and migration patterns.

react · Aug 4, 2026

useRef for Values and DOM

beginner

Mutable boxes that survive renders — DOM refs, instance variables, avoiding re-renders, and the ref-vs-state decision.

react · Aug 4, 2026

useState Patterns

beginner

Practical useState patterns: functional updates, objects versus atoms, lazy init, immutable lists, and when to use useReducer.

react · Aug 4, 2026

useSyncExternalStore Overview

advanced

useSyncExternalStore API deep dive: subscribe, getSnapshot, server snapshot, and mutation rules.

react · Aug 4, 2026

useTransition

advanced

useTransition marks state updates as non-urgent: keep input snappy while heavy UI catches up, with isPending.

react · Aug 4, 2026

Accessibility Specialist Path

intermediate

A staged path to frontend accessibility depth — WCAG, semantics, complex widgets, testing, and shipping a11y in real products.

roadmaps · Aug 4, 2026

CSS Layout Mastery Path

beginner

Staged CSS layout path — box model, cascade, Flexbox, Grid, responsive systems — with checkpoints you can build and explain.

roadmaps · Aug 4, 2026

Design Systems Path

advanced

Path to design-systems engineering — tokens, primitives, accessibility, documentation, versioning, and multi-team adoption.

roadmaps · Aug 4, 2026

Frontend Performance Path

intermediate

Staged path to FE performance mastery — measure Core Web Vitals, fix loading and runtime, and institutionalize budgets.

roadmaps · Aug 4, 2026

Interview Sprint 8 Weeks

intermediate

An 8-week frontend interview plan — JS, React, DSA, machine coding, system design, and mocks with weekly checkpoints.

roadmaps · Aug 4, 2026

JavaScript Mastery Path

beginner

A staged JavaScript mastery path for frontend engineers — language core, async, DOM, patterns — with checkpoints and interview links.

roadmaps · Aug 4, 2026

React Career Path

beginner

Staged React career path — mental model, hooks, data, performance, Next.js, and interview readiness with concrete checkpoints.

roadmaps · Aug 4, 2026

Staff Frontend Skills Path

advanced

Skills path toward staff-level frontend — technical strategy, platforms, influence, quality systems, and interview signal building.

roadmaps · Aug 4, 2026

Testing Craft Path

intermediate

Staged path to frontend testing craft — pure logic, Testing Library, MSW, e2e tradeoffs, a11y CI, and flake control.

roadmaps · Aug 4, 2026

TypeScript Adoption Path

intermediate

Practical TypeScript adoption path for FE teams and individuals — strict mode, UI state types, React, migrations, and interviews.

roadmaps · Aug 4, 2026

Auth Session UX Security

intermediate

Session UX that doesn’t weaken security: login states, logout everywhere, idle timeouts, and step-up auth.

security · Aug 4, 2026

Clickjacking and X-Frame-Options

intermediate

Stop UI redress attacks with frame-ancestors CSP and X-Frame-Options; know when embedding is intentional.

security · Aug 4, 2026

Content Security Policy (CSP)

advanced

Reduce XSS blast radius with CSP — script-src nonces/hashes, strict-dynamic, report-only rollout, and what CSP does not fix.

security · Aug 4, 2026

CSRF Basics for SPAs

intermediate

Cross-site request forgery against cookie sessions: SameSite, CSRF tokens, and SPA fetch patterns.

security · Aug 4, 2026

Dependency Supply Chain Risk

intermediate

npm malware, lockfiles, pin policies, and practical frontend controls against dependency attacks.

security · Aug 4, 2026

Frontend Security Threat Model

intermediate

Threat-model SPAs: assets, attackers, XSS/CSRF/supply-chain, and where frontend controls actually land.

security · Aug 4, 2026

HTTPS and Mixed Content

beginner

TLS everywhere, HSTS, and mixed active/passive content blocks that break modern browsers.

security · Aug 4, 2026

JWT Storage Pitfalls

intermediate

Why localStorage JWTs are XSS bait, cookie alternatives, refresh patterns, and SPA session designs that age better.

security · Aug 4, 2026

Open Redirects

intermediate

Unsafe redirect targets in login return URLs and how to allowlist paths without breaking product flows.

security · Aug 4, 2026

postMessage Security

advanced

Secure window.postMessage: targetOrigin, event.origin checks, schema validation, and iframe bridges.

security · Aug 4, 2026

Privacy and Fingerprinting Basics

advanced

What browser fingerprinting collects, FE APIs that leak entropy, and privacy-preserving product defaults.

security · Aug 4, 2026

Rate Limiting UX Considerations

intermediate

Design FE for 429s: Retry-After, backoff, idempotency, and login lockouts without trapping users.

security · Aug 4, 2026

Safe URL Handling

intermediate

Validate href/src/navigation targets: block javascript: and data: traps, open redirects, and XSS via URLs.

security · Aug 4, 2026

Sandboxing iframes

advanced

iframe sandbox flags explained: lock down embeds, re-enable only needed capabilities, combine with CSP.

security · Aug 4, 2026

Secrets in Frontend Bundles

beginner

API keys in React env vars are public: what’s safe in the browser, map keys, and how leaks happen.

security · Aug 4, 2026

Secure Cookie Flags

intermediate

HttpOnly, Secure, SameSite, Path, Domain, and Priority: set session cookies so XSS and CSRF have less room.

security · Aug 4, 2026

Subresource Integrity

intermediate

SRI hashes on script/link tags so CDN tampering fails closed; generate integrity and pair with CSP.

security · Aug 4, 2026

XSS Prevention Checklist

intermediate

Actionable XSS checklist: sinks, sanitization, CSP, cookies, URLs, markdown, and PR review prompts.

security · Aug 4, 2026

A/B Testing Frontend Design

intermediate

Frontend system design for A/B experiments — assignment, flicker control, flags, metrics, and rollout tradeoffs.

system-design · Aug 4, 2026

Accessibility in Large Apps

intermediate

System design for accessibility at scale — governance, design system primitives, CI checks, and runtime patterns.

system-design · Aug 4, 2026

Auth Session Design for SPAs

intermediate

Frontend auth/session design for SPAs — tokens, cookies, refresh, route guards, XSS/CSRF tradeoffs, and UX.

system-design · Aug 4, 2026

Client-side Routing at Scale

intermediate

System design for SPA routing at scale — code splitting, nested layouts, data loaders, auth gates, and perf.

system-design · Aug 4, 2026

Design a Dashboard Analytics UI

intermediate

Frontend system design for analytics dashboards — layout, query UX, charts, caching, and realtime refresh.

system-design · Aug 4, 2026

Design a Design System

intermediate

System design for a design system — tokens, components, versioning, adoption, a11y, and multi-platform tradeoffs.

system-design · Aug 4, 2026

Design a News Feed

advanced

Frontend system design for a social news feed — ranking surface, virtualization, caching, realtime, and tradeoffs.

system-design · Aug 4, 2026

Design a Notification System UI

advanced

Frontend system design for notifications — inbox, toasts, push permission, realtime, badges, and preferences.

system-design · Aug 4, 2026

Design an Image Gallery

intermediate

Frontend system design for an image gallery — grid, lightbox, responsive images, caching, and upload entry.

system-design · Aug 4, 2026

Design Autocomplete / Typeahead

intermediate

Frontend system design for search typeahead — client UX, API, caching, ranking surface, and a11y at scale.

system-design · Aug 4, 2026

Design E-commerce Product Page

intermediate

Frontend system design for a PDP — gallery, variants, ATC, inventory, SEO/SSR, performance, and trust UI.

system-design · Aug 4, 2026

Design Multi-tenant Admin Panel

advanced

Frontend system design for multi-tenant admin — tenancy switching, RBAC UI, isolation, theming, and safe data fetching.

system-design · Aug 4, 2026

Design Offline-first Notes App

advanced

Frontend system design for offline-first notes — local DB, sync queue, conflict UX, PWA shell, and search.

system-design · Aug 4, 2026

Design Realtime Collaboration Cursors

advanced

Frontend system design for multiplayer cursors — presence, throttling, smoothing, layers, and awareness protocols.

system-design · Aug 4, 2026

Design Video Player Experience

advanced

Frontend system design for video playback UX — player shell, ABR hooks, controls, QoS metrics, and offline.

system-design · Aug 4, 2026

Edge Rendering Tradeoffs

advanced

System design tradeoffs for edge SSR/ISR — latency, cache keys, personalization, cold starts, and when not to.

system-design · Aug 4, 2026

Error Monitoring and RUM Design

intermediate

Frontend system design for error monitoring and RUM — capture, sampling, privacy, source maps, and alerting.

system-design · Aug 4, 2026

Feature Flags Client Architecture

intermediate

Client architecture for feature flags — bootstrap, evaluation, typing, kill switches, and cache consistency.

system-design · Aug 4, 2026

Frontend Caching Strategies

intermediate

System design for frontend caching — HTTP, CDN, Service Worker, memory stores, and invalidation tradeoffs.

system-design · Aug 4, 2026

Infinite Maps Marker UI

advanced

Frontend system design for map UIs — viewport queries, marker clustering, tiles, performance, and selection UX.

system-design · Aug 4, 2026

Internationalization Architecture

intermediate

Frontend i18n architecture — locale routing, message catalogs, formatting, RTL, and loading strategies.

system-design · Aug 4, 2026

Media CDN and Image Pipeline

advanced

Frontend-facing image/media pipeline design — upload, derivatives, CDN URLs, formats, and responsive delivery.

system-design · Aug 4, 2026

Micro Frontends Tradeoffs

advanced

System design tradeoffs for micro-frontends — composition, ownership, shared deps, perf, and when to avoid them.

system-design · Aug 4, 2026

Performance Budget System Design

intermediate

System design for performance budgets — metrics, CI gates, RUM feedback loops, ownership, and enforcement.

system-design · Aug 4, 2026

PWA Install and Offline Shell

advanced

System design for PWA installability and offline shell — manifest, SW lifecycle, caching, update UX, and limits.

system-design · Aug 4, 2026

Realtime WebSocket UI Design

advanced

Frontend system design for WebSocket UIs — connection lifecycle, backoff, fan-in state, ordering, and fallbacks.

system-design · Aug 4, 2026

Search Results Page Design

intermediate

Frontend system design for search results — query UX, filters, ranking display, perf, SEO, and empty states.

system-design · Aug 4, 2026

SSR CSR Islands Architecture

intermediate

System design for SSR, CSR, and islands — pick rendering per surface, hydrate less, and stream wisely.

system-design · Aug 4, 2026

State Management at Scale

intermediate

System design for frontend state at scale — server vs client state, boundaries, stores, and consistency patterns.

system-design · Aug 4, 2026

Upload Large Files UX

intermediate

Frontend system design for large uploads — multipart, resume, progress, concurrency, failures, and virus-scan states.

system-design · Aug 4, 2026

Accessibility Testing in CI

intermediate

Wire axe and lint rules into CI without false confidence — what automation catches, what it misses, and a practical pipeline.

testing · Aug 4, 2026

Component Testing Storybook

intermediate

Use Storybook as a component workshop and optional test runner — stories as living specs, interaction tests, and a11y checks.

testing · Aug 4, 2026

Contract Testing APIs

advanced

Keep frontend and backend agreements honest — schema contracts, Pact-style consumer tests, and OpenAPI-driven checks without brittle E2E.

testing · Aug 4, 2026

Coverage Metrics Pitfalls

intermediate

Why 100% line coverage can still ship bugs — gaming metrics, useless tests, and what coverage is actually good for.

testing · Aug 4, 2026

End-to-End Testing Tradeoffs

intermediate

When E2E tests earn their keep, why they flake, and how to keep a small critical-path suite instead of a slow second frontend.

testing · Aug 4, 2026

Fake Timers for Debounce

intermediate

Test debounced and throttled UI with Vitest/Jest fake timers — advance time deterministically without real sleeps.

testing · Aug 4, 2026

Flaky Tests Common Causes

intermediate

Hunt timing, shared state, order dependence, and network flake — a practical checklist to stabilize frontend test suites.

testing · Aug 4, 2026

Integration Testing UI

intermediate

Test composed UI with real children and network stubs — the sweet spot between shallow unit tests and full E2E.

testing · Aug 4, 2026

Mocking fetch in Tests

intermediate

Stub fetch without lying — MSW vs vi.fn, Response shapes, error paths, and cleanup so network tests stay deterministic.

testing · Aug 4, 2026

MSW Mock Service Worker

intermediate

Intercept HTTP in tests and dev with MSW — handlers, server setup, overrides per test, and how it beats ad-hoc fetch mocks.

testing · Aug 4, 2026

Playwright vs Cypress Overview

intermediate

Compare Playwright and Cypress for frontend E2E — architecture, multi-browser, speed, debugging, and when to pick which.

testing · Aug 4, 2026

Snapshot Testing When Useful

intermediate

When DOM or data snapshots help, when they become merge-conflict noise, and how to keep snapshots intentional and small.

testing · Aug 4, 2026

Test IDs as Last Resort

beginner

Why data-testid ranks last in Testing Library guidance — prefer roles and labels, and when a test id is still the right tool.

testing · Aug 4, 2026

Testing Library Queries Priority

beginner

Query UI like a user — getByRole first, test ids last, and which variant (get/query/find) to use for presence and async.

testing · Aug 4, 2026

Testing Pyramid for Frontend

beginner

Balance unit, integration, and E2E tests for UI apps — the testing trophy mindset, what each layer owns, and allocation rules of thumb.

testing · Aug 4, 2026

Unit Testing Pure Logic

beginner

Extract and test pure functions hard — money, parsing, permissions — without rendering React when the DOM adds no signal.

testing · Aug 4, 2026

user-event vs fireEvent

beginner

Prefer user-event for realistic interactions — how it differs from fireEvent, setup patterns, and when fireEvent is still fine.

testing · Aug 4, 2026

Visual Regression Testing

intermediate

Catch CSS regressions with screenshot diffs — tooling options, what to snapshot, flake from fonts/animations, and review workflows.

testing · Aug 4, 2026

Basic Types and Annotations

beginner

Primitives, arrays, objects, and function annotations TypeScript actually checks — plus where inference is enough and where it is not.

typescript · Aug 4, 2026

Branded Types for IDs

advanced

Nominal-style UserId vs OrderId in TypeScript — prevent ID mixups at compile time with brands, parsers, and form boundaries.

typescript · Aug 4, 2026

Conditional Types Intro

advanced

T extends U ? X : Y — how TypeScript picks types from conditions, distributes over unions, and powers utility types you already use.

typescript · Aug 4, 2026

Declaration Files and DefinitelyTyped

intermediate

How .d.ts files describe JS to TypeScript, when to use @types packages, module augmentation, and writing minimal ambient types for untyped libs.

typescript · Aug 4, 2026

Discriminated Unions for UI State

intermediate

Model loading, success, and error as mutually exclusive variants so TypeScript and your UI cannot show impossible states.

typescript · Aug 4, 2026

Enums vs Union Types

intermediate

When TypeScript enums help, when they hurt, and why string literal unions plus const objects win for most frontend code.

typescript · Aug 4, 2026

Function Overloads

advanced

Declare multiple call signatures so one implementation returns different types based on arguments — without lying with unions everywhere.

typescript · Aug 4, 2026

Generic Constraints

intermediate

Limit type parameters with extends so generics stay flexible but can safely use properties like id, length, or keyof T.

typescript · Aug 4, 2026

Generics Basics

intermediate

Type parameters for functions, components, and data structures — constraints, inference, and the mistakes that produce any-shaped APIs.

typescript · Aug 4, 2026

Generics in React Components

advanced

Type props that depend on item shape — lists, selects, and tables — with generic components, inference pitfalls, and TSX syntax quirks.

typescript · Aug 4, 2026

infer Keyword Basics

advanced

Use infer inside conditional types to extract return types, promise payloads, array elements, and function parameters.

typescript · Aug 4, 2026

Interfaces vs Type Aliases

beginner

When to use interface vs type in TypeScript — extension, unions, declaration merging, and a practical default for frontend apps.

typescript · Aug 4, 2026

keyof typeof and Indexed Access

intermediate

Derive keys and value types from objects with keyof, typeof, and T[K] — the toolkit behind typed forms, configs, and safe property access.

typescript · Aug 4, 2026

Literal Types

beginner

String, number, and boolean literal types — model fixed variants, narrow with equality, and combine with unions for safe UI props.

typescript · Aug 4, 2026

Mapped Types Intro

advanced

Transform every property of a type with {[K in keyof T]: …} — the engine behind Partial, Readonly, Pick patterns, and typed form bags.

typescript · Aug 4, 2026

Narrowing with in Operator

beginner

Use the in operator to narrow unions by property presence — object shapes, optional fields, and when in is the wrong tool.

typescript · Aug 4, 2026

never Type and Exhaustiveness

intermediate

What never means, how exhaustive switches use it, and why unreachable code and empty unions show up in TypeScript errors.

typescript · Aug 4, 2026

Non-null Assertion Operator

intermediate

What value! means in TypeScript, when non-null assertions are justified, and safer patterns that keep strictNullChecks honest.

typescript · Aug 4, 2026

Path Aliases and Tooling Sync

intermediate

Keep tsconfig paths, bundler aliases, Vitest, and ESLint in sync so @/ imports resolve everywhere — not just in the IDE.

typescript · Aug 4, 2026

Readonly and const Assertions

intermediate

Freeze intent with readonly, Readonly<T>, and as const — keep literal types, prevent accidental mutation, and type config objects correctly.

typescript · Aug 4, 2026

Record and Partial patterns for Forms

intermediate

Type form values, errors, touched flags, and dirty maps with Record, Partial, and keyof so field names stay in sync.

typescript · Aug 4, 2026

Runtime Validation with Schemas

intermediate

TypeScript types erase at runtime — validate JSON and form input with Zod (or similar) so parsed data is actually typed and safe.

typescript · Aug 4, 2026

satisfies Operator

intermediate

Check a value against a type while keeping the narrow inferred type — config objects, route maps, and as const without losing literals.

typescript · Aug 4, 2026

Template Literal Types

advanced

Build string types with `on${Event}`, extract route params, and type CSS-like APIs using TypeScript template literal types.

typescript · Aug 4, 2026

tsconfig Strict Flags

intermediate

What strict mode actually enables, flag-by-flag impact on frontend code, and a practical migration order for legacy apps.

typescript · Aug 4, 2026

Tuple Types

intermediate

Fixed-length arrays with per-position types — useState pairs, CSV rows, rest parameters, and labeled tuples in TypeScript.

typescript · Aug 4, 2026

Type Assertions Safely

intermediate

When as Type is justified, why double assertions are a smell, and how to replace casts with narrowing, guards, and validation.

typescript · Aug 4, 2026

Type Guards typeof and instanceof

beginner

Built-in typeof and instanceof narrowing, custom type predicates, and how guards differ from assertions in TypeScript.

typescript · Aug 4, 2026

TypeScript for JavaScript Engineers

beginner

A practical on-ramp: what TS adds to JS, strict mode basics, gradual migration, and the frontend patterns that matter first.

typescript · Aug 4, 2026

Typing fetch Responses

intermediate

Type HTTP JSON safely — Response generics myths, unknown + schema parse, error unions, and React Query-friendly patterns.

typescript · Aug 4, 2026

Typing React Events

intermediate

Correct event types for onClick, onChange, forms, and keyboard handlers in React TypeScript — synthetic events and target narrowing.

typescript · Aug 4, 2026

Typing React Props

beginner

Type component props with required/optional fields, children, unions for variants, and HTML attribute extension patterns.

typescript · Aug 4, 2026

Union and Intersection Types

beginner

Combine types with | and & — model alternatives, mixins, and why unions need narrowing while intersections require all members.

typescript · Aug 4, 2026

unknown vs any

beginner

Why unknown is the type-safe top type, how to narrow it, and when any is a deliberate escape hatch — not a default.

typescript · Aug 4, 2026

Utility Types Partial Pick Omit

beginner

Use Partial, Required, Pick, Omit, and Record to reshape props and DTOs without rewriting object types by hand.

typescript · Aug 4, 2026

Focus Management

intermediate

Keyboard focus as real UI state — modals, SPAs, menus, and patterns from platform a11y guidance.

accessibility · Aug 3, 2026

Browser Rendering Pipeline

intermediate

From bytes to pixels — parse, style, layout, paint, composite — and how your JS/CSS kicks each stage.

browser · Aug 3, 2026

Cascade & Specificity

beginner

How CSS decides the winner — origin, importance, layers, specificity, and order — in human terms.

css · Aug 3, 2026

Two Sum

beginner

The classic warm-up: find two indices that add to a target — brute force, hash map, and the follow-ups interviewers love.

dsa · Aug 3, 2026

Semantic HTML

beginner

Pick elements for meaning, not looks — landmarks, headings, forms, media, and how semantics feed a11y and SEO.

html · Aug 3, 2026

JavaScript Interview Guide

intermediate

A map of what strong FE interviews probe — language, async, DOM, performance — with practice prompts, not a 200-question dump.

interview · Aug 3, 2026

Closures

intermediate

A function plus its lexical environment — scope chains, factories, privacy patterns, loop gotchas, and memory.

javascript · Aug 3, 2026

The Event Loop

intermediate

How JS runtimes schedule work — call stack, macrotasks, microtasks, rendering, and how to talk about it in interviews.

javascript · Aug 3, 2026

Promises

intermediate

Settlement, chaining, errors, Promise API helpers, and how promises plug into the microtask queue — without cargo-cult async.

javascript · Aug 3, 2026

Core Web Vitals

intermediate

LCP, INP, and CLS — what field data measures, good thresholds, and fixes that actually move the needle (per web.dev guidance).

performance · Aug 3, 2026

Reconciliation & the Virtual DOM

intermediate

What re-render actually means, why keys exist, and when memo is a tool — not a personality trait.

react · Aug 3, 2026

XSS for Frontend Engineers

intermediate

How cross-site scripting reaches UI sinks, what React/HTML escaping does and doesn’t save, and layered defenses.

security · Aug 3, 2026

Frontend Engineer Roadmap

beginner

A pragmatic path from HTML foundations to production React systems — ordered for depth, not buzzwords.

roadmaps · Apr 1, 2026

Design YouTube (Frontend)

advanced

Frontend system design for a video streaming product — player, feed, performance, caching, and offline concerns.

system-design · Mar 10, 2026

Next.js Rendering Modes

intermediate

SSR, SSG, ISR, and client rendering — when each helps, and how to talk about them in interviews.

nextjs · Mar 5, 2026

Google Frontend Interview

advanced

What frontend candidates typically face at Google — rounds, topics, and how to prepare without cargo-culting leetcode only.

experiences · Feb 28, 2026

Todo App

beginner

Machine-coding brief for a production-minded todo list — requirements, architecture, state, a11y, and extensions.

machine-coding · Feb 18, 2026

Testing UI with Testing Library

intermediate

Test user-facing behavior — queries by role and label, async utilities, and what not to assert.

testing · Feb 1, 2026

Type Narrowing

intermediate

How TypeScript refines types through control flow — predicates, discriminants, and patterns that keep strict mode honest.

typescript · Jan 28, 2026