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
advancedBuild or evaluate comboboxes with APG keyboard behavior, aria-expanded/activedescendant, and filterable listbox pairing.
accessibility · Aug 4, 2026
Accessible Forms Errors
beginnerLabel inputs, associate errors with fields, announce failures, and avoid placeholder-only forms that break accessibility.
accessibility · Aug 4, 2026
Accessible Menus Pattern
advancedAPG 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
intermediateModal 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
advancedHow browsers compute accessible names from content, labels, aria-label, and labelledby — and how that powers Testing Library queries.
accessibility · Aug 4, 2026
Accessible SVGs
intermediateDecorative vs informative SVG icons — aria-hidden, title/desc, role=img, and pairing icons with accessible names on controls.
accessibility · Aug 4, 2026
Accessible Tables
intermediateData tables vs layout tables — th scope, captions, headers, responsive strategies, and when to use grids instead.
accessibility · Aug 4, 2026
Accessible Tabs Pattern
intermediateAPG 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
intermediatearia-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
intermediateAnnounce 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
intermediateWhat 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
intermediateWhat 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
beginnerWCAG 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
beginnerWCAG 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
beginnerReplace 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
beginnerUse 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
beginnerWrite 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
beginnerPractical 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
beginnerSet html lang, mark language changes, and keep unique descriptive document titles — SPA updates included.
accessibility · Aug 4, 2026
Reduced Motion Preferences
beginnerHonor 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
intermediateGet 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
beginnerAdd skip links so keyboard users bypass repetitive nav — placement, focus styles, target main, and SPA considerations.
accessibility · Aug 4, 2026
Touch Target Sizes
beginnerMake 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
beginnerPerceivable, 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
beginnerHow 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
advancedHow 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
beginnerRead waterfalls, timing phases, headers, throttling, and initiator chains in the Network panel like a production debugger.
browser · Aug 4, 2026
Browser DevTools Performance Panel
intermediateRecord 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
advancedHow content scripts, background/service workers, and pages talk: runtime messaging, ports, and security boundaries.
browser · Aug 4, 2026
Browser Networking 101
intermediateDNS, TCP/TLS, HTTP/1.1 vs H2/H3, connection reuse, and what frontend code can actually influence.
browser · Aug 4, 2026
Browser Storage Comparison
beginnerCookies, localStorage, sessionStorage, IndexedDB, Cache Storage — capacity, persistence, and when each is the wrong tool.
browser · Aug 4, 2026
Cache Storage API
advancedPrecache and runtime cache with the Cache API: match, put, strategies, and how it differs from HTTP cache.
browser · Aug 4, 2026
Compositor Layers
advancedWhen browsers promote layers, why transform/opacity animate cheaply, and layer explosion costs.
browser · Aug 4, 2026
Content-Type and MIME Sniffing
intermediateWhy Content-Type matters, how MIME sniffing works, X-Content-Type-Options: nosniff, and XSS-ish pitfalls.
browser · Aug 4, 2026
CORS Explained for Frontend
intermediateWhy 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
intermediateWhat 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
advancedCOEP require-corp / credentialless: cross-origin isolation, SharedArrayBuffer, and embedding requirements.
browser · Aug 4, 2026
Cross-Origin Opener Policy
advancedCOOP same-origin and same-origin-allow-popups: sever window.opener, process isolation, and OAuth popups.
browser · Aug 4, 2026
DOM CSSOM Render Tree
intermediateHow 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
advancedEvent Timing API fields that power INP: input delay, processing, presentation delay, and attribution.
browser · Aug 4, 2026
Feature Policy Legacy Notes
advancedFeature-Policy renamed to Permissions-Policy: migration notes, old header syntax, and what still matters.
browser · Aug 4, 2026
How Browsers Load a Page
beginnerEnd-to-end navigation: resolve URL, fetch HTML, discover resources, parse, and get first pixels — without magic.
browser · Aug 4, 2026
HTTP Caching Headers
intermediateCache-Control, ETag, Last-Modified, Vary, and immutable fingerprinting patterns for static vs HTML.
browser · Aug 4, 2026
Layout Instability API CLS
advancedLayoutShift entries, value calculation, hadRecentInput, and how to attribute CLS in the field.
browser · Aug 4, 2026
Long Tasks API
advancedDetect main-thread tasks over 50ms with PerformanceObserver longtask entries and fix INP-killing work.
browser · Aug 4, 2026
Main Thread vs Compositor Thread
advancedWhat 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
advancedHeap snapshots, allocation timelines, detached DOM nodes, and practical leak hunts in SPAs.
browser · Aug 4, 2026
Navigation Timing API
advancedPerformanceNavigationTiming phases from startTime to loadEventEnd for document load diagnostics.
browser · Aug 4, 2026
Page Lifecycle Events
intermediateactive, passive, hidden, frozen, discarded — Page Lifecycle states and the events you should actually use.
browser · Aug 4, 2026
PerformanceObserver
advancedSubscribe to performance entries safely: entry types, buffered flag, observe patterns, and RUM use.
browser · Aug 4, 2026
Permissions Policy
advancedLock down camera, geolocation, payment, and other powerful features with Permissions-Policy headers and iframe allow.
browser · Aug 4, 2026
Preflight OPTIONS Requests
intermediateWhen browsers send CORS OPTIONS preflights, which headers to return, caching Max-Age, and SPA debug tips.
browser · Aug 4, 2026
Reflow vs Repaint
intermediateLayout (reflow) vs paint (repaint): which CSS/DOM changes trigger which, and how to keep animations cheap.
browser · Aug 4, 2026
Resource Timing API
advancedPerformanceResourceTiming for every subresource: durations, transferSize, initiatorType, and RUM waterfalls.
browser · Aug 4, 2026
Same-Origin Policy
intermediateOrigin tuple (scheme/host/port), what SOP blocks, and how CORS, postMessage, and cookies relate.
browser · Aug 4, 2026
Service Workers Overview
advancedSW 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
beginnerDevTools CPU and network throttling: when lab numbers lie, custom profiles, and reproducing field pain.
browser · Aug 4, 2026
Trusted Types Intro
advancedTrusted 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
advancedReplace UA string parsing with Client Hints: Sec-CH-UA headers, critical hints, and privacy-aware adaptation.
browser · Aug 4, 2026
visibilitychange and Page Hide
intermediatevisibilitychange, pagehide, and pageshow: flush analytics, pause media, and survive mobile backgrounding.
browser · Aug 4, 2026
Accent Color and Form Controls
beginnerUse 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
intermediateauto-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
beginnerBlock, 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
advancedmix-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
beginnerWhy 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
intermediateUse @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
beginnerCenter 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
advancedBuild 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
intermediateStyle 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
intermediateDefine @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
advancedITCSS inverted triangle — settings through utilities — how layer order reduces specificity wars in large stylesheets.
css · Aug 4, 2026
CSS Box Model
beginnerContent, padding, border, margin, box-sizing, and how the math actually works for layout and overflow.
css · Aug 4, 2026
CSS Custom Properties
beginnerCSS 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
intermediatefilter vs backdrop-filter — blur, saturate, and glass effects, stacking costs, and accessibility pitfalls for frosted UI.
css · Aug 4, 2026
CSS Grid Fundamentals
beginnerTwo-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
beginnerOne-dimensional flex vs two-dimensional grid — decision rules for navs, card grids, page shells, and nested layouts.
css · Aug 4, 2026
CSS Logical Properties
intermediatemargin-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
advancedclip-path for shapes and mask-image for alpha/luminance cutouts — differences, animation notes, and accessibility caveats.
css · Aug 4, 2026
CSS Nesting
intermediateNative 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
intermediateReset 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
beginnerAttribute 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
beginnerCount IDs, classes, and elements correctly — :is/:where/:not, inline styles, !important, and how layers change who actually wins.
css · Aug 4, 2026
CSS Transitions
beginnerAnimate 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
beginnerHow 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
intermediateHow 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
intermediatejustify-content, align-items, align-self, align-content — main vs cross axis, wrapping lines, and absolute positioning inside flex.
css · Aug 4, 2026
Flexbox Fundamentals
beginnerFlex 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
intermediateUse 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
beginnerPrefer 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
intermediateName grid regions with grid-template-areas — ascii layouts, grid-area placement, responsive rearrangements without absolute positioning.
css · Aug 4, 2026
:is :where :has
intermediateSelector 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
beginnerModern @media — mobile-first ranges, range syntax, preference queries, and when container queries replace viewport breakpoints.
css · Aug 4, 2026
minmax and fr Units
intermediateGrid 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
intermediateCSS 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
beginnerCrop 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
beginnerKeep 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
intermediateoverflow, 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
beginnerContaining blocks, stacking, sticky constraints, and when position is the right tool vs flex/grid.
css · Aug 4, 2026
prefers-color-scheme
beginnerRespect 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
beginnerHonor prefers-reduced-motion — cut decorative animation, keep essential feedback, and wire CSS and JS motion to one preference.
css · Aug 4, 2026
Print Stylesheets
intermediateDesign @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
beginnerInteractive 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
intermediateCSS 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
advancedCSS 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
intermediateWhy 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
intermediateposition: sticky for headers and side rails — containing blocks, overflow traps, top offsets, and stacking with page chrome.
css · Aug 4, 2026
Subgrid
advancedgrid-template-rows/columns: subgrid — inherit parent tracks so nested cards and forms share one alignment system.
css · Aug 4, 2026
@supports Feature Queries
intermediateProgressively enhance with @supports — detect properties, selectors, and font tech, and structure fallbacks that still look intentional.
css · Aug 4, 2026
Theming with Custom Properties
intermediateBuild 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
intermediateWhy 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
intermediateUtility-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
advancedCSS view transitions — ::view-transition pseudo-tree, view-transition-name, default crossfades, and reduced-motion-safe page morphs.
css · Aug 4, 2026
will-change Pitfalls
advancedwill-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
advanceddirection, writing-mode, and text-orientation — vertical text, RTL layout, and why logical properties beat left/right hardcoding.
css · Aug 4, 2026
3Sum
intermediateFind all unique triplets that sum to zero — sort + two pointers, deduping strategy, and complexity tradeoffs.
dsa · Aug 4, 2026
Add Two Numbers Linked List
intermediateAdd 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
beginnerOne 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
beginnerSearch 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
intermediateBFS 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
advancedHard 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
intermediateCars 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
beginnern 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
intermediateDeep-copy an undirected connected graph — BFS/DFS with a map from original node to clone, neighbor wiring pitfalls.
dsa · Aug 4, 2026
Coin Change
intermediateFewest coins to make amount — unbounded knapsack DP, BFS alternative, and why greedy fails on arbitrary denominations.
dsa · Aug 4, 2026
Combination Sum
intermediateBacktracking 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
advancedRebuild 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
intermediateTwo 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
beginnerDetect 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
intermediateDeep-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
intermediateCount 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
intermediateCan 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
intermediateReturn a valid course order (topological sort) or empty array if a cycle exists — Kahn BFS and DFS postorder.
dsa · Aug 4, 2026
Daily Temperatures
intermediateDays until a warmer temperature — monotonic decreasing stack of indices, O(n) next-greater-element pattern.
dsa · Aug 4, 2026
Design Add and Search Words
intermediateWord dictionary with '.' wildcards — trie insert, recursive search over branches, and complexity tradeoffs.
dsa · Aug 4, 2026
Design Twitter Lite
advancedpostTweet, follow/unfollow, getNewsFeed — hash maps of tweets and follows, merge k recent feeds for top 10.
dsa · Aug 4, 2026
Encode and Decode Strings
intermediateSerialize 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
intermediateEvaluate RPN with a stack — operands push, operators pop-two apply, integer division toward zero in JS.
dsa · Aug 4, 2026
Find Duplicate Number
intermediateArray 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
advancedRunning 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
intermediateRotated 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
intermediateCircular 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
intermediateBucket strings by sorted signature or char counts — hash map of anagram groups, complexity, and interview variants.
dsa · Aug 4, 2026
Hand of Straights
intermediateSplit hand into groups of W consecutive cards — sorted map/counting greedy, fail when a needed card is missing.
dsa · Aug 4, 2026
House Robber
intermediateMax 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
intermediateCircular 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
beginnerFIFO 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
beginnerLIFO stack from FIFO queues — push O(n) rotate or pop O(n); single-queue rotation technique.
dsa · Aug 4, 2026
Implement Trie
intermediatePrefix tree with insert, search, startsWith — node children map, end flag, and complexity for autocomplete-style use.
dsa · Aug 4, 2026
Insert Interval
intermediateInsert a new interval into sorted non-overlapping intervals — scan left, merge overlap, append right. O(n).
dsa · Aug 4, 2026
Invert Binary Tree
beginnerMirror a binary tree — recursive swap, BFS/DFS iterative, and why this is a five-minute interview handshake.
dsa · Aug 4, 2026
Jump Game
intermediateCan you reach the last index — greedy farthest reach, DP alternative, and when zero cells trap you.
dsa · Aug 4, 2026
Jump Game II
intermediateMinimum 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
intermediateK 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
intermediateKth 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
intermediateMap 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
beginnerDetect 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
intermediateLongest run of consecutive integers in unsorted array — Set + only start at run heads for O(n) average.
dsa · Aug 4, 2026
Longest Increasing Subsequence
intermediateLIS length — classic O(n²) DP and O(n log n) patience sorting with binary search tails array.
dsa · Aug 4, 2026
Longest Palindromic Substring
intermediateLongest palindromic substring — expand around centers O(n²), DP table alternative, and Manacher mention for O(n).
dsa · Aug 4, 2026
Longest Repeating Character Replacement
intermediateLongest substring replaceable into one character with ≤ k swaps — sliding window, max-frequency tracking, O(n).
dsa · Aug 4, 2026
Longest Substring Without Repeating
intermediateFind 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
intermediateFind 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
advancedDesign 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
intermediateLargest 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
beginnerHeight of a binary tree via DFS recursion or BFS levels — the tree warm-up every interviewer trusts.
dsa · Aug 4, 2026
Meeting Rooms
beginnerCan one person attend all meetings? Sort by start and check adjacent overlaps — classic interval warm-up.
dsa · Aug 4, 2026
Meeting Rooms II
intermediateMinimum rooms for all meetings — sort starts and ends, sweep line counting concurrent intervals.
dsa · Aug 4, 2026
Merge Intervals
intermediateMerge overlapping intervals — sort by start, linear scan, and the calendar/UI variants interviewers stack on top.
dsa · Aug 4, 2026
Merge Two Sorted Lists
beginnerMerge two sorted linked lists into one sorted list — dummy head, two pointers, O(n+m) time.
dsa · Aug 4, 2026
Min Stack
intermediateStack 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
advancedSmallest window in s covering all of t — sliding window with need/have counts, O(|s| + |t|).
dsa · Aug 4, 2026
Missing Number
beginnerFind 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
advancedPlace n queens so none attack — backtracking with column and diagonal masks, return all board layouts.
dsa · Aug 4, 2026
Non-overlapping Intervals
intermediateMinimum removals so no intervals overlap — greedy by end time, keep the interval that finishes first.
dsa · Aug 4, 2026
Number of 1 Bits
beginnerHamming weight — count set bits with n & (n-1) Brian Kernighan, or shift-and-mask, O(set bits).
dsa · Aug 4, 2026
Number of Islands
intermediateCount 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
advancedCells that can reach both oceans — multi-source DFS/BFS inland from Pacific and Atlantic borders.
dsa · Aug 4, 2026
Palindrome Partitioning
intermediatePartition a string so every substring is a palindrome — backtrack with expand checks, list all partitions.
dsa · Aug 4, 2026
Permutations
intermediateGenerate all permutations of a distinct array — swap-based or used-mask backtracking, n! outputs.
dsa · Aug 4, 2026
Product of Array Except Self
intermediateOutput[i] = product of all nums except i — prefix/suffix passes, O(n) time without division.
dsa · Aug 4, 2026
Redundant Connection
intermediateFind 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
intermediateDelete 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
intermediateL0→Ln→L1→Ln-1… — find mid, reverse second half, merge alternating, O(n) time O(1) space.
dsa · Aug 4, 2026
Reverse Bits
beginnerReverse the 32 bits of an integer — shift-and-accumulate or divide-and-conquer bit swaps.
dsa · Aug 4, 2026
Reverse Linked List
beginnerReverse a singly linked list in place — iterative three-pointer walk, recursive version, and the interview follow-ups.
dsa · Aug 4, 2026
Rotate Image
intermediateRotate an n×n matrix 90° clockwise in place — transpose then reverse each row (or layer peel).
dsa · Aug 4, 2026
Same Tree
beginnerCheck 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
intermediateFind target in a rotated sorted array of distinct ints — modified binary search on the sorted half.
dsa · Aug 4, 2026
Serialize Deserialize Binary Tree
advancedEncode a binary tree to a string and rebuild it — preorder with null markers or BFS level order.
dsa · Aug 4, 2026
Set Matrix Zeroes
intermediateIf 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
advancedMax of every window of size k — monotonic decreasing deque of indices, O(n) total.
dsa · Aug 4, 2026
Spiral Matrix
intermediateTraverse an m×n matrix in spiral order — shrink four boundaries, O(mn) time.
dsa · Aug 4, 2026
Subsets
intermediatePower set of distinct integers — backtracking include/exclude or bit masks, 2^n subsets.
dsa · Aug 4, 2026
Subtree of Another Tree
beginnerIs 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
intermediateAdd without + or − operators — XOR for sum bits, AND+shift for carry, loop until carry clears.
dsa · Aug 4, 2026
Task Scheduler
intermediateMin 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
intermediateset(key,value,timestamp) and get previous value — map of sorted timestamps, binary search on get.
dsa · Aug 4, 2026
Top K Frequent Elements
intermediatek most frequent numbers — count with a map, then bucket sort by frequency for average O(n).
dsa · Aug 4, 2026
Unique Paths
intermediateRobot on m×n grid moves only right/down — DP grid or combinatorial C(m+n-2, m-1).
dsa · Aug 4, 2026
Valid Anagram
beginnerSame characters with same counts — frequency array or sort both strings, O(n) or O(n log n).
dsa · Aug 4, 2026
Valid Palindrome
beginnerAlphanumeric palindrome check — two pointers skipping non-alphanumerics, O(n) time O(1) space.
dsa · Aug 4, 2026
Valid Parentheses
beginnerCheck if brackets are valid with a stack — matching pairs, edge cases, and the interview follow-ups.
dsa · Aug 4, 2026
Valid Sudoku
intermediateValidate 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
intermediateIs the tree a valid BST? Carry (min, max) bounds down DFS, or inorder strictly increasing.
dsa · Aug 4, 2026
Word Break
intermediateCan s be segmented into dictionary words? DP boolean array, O(n² · word checks).
dsa · Aug 4, 2026
Word Ladder
advancedShortest transformation beginWord→endWord changing one letter — BFS on implicit word graph.
dsa · Aug 4, 2026
Word Search
intermediateDoes a word exist on a letter grid? Backtracking DFS from each cell with visited marks.
dsa · Aug 4, 2026
Word Search II
advancedFind all dictionary words on a board — Trie of words + DFS from each cell, prune dead branches.
dsa · Aug 4, 2026
Adobe Frontend Interview
advancedWhat frontend candidates typically face at Adobe — creative-cloud UI craft, coding, design systems, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Airbnb Frontend Interview
advancedWhat frontend candidates typically face at Airbnb — product craft, coding, design systems thinking, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Amazon Frontend Interview
advancedWhat frontend candidates typically face at Amazon — OA, loops, Leadership Principles, coding bar, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Apple Frontend Interview
advancedWhat frontend candidates typically face at Apple — polish, accessibility, web/UI craft, coding, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Atlassian Frontend Interview
advancedWhat frontend candidates typically face at Atlassian — Jira/Confluence-scale UI, coding, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Dropbox Frontend Interview
advancedWhat frontend candidates typically face at Dropbox — file UX, coding quality, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Flipkart Frontend Interview
advancedWhat frontend candidates typically face at Flipkart — e-commerce UI, coding, machine coding, and prep. Composite/unofficial.
experiences · Aug 4, 2026
LinkedIn Frontend Interview
advancedWhat frontend candidates typically face at LinkedIn — feed/scale UI, coding, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Meta Frontend Interview
advancedWhat 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
advancedWhat frontend candidates typically face at Microsoft — loops, TypeScript/systems flavor, coding bar, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Netflix Frontend Interview
advancedWhat frontend candidates typically face at Netflix — performance-minded UI, coding, design rounds, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Oracle Frontend Interview
advancedWhat frontend candidates typically face at Oracle — enterprise UI, coding, JS depth, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Salesforce Frontend Interview
advancedWhat frontend candidates typically face at Salesforce — enterprise UX, Lightning/web craft, coding, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Shopify Frontend Interview
advancedWhat frontend candidates typically face at Shopify — merchant UX, React craft, coding, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Slack Frontend Interview
advancedWhat frontend candidates typically face at Slack — realtime messaging UI, coding, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Block (Square) Frontend Interview
advancedWhat frontend candidates typically face at Block (Square) — fintech UI, coding quality, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Stripe Frontend Interview
advancedWhat frontend candidates typically face at Stripe — API-minded UI, coding quality, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Swiggy Frontend Interview
advancedWhat frontend candidates typically face at Swiggy — food-delivery UI, machine coding, DSA, and prep. Composite/unofficial.
experiences · Aug 4, 2026
X (Twitter) Frontend Interview
advancedWhat frontend candidates typically face at X (Twitter) — feed/realtime UI, coding, design, and prep. Composite/unofficial.
experiences · Aug 4, 2026
Uber Frontend Interview
advancedWhat 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
intermediateHow 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
intermediateNative audio/video — controls, sources, captions, autoplay policies, and accessibility requirements for media on the web.
html · Aug 4, 2026
Autocomplete and Name Attributes
intermediatename 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
intermediateHow <base href> rewrites relative URLs for links, scripts, and forms — powerful for static hosts, dangerous when set accidentally.
html · Aug 4, 2026
contenteditable Basics
advancedcontenteditable 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
beginnerdata-* 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
beginnerNative 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
intermediateNative 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
beginnerShip 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
beginnerGroup related form controls with fieldset/legend — radio groups, disabled fieldsets, and accessible naming for control sets.
html · Aug 4, 2026
Form Validation Attributes
beginnerNative constraint validation — required, type, pattern, min/max, minlength/maxlength, and wiring :invalid with accessible errors.
html · Aug 4, 2026
Forms, Labels, and Inputs
beginnerWire 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
beginnerUse 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
beginnerSkeleton of a solid HTML document — doctype, html/lang, head metadata, body landmarks, and what belongs where.
html · Aug 4, 2026
HTML Entities and Encoding
beginnerCharset, Unicode, and entities — when to use & < , escaping user content, and mojibake avoidance.
html · Aug 4, 2026
iframe Sandbox and Security
advancedEmbed third-party content safely — sandbox tokens, allow attributes, CSP frame-src, and postMessage boundaries.
html · Aug 4, 2026
Images alt and Decorative
beginnerWrite 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
beginnerPick 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
beginnerheader, 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
beginnerSet 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
beginnerNavigate 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
beginnerEssential meta tags — title, description, robots, canonical, viewport — and what actually moves SEO vs folklore.
html · Aug 4, 2026
noscript Fallbacks
beginnerUse 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
intermediateControl 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
intermediateResponsive 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
intermediatelink rel=preload, prefetch, preconnect, and modulepreload — speed critical assets without wrecking bandwidth priorities.
html · Aug 4, 2026
Semantic article section aside
beginnerWhen to use article, section, and aside — standalone content vs thematic grouping vs complementary, with heading pairing.
html · Aug 4, 2026
Tables for Tabular Data
beginnerUse tables for data grids — th/scope, captions, headers, responsive strategies, and when CSS grid is the wrong substitute.
html · Aug 4, 2026
template Element
intermediateHTML 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
beginnerMark 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
intermediateWCAG-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
beginnerHow 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
intermediateBrowser interview map for frontend engineers — loading, rendering, storage, networking, DevTools — with practice prompts and deep links.
interview · Aug 4, 2026
Common Frontend Interview Mistakes
beginnerHigh-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
beginnerBig-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
beginnerCSS 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
intermediateA 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
beginnerHow 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
beginnerReusable 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
intermediateHigh-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
intermediateA 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
beginnerA 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
intermediateRead 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
beginnerPractical compensation negotiation for engineers — total comp, competing offers, and scripts without bluffing or burning bridges.
interview · Aug 4, 2026
Performance Interview Talking Points
intermediateFrontend 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
intermediateA 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
intermediateFrontend security interview map — XSS, CSRF, CSP, cookies, supply chain — practical talking points without fear-mongering.
interview · Aug 4, 2026
Senior Frontend Interview Signals
advancedWhat senior FE loops actually score — ownership, tradeoffs, quality bars, and how mid-level answers fall short.
interview · Aug 4, 2026
Staff Frontend Interview Signals
advancedStaff-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
advancedA 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
intermediateHow to approach frontend take-homes — scope control, README quality, testing, and timeboxing without overbuilding.
interview · Aug 4, 2026
Testing Interview Questions
intermediateFrontend testing interview map — Testing Library, pyramid tradeoffs, mocks, a11y tests, and how to talk test strategy.
interview · Aug 4, 2026
Tradeoff Language in Interviews
beginnerPhrases 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
intermediateTypeScript interview map for frontend engineers — narrowing, unions, generics, React props, and practical type puzzles.
interview · Aug 4, 2026
Whiteboarding UI Components
intermediateHow to whiteboard frontend components — API design, state diagrams, layout boxes, and a11y — when code editors are limited.
interview · Aug 4, 2026
AbortController
intermediateCancel 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
beginnerShort-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
beginnermap, 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
beginnerLexical 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
advancedAsync 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
intermediateBigInt 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
advancedUsing & | ^ ~ << for permission flags and packed options — int32 traps, readability tradeoffs, and clearer alternatives.
javascript · Aug 4, 2026
Blob, File, and Object URLs
intermediateBlobs, File objects, object URLs, and revokeObjectURL — previews, downloads, and memory leaks from forgotten URLs.
javascript · Aug 4, 2026
call, apply, and bind
intermediateExplicit 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
intermediateEvent propagation phases, addEventListener options — capture, once, passive, and signal — and when each fixes a real bug.
javascript · Aug 4, 2026
Classes in JavaScript
beginnerJS classes as sugar over prototypes — constructors, extends, super, fields, and what still differs from classical OOP.
javascript · Aug 4, 2026
classList and dataset
beginnerToggle 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
advancedclientWidth vs offsetWidth vs scrollWidth — borders, scrollbars, and which box measurement to use for layout math.
javascript · Aug 4, 2026
Compose and Pipe
intermediateRight-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
advancedWhy 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
intermediatedocument.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
beginnercreateElement, textContent vs innerHTML, insert APIs, and batching updates — safe DOM writes without accidental XSS.
javascript · Aug 4, 2026
Currying and Partial Application
intermediateCurry vs partial application — unary chains, bind, practical helpers, and when extra abstraction hurts readability.
javascript · Aug 4, 2026
Custom Elements
advancedWeb Components custom elements — define, connectedCallback, attributes vs properties, and autonomous vs customized built-ins.
javascript · Aug 4, 2026
Custom Events
intermediateCustomEvent, detail payloads, bubbles and composed — decoupling components without a global event bus mess.
javascript · Aug 4, 2026
Date and Time Pitfalls
intermediateJS Date gotchas: parsing strings, time zones, month indexes, and when to reach for Temporal or a library.
javascript · Aug 4, 2026
Debounce Implementation
intermediateImplement debounce in JavaScript — trailing vs leading, cancel/flush, TypeScript typing, and when to throttle instead.
javascript · Aug 4, 2026
Deep vs Shallow Copy
beginnerShallow copy shares nested refs; deep copy clones the graph — spread, structuredClone, JSON limits, and React state implications.
javascript · Aug 4, 2026
Default Parameters
beginnerES6 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
beginnerObject and array destructuring — renames, defaults, nested patterns, rest, and parameter destructuring in real APIs.
javascript · Aug 4, 2026
DocumentFragment
intermediateBuild 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
beginnerquerySelector, querySelectorAll, closest, and matches — CSS selectors in JS, NodeList vs HTMLCollection, and scoping roots.
javascript · Aug 4, 2026
Dynamic import()
intermediateimport() returns a module namespace promise — code splitting, conditional loads, and error handling for lazy routes.
javascript · Aug 4, 2026
Error Types and Custom Errors
beginnerError, TypeError, RangeError, and custom subclasses — name, cause, stack, and catching by type without swallowing bugs.
javascript · Aug 4, 2026
ES Modules
beginnerimport/export semantics — live bindings, default vs named, strict mode, module graph loading, and script type=module.
javascript · Aug 4, 2026
Event Delegation
intermediateHandle many elements with one listener on a parent — bubbling, currentTarget vs target, and when not to delegate.
javascript · Aug 4, 2026
Event Emitter Pattern
intermediateImplement 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
beginnerPrefer 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
beginnerHow fetch really works — Response.ok, one-shot bodies, JSON errors, AbortController, credentials, and production footguns.
javascript · Aug 4, 2026
FinalizationRegistry
advancedFinalizationRegistry 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
intermediateBuild multipart uploads with FormData, append files, inspect entries, and pair with fetch — progress and size limits included.
javascript · Aug 4, 2026
Functional Array Patterns
beginnerPractical functional array techniques — flatMap, partitioning, indexing, zip, and when chaining hurts performance.
javascript · Aug 4, 2026
Garbage Collection Mental Model
advancedReachability, mark-and-sweep, retained closures and DOM — a practical GC model for frontend engineers debugging memory.
javascript · Aug 4, 2026
Generators
advancedfunction* and yield — lazy sequences, custom iterators, two-way next(value), and how generators power async patterns.
javascript · Aug 4, 2026
getBoundingClientRect
intermediateViewport-relative boxes with getBoundingClientRect — subpixels, scroll, transforms, and layout thrashing pitfalls.
javascript · Aug 4, 2026
Getters and Setters
beginnerget/set accessors on objects and classes — computed properties, validation, infinite loop traps, and defineProperty.
javascript · Aug 4, 2026
globalThis
beginnerglobalThis as the standard global object across browsers, workers, and Node — replacing window/self/global checks.
javascript · Aug 4, 2026
History API for SPA Routing
intermediatepushState, replaceState, and popstate — client-side routing without reloads, scroll restoration, and server fallback gotchas.
javascript · Aug 4, 2026
Hoisting in JavaScript
beginnerWhat 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
intermediateUpdate state without mutating — spread paths, arrays, structural sharing ideas, freeze, and libraries when nested updates hurt.
javascript · Aug 4, 2026
IndexedDB Overview
advancedBrowser IndexedDB for structured client storage — databases, object stores, transactions, indexes, and when not to use it.
javascript · Aug 4, 2026
IntersectionObserver
intermediateObserve element visibility asynchronously — lazy images, infinite scroll, ad viewability, without scroll listener jank.
javascript · Aug 4, 2026
Intl API Formatting
intermediateFormat 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
intermediateSymbol.iterator, next(), and for...of — how iterables work, custom iterators, and the difference from arrays.
javascript · Aug 4, 2026
JSON parse and stringify pitfalls
beginnerJSON.stringify/parse footguns — undefined, dates, NaN, cycles, toJSON, revivers, and safe parsing of untrusted input.
javascript · Aug 4, 2026
localStorage and sessionStorage
beginnerWeb 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
beginnerMap 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
intermediateCache 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
advancedFind 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
intermediateIIFE, Revealing Module, AMD, CommonJS, UMD — how pre-ESM isolation worked and what still shows up in legacy bundles.
javascript · Aug 4, 2026
MutationObserver
advancedWatch DOM mutations without polling — observe options, batching, microtask delivery, and safe patterns for widgets and analytics.
javascript · Aug 4, 2026
null vs undefined
beginnerWhen JS uses undefined vs null, equality traps, defaults, JSON gaps, and how to choose one intentionally in APIs.
javascript · Aug 4, 2026
Nullish Coalescing
beginnerUse ?? 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
intermediateWhy 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
beginnerUse 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
intermediateBuild objects with Object.create, walk [[Prototype]], distinguish own vs inherited props, and know null-prototype maps.
javascript · Aug 4, 2026
Object.is vs ===
beginnerObject.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
beginnerOmit 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
beginnerSafe property/call access with ?. — short-circuit rules, arrays, nullish defaults, and mistakes that hide real bugs.
javascript · Aug 4, 2026
Polyfills and Baseline Targets
intermediateShip 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
advancedCross-origin iframe and worker messaging with postMessage — targetOrigin, event.origin checks, and structured clone pitfalls.
javascript · Aug 4, 2026
preventDefault vs stopPropagation
beginnerCancel browser defaults vs stop event bubbling — capture, stopImmediatePropagation, and when passive listeners ignore preventDefault.
javascript · Aug 4, 2026
Private Class Fields
intermediateHard privacy with #fields and #methods — syntax rules, brand checks, vs WeakMap closures, and what stays enumerable.
javascript · Aug 4, 2026
Promise Combinators Practice
intermediateDrill Promise.all, allSettled, race, and any with real patterns — timeouts, fail-soft loads, and first-success fallbacks.
javascript · Aug 4, 2026
Prototypal Inheritance
intermediateHow 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
advancedIntercept object operations with Proxy traps, forward correctly via Reflect, and know performance and invariant limits.
javascript · Aug 4, 2026
Pub Sub vs Observer
intermediateSeparate publishers from subscribers vs subject–observer coupling — when each fits UI apps, and a tiny EventEmitter sketch.
javascript · Aug 4, 2026
Pure Functions
beginnerSame 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
intermediateMicrotask vs macrotask scheduling — queueMicrotask, Promise.then, setTimeout(0), and why microtasks can starve rendering.
javascript · Aug 4, 2026
Regular Expressions Essentials
intermediateBuild and debug JS regex: literals vs constructor, flags, groups, lastIndex traps, and safe validation patterns for forms.
javascript · Aug 4, 2026
requestAnimationFrame
intermediateSchedule paint-aligned work with rAF — timestamps, cancelAnimationFrame, batching reads/writes, and vs setTimeout for animation.
javascript · Aug 4, 2026
requestIdleCallback
advancedRun low-priority work in idle periods — deadline.timeRemaining, timeout option, polyfill with rAF, and what not to put idle.
javascript · Aug 4, 2026
ResizeObserver
intermediateObserve element size changes without window.resize — box options, loop limits, disconnect, and chart/layout patterns.
javascript · Aug 4, 2026
Resource Hints preload prefetch
intermediatedns-prefetch, preconnect, preload, prefetch, modulepreload — when each helps LCP/navigation and how to avoid over-fetching.
javascript · Aug 4, 2026
Rest and Spread Syntax
beginnerCollect args with rest, expand iterables with spread — shallow copy pitfalls, parameter order, and object merge patterns.
javascript · Aug 4, 2026
Selection and Range APIs
advancedRead and manipulate user selections with Selection and Range — caret position, surroundContents, and editor footguns.
javascript · Aug 4, 2026
Shadow DOM Basics
advancedEncapsulate markup and styles with shadow roots — open vs closed, slots, CSS boundaries, and events retargeting.
javascript · Aug 4, 2026
Shallow vs Deep Equality
intermediateCompare references vs structure — React prop checks, writing shallowEqual, deep equal costs, and JSON.stringify traps.
javascript · Aug 4, 2026
Side Effects in Frontend Code
beginnerIdentify 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
beginnerArray.sort mutates, default string order breaks numbers — stable sort, compare functions, localeCompare, and immutable patterns.
javascript · Aug 4, 2026
Strict Mode
beginnerWhat '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
beginnerPractical string APIs for UI work: slice vs substring, includes/startsWith, replaceAll, trim, pad, split, and unicode awareness.
javascript · Aug 4, 2026
Structured Clone
intermediateDeep-clone supported types with structuredClone — what transfers, what throws, vs JSON tricks and MessageChannel history.
javascript · Aug 4, 2026
Symbols in JavaScript
intermediateUnique property keys with Symbol — privacy lite, well-known symbols (iterator, toStringTag), Symbol.for, and enumeration rules.
javascript · Aug 4, 2026
Tagged Template Sanitization Idea
advancedUse 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
intermediateHTML 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
beginnerBacktick strings, interpolation, multiline, raw strings, and tagged templates for DSLs — without inventing XSS.
javascript · Aug 4, 2026
Temporal Dead Zone
intermediateWhy 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
intermediateHow JavaScript decides this — default, method, explicit call/apply/bind, new, and lexical this in arrows. With runnable examples.
javascript · Aug 4, 2026
Throttle Implementation
intermediateImplement throttle in JavaScript — leading vs trailing edges, cancel, comparison with debounce, React cleanup, and interview-ready code.
javascript · Aug 4, 2026
Top-level await
intermediateAwait 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
beginnerMemorize 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
beginnerCatch 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
intermediatePredict JS coercion: ToPrimitive, == abstract equality, + vs concat, truthiness, and how to avoid the worst comparisons.
javascript · Aug 4, 2026
Typed Arrays and ArrayBuffer
advancedBinary data in JS: ArrayBuffer, views (Uint8Array, DataView), endianness, slices vs subarray, and worker transfer.
javascript · Aug 4, 2026
URL and URLSearchParams
beginnerParse 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
beginnerScope, 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
advancedHold object keys without preventing GC — private data, DOM metadata, and why WeakMap isn’t iterable.
javascript · Aug 4, 2026
Web Workers Overview
advancedMove 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
intermediateMachine-coding brief for a modal dialog — focus trap, Escape, scroll lock, restore focus, and ARIA dialog pattern.
machine-coding · Aug 4, 2026
Accordion FAQ
intermediateMachine-coding brief for an accessible accordion FAQ — single/multi expand, keyboard, ARIA, and clean state.
machine-coding · Aug 4, 2026
Autocomplete Search Box
intermediateMachine-coding brief for a typeahead search input — debounce, race-safe fetch, keyboard nav, a11y, and caching.
machine-coding · Aug 4, 2026
Calendar Month View
intermediateMachine-coding brief for a month calendar grid — date math, selection, keyboard nav, a11y, and localization hooks.
machine-coding · Aug 4, 2026
Chat Message UI
intermediateMachine-coding brief for a chat message list — bubbles, grouping, scroll anchoring, composer, and a11y.
machine-coding · Aug 4, 2026
Code Editor Line Numbers
intermediateMachine-coding brief for a mini code editor — synced line numbers, scroll lock, tabs, caret-friendly textarea.
machine-coding · Aug 4, 2026
Color Picker Widget
intermediateMachine-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
intermediateMachine-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
intermediateMachine-coding brief for list reorder — pointer drag, keyboard move, optimistic order, and accessible announcements.
machine-coding · Aug 4, 2026
Emoji Picker Panel
intermediateMachine-coding brief for an emoji picker — grid, search, categories, keyboard, virtualization notes, and insert callback.
machine-coding · Aug 4, 2026
File Explorer Tree View
intermediateMachine-coding brief for a file tree — expand/collapse, selection, keyboard tree pattern, lazy children, and icons.
machine-coding · Aug 4, 2026
Image Carousel
intermediateMachine-coding brief for an image carousel — slides, controls, keyboard, autoplay pause, a11y, and reduced motion.
machine-coding · Aug 4, 2026
Image Cropper Lite
intermediateMachine-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
intermediateMachine-coding brief for a cursor-paginated feed — IntersectionObserver, race safety, empty/error states, and a11y.
machine-coding · Aug 4, 2026
Kanban Board
intermediateMachine-coding brief for a kanban board — columns, cards, cross-column drag, state model, and keyboard moves.
machine-coding · Aug 4, 2026
Lite Spreadsheet Grid
advancedMachine-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
intermediateMachine-coding brief for multi-select chips — tags input, keyboard remove, suggestions, a11y listbox, and controlled values.
machine-coding · Aug 4, 2026
Multi Step Wizard
intermediateMachine-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
intermediateMachine-coding brief for nested comments — tree model, reply UX, collapse, pagination of roots, and a11y.
machine-coding · Aug 4, 2026
Offline Status Indicator
intermediateMachine-coding brief for online/offline UI — navigator.onLine, events, banners, queue hooks, and a11y live regions.
machine-coding · Aug 4, 2026
OTP Input Boxes
intermediateMachine-coding brief for OTP/PIN inputs — multi-box entry, paste, backspace, a11y one-field semantics, and autofill.
machine-coding · Aug 4, 2026
Pagination Component
intermediateMachine-coding brief for pagination — page math, truncated ranges, controlled page, a11y navigation, and edge cases.
machine-coding · Aug 4, 2026
Polling Metrics Dashboard
intermediateMachine-coding brief for a metrics dashboard — polling, abort/stale safety, visibility pause, cards, and error UX.
machine-coding · Aug 4, 2026
Product Filters Sidebar
intermediateMachine-coding brief for product filters — URL-synced facets, multi-select, clear-all, and derived result counts.
machine-coding · Aug 4, 2026
Rich Text Toolbar
intermediateMachine-coding brief for a rich-text toolbar — contentEditable or execCommand baseline, active states, and a11y.
machine-coding · Aug 4, 2026
Shopping Cart Drawer
intermediateMachine-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
intermediateMachine-coding brief for smart tooltips — flip/shift positioning, delay, hover/focus, and accessible naming.
machine-coding · Aug 4, 2026
Sortable Data Table
intermediateMachine-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
intermediateMachine-coding brief for split markdown edit/preview — sync scroll optional, sanitize HTML, debounce render.
machine-coding · Aug 4, 2026
Star Rating Input
intermediateMachine-coding brief for star rating — hover preview, keyboard, half stars optional, and radiogroup a11y pattern.
machine-coding · Aug 4, 2026
Tabs Component
intermediateMachine-coding brief for accessible tabs — tablist pattern, keyboard arrows, panels, and controlled state.
machine-coding · Aug 4, 2026
Toast Notification System
intermediateMachine-coding brief for toasts — queue, auto-dismiss, a11y live regions, stacking, and imperative API.
machine-coding · Aug 4, 2026
Typeahead Mentions
intermediateMachine-coding brief for @mentions typeahead — caret detection, portal list, insert token, keyboard, and a11y.
machine-coding · Aug 4, 2026
Video Player Controls
intermediateMachine-coding brief for custom video controls — play/seek/volume, keyboard, Media Session hooks, and a11y.
machine-coding · Aug 4, 2026
Virtualized Data Table
advancedMachine-coding brief for a virtualized table — windowing math, sticky header, row height, scroll performance.
machine-coding · Aug 4, 2026
Auth Patterns Overview
advancedAuth 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
advancedNext.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
intermediateClient 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
intermediateFetch data in Server Components with async/await and fetch caching: colocation, parallel requests, and client fallbacks.
nextjs · Aug 4, 2026
Deploying Next on Vercel
beginnerDeploy Next.js on Vercel: git integration, env vars, previews, build cache, and production checklist.
nextjs · Aug 4, 2026
Edge Runtime Tradeoffs
advancedEdge 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
beginnerNext.js env vars: server-only secrets, NEXT_PUBLIC_ exposure, .env files, and build-time inlining pitfalls.
nextjs · Aug 4, 2026
File-based Routing
beginnerNext.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
intermediatenext/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
intermediatenext/image optimizes responsive images: sizing, remote patterns, priority LCP, and common layout shift fixes.
nextjs · Aug 4, 2026
Intercepting Routes Overview
advancedIntercepting routes show a parallel UI (modal) while keeping the underlying URL: folder conventions with (.) (..) etc.
nextjs · Aug 4, 2026
ISR Mental Model
intermediateISR 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
beginnerNested 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
beginnerloading.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
intermediateNext.js Metadata API sets titles, descriptions, Open Graph, and dynamic SEO fields in the App Router.
nextjs · Aug 4, 2026
Middleware in Next.js
intermediateNext.js Middleware runs before a request completes: auth redirects, rewrites, matchers, and edge constraints.
nextjs · Aug 4, 2026
Next.js App Router Overview
beginnerapp/ 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
intermediatenext/link prefetches route payloads in viewport: defaults, opt-out, dynamic routes, and bandwidth tradeoffs.
nextjs · Aug 4, 2026
Parallel Routes Overview
advancedParallel routes render multiple pages in one layout via named slots (@folder), independent loading, and modals.
nextjs · Aug 4, 2026
Revalidate Path and Tag
advancedrevalidatePath and revalidateTag invalidate cached data and routes after mutations in the App Router.
nextjs · Aug 4, 2026
Route Handlers
intermediateRoute Handlers implement HTTP endpoints with route.ts: verbs, Request/Response, caching, and when to prefer Server Actions.
nextjs · Aug 4, 2026
Server Actions Overview
advancedServer Actions are async server functions callable from forms and client components: mutations, progressive enhancement, revalidation.
nextjs · Aug 4, 2026
Server Components in Next.js
intermediateRSC 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
intermediateStatic 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
advancedStream HTML/RSC payloads with Suspense in Next.js: loading.tsx, nested boundaries, and faster first paint.
nextjs · Aug 4, 2026
Avoiding Layout Thrashing
intermediateStop forced sync layout loops: batch DOM reads and writes, use rAF, and fix janky measurement code.
performance · Aug 4, 2026
Caching Static Assets Fingerprinting
intermediateContent-hash filenames, long-cache headers, HTML revalidation, and CDN invalidation without stuck users.
performance · Aug 4, 2026
CLS Optimization Tactics
intermediateFix cumulative layout shift: dimensions, font metrics, reserved slots, and stable late-loading UI.
performance · Aug 4, 2026
Code Splitting Strategies
intermediateRoute, component, and vendor splits: dynamic import(), magic comments, and avoiding over-splitting waterfalls.
performance · Aug 4, 2026
Compression gzip brotli
beginnerEnable Brotli/gzip for text assets, pick quality levels, and verify Content-Encoding in production.
performance · Aug 4, 2026
Critical CSS Approaches
advancedInline above-the-fold CSS, extract critical rules, and avoid shipping megabyte stylesheets on first paint.
performance · Aug 4, 2026
Font Loading Strategies
intermediatefont-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
advancedWhat H2/H3 change for waterfalls, prioritization, and why domain sharding died — frontend-relevant bits only.
performance · Aug 4, 2026
Idle Work Scheduling
advancedrequestIdleCallback, idle deadlines, and what work is safe to defer without breaking UX or analytics.
performance · Aug 4, 2026
Image Optimization Formats
beginnerAVIF, WebP, JPEG, PNG: choose formats, quality, and tooling so LCP images stay sharp and small.
performance · Aug 4, 2026
INP Optimization Tactics
intermediateFix 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
intermediateSet 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
intermediateLighthouse lab vs CrUX/RUM field: what each is for, how they diverge, and how to use both.
performance · Aug 4, 2026
LCP Optimization Tactics
intermediateDeep tactics for Largest Contentful Paint — discovery, priority, bytes, server delay, and render delay — beyond the CWV overview.
performance · Aug 4, 2026
Lighthouse Score Interpretation
beginnerWhat the 0–100 Lighthouse score means, metric weights, variance, and how not to game it.
performance · Aug 4, 2026
Long Tasks and Yielding
intermediateBreak up long tasks so INP survives: chunking, scheduler.yield, isInputPending, and framework patterns.
performance · Aug 4, 2026
Measuring Performance Mindset
beginnerMeasure before optimizing: hypotheses, percentiles, user journeys, and stopping when the metric doesn’t move.
performance · Aug 4, 2026
Memoization Performance Tradeoffs
intermediateReact.memo, useMemo, useCallback, and cache maps: when memoization helps, when it wastes memory and time.
performance · Aug 4, 2026
Network Waterfall Reading
beginnerRead request waterfalls: critical path chains, priority, blocking, and how to shorten discovery delays.
performance · Aug 4, 2026
Performance Budgets in CI
intermediateEncode LCP/size budgets in CI with Lighthouse CI or size-limit so regressions fail pull requests.
performance · Aug 4, 2026
Preconnect and DNS Prefetch
intermediateWarm critical third-party origins with preconnect; use dns-prefetch lightly; don’t shotgun hints.
performance · Aug 4, 2026
Responsive Images Performance
intermediatesrcset, sizes, and density descriptors so browsers download the right image bytes for each viewport.
performance · Aug 4, 2026
RUM Real User Monitoring
intermediateCollect field CWV and custom timings from real sessions: sampling, beacons, privacy, and dashboards.
performance · Aug 4, 2026
scheduler.yield and Scheduling
advancedscheduler.yield, postTask priorities, and how modern scheduling APIs improve INP over setTimeout hacks.
performance · Aug 4, 2026
Third-Party Script Cost
intermediateMeasure and contain tags, embeds, and widgets: main-thread cost, facades, consent, and contractual budgets.
performance · Aug 4, 2026
Tree Shaking Basics
intermediateDead-code elimination for ES modules: sideEffects, named imports, and why some libraries won’t shake.
performance · Aug 4, 2026
TTFB and Server Timing
intermediateDiagnose Time to First Byte with Navigation Timing and break down backend phases via Server-Timing.
performance · Aug 4, 2026
Virtual Lists Performance
advancedRender only visible rows: windowing mental model, overscan, scroll issues, and accessibility tradeoffs.
performance · Aug 4, 2026
Accessibility Patterns in React
intermediatePractical React a11y: labels, focus management, keyboard, live regions, and composition patterns that stay accessible.
react · Aug 4, 2026
Avoid Prop Drilling with Composition
intermediateStop threading props through intermediates: children slots, inversion of control, and when context is the right escape hatch.
react · Aug 4, 2026
Batching State Updates
intermediateHow 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
beginnerUsing children and slot props for flexible APIs: wrappers, compound components, and when to prefer explicit props.
react · Aug 4, 2026
Client Component Boundaries
advancedWhere to put use client: push interactivity to leaves, serializable props, and children as server slots.
react · Aug 4, 2026
Client Routing Mental Model
beginnerClient-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
intermediateReact.lazy and Suspense split bundles: dynamic import, loading fallbacks, error boundaries, and route-level splits.
react · Aug 4, 2026
Composition vs Inheritance
beginnerReact prefers composition over inheritance: children, special slots, and why extend MyComponent is a dead end.
react · Aug 4, 2026
Concurrent Features Overview
advancedConcurrent React: interruptible rendering, transitions, Suspense, and why render purity matters more than ever.
react · Aug 4, 2026
Context API Basics
beginnerReact context for dependency injection — createContext, Provider, useContext, default values, and when context is the wrong tool.
react · Aug 4, 2026
Context Performance Pitfalls
advancedContext 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
beginnerReact 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
intermediateExtract reusable stateful logic with use* hooks — API design, composition, testing seams, and footguns that recreate render bugs.
react · Aug 4, 2026
dangerouslySetInnerHTML Risks
intermediatedangerouslySetInnerHTML bypasses React escaping: XSS risks, sanitization, and safer alternatives.
react · Aug 4, 2026
Derived State Anti-Patterns
intermediateStop 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
intermediateClass 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
advancedSubscribe to non-React stores without tearing: the problem with useEffect + useState, and useSyncExternalStore.
react · Aug 4, 2026
flushSync Rare Cases
advancedflushSync forces React to flush updates synchronously: measuring DOM after setState, and why overuse hurts.
react · Aug 4, 2026
Forms in React
beginnerControlled vs uncontrolled inputs, form state, validation UX, and when native form submit is enough.
react · Aug 4, 2026
Forwarding Refs
intermediateforwardRef 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
beginnerGroup 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
beginnerFunction 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
intermediateHOCs wrap components to inject props: the classic pattern, displayName, ref issues, and why hooks replaced most uses.
react · Aug 4, 2026
Hydration Mismatches
advancedWhy server HTML must match the client’s first render: common causes, useId, dates, and suppressHydrationWarning.
react · Aug 4, 2026
JSX Under the Hood
beginnerJSX 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
intermediateKeys control identity during reconciliation: stable ids, index key bugs, and intentional remounts when state must reset.
react · Aug 4, 2026
Keys in Lists
beginnerWhy React keys exist — identity across reconciliations, index key bugs, remounting with key, and how to choose stable ids.
react · Aug 4, 2026
Layout Components
beginnerLayout components structure pages with slots and children: shells, stacks, and keeping presentational layout free of business state.
react · Aug 4, 2026
Lifting State Up
beginnerShare 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
advancedRender only visible rows for large lists: windowing mental model, libraries, keys, and accessibility tradeoffs.
react · Aug 4, 2026
Multi-step Forms in React
intermediateMulti-step wizards: lift durable answers, key step UI, validation per step, and URL-backed step state.
react · Aug 4, 2026
Optimistic UI Updates
advancedOptimistic UI updates the screen before the server confirms: apply, rollback on error, and concurrent-safe patterns.
react · Aug 4, 2026
Portals
intermediateRender children into a different DOM node with createPortal: modals, tooltips, and the event bubbling surprise.
react · Aug 4, 2026
Preserving State on Reorder
intermediateKeep 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
beginnerProps 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
intermediateUse the React DevTools Profiler to find wasted renders: record, ranked chart, commit flamegraph, and what to fix first.
react · Aug 4, 2026
React.memo
intermediateReact.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
beginnerReact 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
intermediateA practical React performance checklist: measure first, fix data flow, then memo, virtualize, and split code.
react · Aug 4, 2026
React with TypeScript Props
beginnerTyping React props in TypeScript: interfaces, children, events, discriminated unions, and component props helpers.
react · Aug 4, 2026
Render Props Pattern
intermediateRender 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
intermediateReset component state by changing key: when remount is cleaner than effects that sync props into useState.
react · Aug 4, 2026
Rules of Hooks
beginnerWhy 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
advancedReact 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
intermediateKeep 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
intermediateWhy React Strict Mode double-invokes effects in development: finding missing cleanup, pure render, and what production does.
react · Aug 4, 2026
Suspense Overview
advancedSuspense coordinates loading UI for lazy components and data: boundaries, fallbacks, and what it does not catch.
react · Aug 4, 2026
Testing React Components
intermediateTest React components by user behavior: Testing Library queries, user-event, async, and what not to assert.
react · Aug 4, 2026
useDeferredValue
advanceduseDeferredValue lags a value behind urgent state so heavy children render with lower priority without dual setState.
react · Aug 4, 2026
useEffect Dependency Array
intermediateThe 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
intermediateWhen 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
beginneruseId generates stable unique IDs for label/input wiring that work with SSR and hydration.
react · Aug 4, 2026
useImperativeHandle
advanceduseImperativeHandle customizes the instance value exposed to parent refs: narrow APIs, when to avoid, and forwardRef pairing.
react · Aug 4, 2026
useLayoutEffect When to Use
advanceduseLayoutEffect runs before paint: measure and mutate DOM without flicker, SSR warnings, and why useEffect is usually enough.
react · Aug 4, 2026
useMemo and useCallback
intermediateWhen 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
intermediateWhen useReducer beats useState — action tables, pure reducers, dispatch stability, context pairing, and migration patterns.
react · Aug 4, 2026
useRef for Values and DOM
beginnerMutable boxes that survive renders — DOM refs, instance variables, avoiding re-renders, and the ref-vs-state decision.
react · Aug 4, 2026
useState Patterns
beginnerPractical useState patterns: functional updates, objects versus atoms, lazy init, immutable lists, and when to use useReducer.
react · Aug 4, 2026
useSyncExternalStore Overview
advanceduseSyncExternalStore API deep dive: subscribe, getSnapshot, server snapshot, and mutation rules.
react · Aug 4, 2026
useTransition
advanceduseTransition marks state updates as non-urgent: keep input snappy while heavy UI catches up, with isPending.
react · Aug 4, 2026
Accessibility Specialist Path
intermediateA 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
beginnerStaged CSS layout path — box model, cascade, Flexbox, Grid, responsive systems — with checkpoints you can build and explain.
roadmaps · Aug 4, 2026
Design Systems Path
advancedPath to design-systems engineering — tokens, primitives, accessibility, documentation, versioning, and multi-team adoption.
roadmaps · Aug 4, 2026
Frontend Performance Path
intermediateStaged path to FE performance mastery — measure Core Web Vitals, fix loading and runtime, and institutionalize budgets.
roadmaps · Aug 4, 2026
Interview Sprint 8 Weeks
intermediateAn 8-week frontend interview plan — JS, React, DSA, machine coding, system design, and mocks with weekly checkpoints.
roadmaps · Aug 4, 2026
JavaScript Mastery Path
beginnerA staged JavaScript mastery path for frontend engineers — language core, async, DOM, patterns — with checkpoints and interview links.
roadmaps · Aug 4, 2026
React Career Path
beginnerStaged React career path — mental model, hooks, data, performance, Next.js, and interview readiness with concrete checkpoints.
roadmaps · Aug 4, 2026
Staff Frontend Skills Path
advancedSkills path toward staff-level frontend — technical strategy, platforms, influence, quality systems, and interview signal building.
roadmaps · Aug 4, 2026
Testing Craft Path
intermediateStaged path to frontend testing craft — pure logic, Testing Library, MSW, e2e tradeoffs, a11y CI, and flake control.
roadmaps · Aug 4, 2026
TypeScript Adoption Path
intermediatePractical 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
intermediateSession 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
intermediateStop UI redress attacks with frame-ancestors CSP and X-Frame-Options; know when embedding is intentional.
security · Aug 4, 2026
Content Security Policy (CSP)
advancedReduce 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
intermediateCross-site request forgery against cookie sessions: SameSite, CSRF tokens, and SPA fetch patterns.
security · Aug 4, 2026
Dependency Supply Chain Risk
intermediatenpm malware, lockfiles, pin policies, and practical frontend controls against dependency attacks.
security · Aug 4, 2026
Frontend Security Threat Model
intermediateThreat-model SPAs: assets, attackers, XSS/CSRF/supply-chain, and where frontend controls actually land.
security · Aug 4, 2026
HTTPS and Mixed Content
beginnerTLS everywhere, HSTS, and mixed active/passive content blocks that break modern browsers.
security · Aug 4, 2026
JWT Storage Pitfalls
intermediateWhy localStorage JWTs are XSS bait, cookie alternatives, refresh patterns, and SPA session designs that age better.
security · Aug 4, 2026
Open Redirects
intermediateUnsafe redirect targets in login return URLs and how to allowlist paths without breaking product flows.
security · Aug 4, 2026
postMessage Security
advancedSecure window.postMessage: targetOrigin, event.origin checks, schema validation, and iframe bridges.
security · Aug 4, 2026
Privacy and Fingerprinting Basics
advancedWhat browser fingerprinting collects, FE APIs that leak entropy, and privacy-preserving product defaults.
security · Aug 4, 2026
Rate Limiting UX Considerations
intermediateDesign FE for 429s: Retry-After, backoff, idempotency, and login lockouts without trapping users.
security · Aug 4, 2026
Safe URL Handling
intermediateValidate href/src/navigation targets: block javascript: and data: traps, open redirects, and XSS via URLs.
security · Aug 4, 2026
Sandboxing iframes
advancediframe sandbox flags explained: lock down embeds, re-enable only needed capabilities, combine with CSP.
security · Aug 4, 2026
Secrets in Frontend Bundles
beginnerAPI 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
intermediateHttpOnly, Secure, SameSite, Path, Domain, and Priority: set session cookies so XSS and CSRF have less room.
security · Aug 4, 2026
Subresource Integrity
intermediateSRI hashes on script/link tags so CDN tampering fails closed; generate integrity and pair with CSP.
security · Aug 4, 2026
XSS Prevention Checklist
intermediateActionable XSS checklist: sinks, sanitization, CSP, cookies, URLs, markdown, and PR review prompts.
security · Aug 4, 2026
A/B Testing Frontend Design
intermediateFrontend system design for A/B experiments — assignment, flicker control, flags, metrics, and rollout tradeoffs.
system-design · Aug 4, 2026
Accessibility in Large Apps
intermediateSystem design for accessibility at scale — governance, design system primitives, CI checks, and runtime patterns.
system-design · Aug 4, 2026
Auth Session Design for SPAs
intermediateFrontend 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
intermediateSystem 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
intermediateFrontend system design for analytics dashboards — layout, query UX, charts, caching, and realtime refresh.
system-design · Aug 4, 2026
Design a Design System
intermediateSystem design for a design system — tokens, components, versioning, adoption, a11y, and multi-platform tradeoffs.
system-design · Aug 4, 2026
Design a News Feed
advancedFrontend system design for a social news feed — ranking surface, virtualization, caching, realtime, and tradeoffs.
system-design · Aug 4, 2026
Design a Notification System UI
advancedFrontend system design for notifications — inbox, toasts, push permission, realtime, badges, and preferences.
system-design · Aug 4, 2026
Design an Image Gallery
intermediateFrontend system design for an image gallery — grid, lightbox, responsive images, caching, and upload entry.
system-design · Aug 4, 2026
Design Autocomplete / Typeahead
intermediateFrontend 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
intermediateFrontend 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
advancedFrontend 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
advancedFrontend 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
advancedFrontend system design for multiplayer cursors — presence, throttling, smoothing, layers, and awareness protocols.
system-design · Aug 4, 2026
Design Video Player Experience
advancedFrontend system design for video playback UX — player shell, ABR hooks, controls, QoS metrics, and offline.
system-design · Aug 4, 2026
Edge Rendering Tradeoffs
advancedSystem 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
intermediateFrontend system design for error monitoring and RUM — capture, sampling, privacy, source maps, and alerting.
system-design · Aug 4, 2026
Feature Flags Client Architecture
intermediateClient architecture for feature flags — bootstrap, evaluation, typing, kill switches, and cache consistency.
system-design · Aug 4, 2026
Frontend Caching Strategies
intermediateSystem design for frontend caching — HTTP, CDN, Service Worker, memory stores, and invalidation tradeoffs.
system-design · Aug 4, 2026
Infinite Maps Marker UI
advancedFrontend system design for map UIs — viewport queries, marker clustering, tiles, performance, and selection UX.
system-design · Aug 4, 2026
Internationalization Architecture
intermediateFrontend i18n architecture — locale routing, message catalogs, formatting, RTL, and loading strategies.
system-design · Aug 4, 2026
Media CDN and Image Pipeline
advancedFrontend-facing image/media pipeline design — upload, derivatives, CDN URLs, formats, and responsive delivery.
system-design · Aug 4, 2026
Micro Frontends Tradeoffs
advancedSystem design tradeoffs for micro-frontends — composition, ownership, shared deps, perf, and when to avoid them.
system-design · Aug 4, 2026
Performance Budget System Design
intermediateSystem design for performance budgets — metrics, CI gates, RUM feedback loops, ownership, and enforcement.
system-design · Aug 4, 2026
PWA Install and Offline Shell
advancedSystem design for PWA installability and offline shell — manifest, SW lifecycle, caching, update UX, and limits.
system-design · Aug 4, 2026
Realtime WebSocket UI Design
advancedFrontend system design for WebSocket UIs — connection lifecycle, backoff, fan-in state, ordering, and fallbacks.
system-design · Aug 4, 2026
Search Results Page Design
intermediateFrontend system design for search results — query UX, filters, ranking display, perf, SEO, and empty states.
system-design · Aug 4, 2026
SSR CSR Islands Architecture
intermediateSystem design for SSR, CSR, and islands — pick rendering per surface, hydrate less, and stream wisely.
system-design · Aug 4, 2026
State Management at Scale
intermediateSystem design for frontend state at scale — server vs client state, boundaries, stores, and consistency patterns.
system-design · Aug 4, 2026
Upload Large Files UX
intermediateFrontend system design for large uploads — multipart, resume, progress, concurrency, failures, and virus-scan states.
system-design · Aug 4, 2026
Accessibility Testing in CI
intermediateWire 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
intermediateUse 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
advancedKeep 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
intermediateWhy 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
intermediateWhen 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
intermediateTest debounced and throttled UI with Vitest/Jest fake timers — advance time deterministically without real sleeps.
testing · Aug 4, 2026
Flaky Tests Common Causes
intermediateHunt timing, shared state, order dependence, and network flake — a practical checklist to stabilize frontend test suites.
testing · Aug 4, 2026
Integration Testing UI
intermediateTest 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
intermediateStub 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
intermediateIntercept 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
intermediateCompare Playwright and Cypress for frontend E2E — architecture, multi-browser, speed, debugging, and when to pick which.
testing · Aug 4, 2026
Snapshot Testing When Useful
intermediateWhen 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
beginnerWhy 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
beginnerQuery 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
beginnerBalance 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
beginnerExtract 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
beginnerPrefer 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
intermediateCatch 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
beginnerPrimitives, 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
advancedNominal-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
advancedT 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
intermediateHow .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
intermediateModel 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
intermediateWhen 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
advancedDeclare multiple call signatures so one implementation returns different types based on arguments — without lying with unions everywhere.
typescript · Aug 4, 2026
Generic Constraints
intermediateLimit 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
intermediateType 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
advancedType 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
advancedUse infer inside conditional types to extract return types, promise payloads, array elements, and function parameters.
typescript · Aug 4, 2026
Interfaces vs Type Aliases
beginnerWhen 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
intermediateDerive 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
beginnerString, 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
advancedTransform 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
beginnerUse 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
intermediateWhat 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
intermediateWhat 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
intermediateKeep 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
intermediateFreeze 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
intermediateType 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
intermediateTypeScript 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
intermediateCheck 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
advancedBuild 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
intermediateWhat 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
intermediateFixed-length arrays with per-position types — useState pairs, CSV rows, rest parameters, and labeled tuples in TypeScript.
typescript · Aug 4, 2026
Type Assertions Safely
intermediateWhen 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
beginnerBuilt-in typeof and instanceof narrowing, custom type predicates, and how guards differ from assertions in TypeScript.
typescript · Aug 4, 2026
TypeScript for JavaScript Engineers
beginnerA 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
intermediateType HTTP JSON safely — Response generics myths, unknown + schema parse, error unions, and React Query-friendly patterns.
typescript · Aug 4, 2026
Typing React Events
intermediateCorrect event types for onClick, onChange, forms, and keyboard handlers in React TypeScript — synthetic events and target narrowing.
typescript · Aug 4, 2026
Typing React Props
beginnerType component props with required/optional fields, children, unions for variants, and HTML attribute extension patterns.
typescript · Aug 4, 2026
Union and Intersection Types
beginnerCombine types with | and & — model alternatives, mixins, and why unions need narrowing while intersections require all members.
typescript · Aug 4, 2026
unknown vs any
beginnerWhy 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
beginnerUse Partial, Required, Pick, Omit, and Record to reshape props and DTOs without rewriting object types by hand.
typescript · Aug 4, 2026
Focus Management
intermediateKeyboard focus as real UI state — modals, SPAs, menus, and patterns from platform a11y guidance.
accessibility · Aug 3, 2026
Browser Rendering Pipeline
intermediateFrom bytes to pixels — parse, style, layout, paint, composite — and how your JS/CSS kicks each stage.
browser · Aug 3, 2026
Cascade & Specificity
beginnerHow CSS decides the winner — origin, importance, layers, specificity, and order — in human terms.
css · Aug 3, 2026
Two Sum
beginnerThe 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
beginnerPick elements for meaning, not looks — landmarks, headings, forms, media, and how semantics feed a11y and SEO.
html · Aug 3, 2026
JavaScript Interview Guide
intermediateA map of what strong FE interviews probe — language, async, DOM, performance — with practice prompts, not a 200-question dump.
interview · Aug 3, 2026
Closures
intermediateA function plus its lexical environment — scope chains, factories, privacy patterns, loop gotchas, and memory.
javascript · Aug 3, 2026
The Event Loop
intermediateHow JS runtimes schedule work — call stack, macrotasks, microtasks, rendering, and how to talk about it in interviews.
javascript · Aug 3, 2026
Promises
intermediateSettlement, chaining, errors, Promise API helpers, and how promises plug into the microtask queue — without cargo-cult async.
javascript · Aug 3, 2026
Core Web Vitals
intermediateLCP, 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
intermediateWhat 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
intermediateHow 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
beginnerA pragmatic path from HTML foundations to production React systems — ordered for depth, not buzzwords.
roadmaps · Apr 1, 2026
Design YouTube (Frontend)
advancedFrontend system design for a video streaming product — player, feed, performance, caching, and offline concerns.
system-design · Mar 10, 2026
Next.js Rendering Modes
intermediateSSR, SSG, ISR, and client rendering — when each helps, and how to talk about them in interviews.
nextjs · Mar 5, 2026
Google Frontend Interview
advancedWhat frontend candidates typically face at Google — rounds, topics, and how to prepare without cargo-culting leetcode only.
experiences · Feb 28, 2026
Todo App
beginnerMachine-coding brief for a production-minded todo list — requirements, architecture, state, a11y, and extensions.
machine-coding · Feb 18, 2026
Testing UI with Testing Library
intermediateTest user-facing behavior — queries by role and label, async utilities, and what not to assert.
testing · Feb 1, 2026
Type Narrowing
intermediateHow TypeScript refines types through control flow — predicates, discriminants, and patterns that keep strict mode honest.
typescript · Jan 28, 2026