Articles
846 guides
Every MDX document on the platform. Use search (⌘K) or filter by category mentally — hub pages under Learn and Interview link related tracks.
Coursera Frontend Interview
advancedEd-tech frontend loops often include a JS/DOM filter, a design round, and a code-review conversation. Composite patterns from public hiring, not a diary.
experiences · Nov 8, 2026
Intuit Frontend Interview
advancedComposite Intuit-style frontend prep: JS async questions, component builds, and accessibility on money forms. Loops vary by team and level.
experiences · Nov 8, 2026
Navi Frontend Interview
advancedComposite Navi-style frontend prep for an NBFC and payments product: JS screens, machine coding, and money-safe UI. Loops vary by team.
experiences · Nov 8, 2026
PhonePe Frontend Interview
advancedPayments-app frontend interviews typically combine JS fundamentals, UI coding, and design-system thinking. Composite guidance for SDE2-shaped loops.
experiences · Nov 8, 2026
Postman Frontend Interview
advancedWhat developer-tool frontend interviews tend to probe: API-shaped UI, large editors, state, and collaboration. Composite patterns, confirm with your recruiter.
experiences · Nov 8, 2026
Razorpay Frontend Interview
advancedHow payment-product frontend loops usually mix JS problem solving, machine coding, and product sense. Composite guidance, not a personal diary.
experiences · Nov 8, 2026
Spotify Frontend Interview
advancedComposite Spotify-style frontend prep: player state, lists at scale, and JS depth. Media loops vary by team, level, and year.
experiences · Nov 8, 2026
Zepto Frontend Interview
advancedQuick-commerce frontend loops often stress machine coding, DOM/CSS, and delivery-speed UI. Composite round types, not a claimed onsite transcript.
experiences · Nov 8, 2026
Frontend Code Review Interview Round
advancedHow senior loops use a PR: correctness, a11y, a race, a secret in the client, and how you talk to a junior author without being cruel.
interview · Nov 8, 2026
Frontend LLD on a Whiteboard
advancedBox the UI, name the state, walk the data flow, leave CSS last. A 45-minute low-level design method for frontend interviews.
interview · Nov 8, 2026
Frontend Online Assessments
beginnerWhat OA rounds usually mix: timed DSA in JS, MCQs on the platform, and sometimes a tiny UI. How to pick language, tests, and time splits.
interview · Nov 8, 2026
JavaScript Output-Based Questions
intermediateHow to dry-run this, closures, hoisting, and the event loop on a whiteboard. A method, not a dump of 50 puzzles you will forget.
interview · Nov 8, 2026
How to Approach Polyfill Questions
beginnerA repeatable method for interview polyfills: restate the spec, list edge cases, write a standalone function, then talk complexity and prototype mutation.
interview · Nov 8, 2026
React Hooks Interview Playbook
intermediateThe four questions they ask about hooks: rules, stale closures, effect dependencies, and custom-hook design, with answers that score.
interview · Nov 8, 2026
Analytics SDK Event Queue
advancedQueue analytics events, send them in series, retry the ones that fail, and flush on page hide without dropping the last click.
javascript-interview · Nov 8, 2026
Arrays That Emit Change Events
advancedWrap push, pop, and splice so subscribers hear adds and removes. Proxy vs subclass, and why mutating via index assignment still slips through.
javascript-interview · Nov 8, 2026
Array.filter Polyfill
beginnerWrite filter that skips holes, respects thisArg, and never writes empty slots for rejected items. Contrast with map’s hole-preserving result.
javascript-interview · Nov 8, 2026
Array.find Polyfill
beginnerWrite Array.prototype.find: first callback hit wins, holes are read as undefined, nothing matching returns undefined, and findIndex is the index twin.
javascript-interview · Nov 8, 2026
Array.flat Polyfill
intermediateImplement flat(depth) with Infinity, holes, and non-array array-likes. Recursion vs stack, and why concat(spread) blows up on huge inputs.
javascript-interview · Nov 8, 2026
Array.forEach Polyfill
beginnerImplement Array.prototype.forEach: visit present elements, skip holes, ignore the callback return, and honor thisArg without using native forEach.
javascript-interview · Nov 8, 2026
Array.includes Polyfill
beginnerImplement Array.prototype.includes with SameValueZero: NaN is found, +0 equals -0, and fromIndex can walk backwards from the end.
javascript-interview · Nov 8, 2026
Array.map Polyfill
beginnerImplement Array.prototype.map without cheating: thisArg, sparse holes, callback args, and why indexOf-based loops fail on duplicates and NaN.
javascript-interview · Nov 8, 2026
Array.reduce Polyfill
intermediateImplement reduce with and without an initial value. Empty array TypeError, holes, left-fold order, and why skip-first-present-element is easy to get wrong.
javascript-interview · Nov 8, 2026
Async Filter Function
intermediateFilter an array with an async predicate: wait for every predicate, keep input order, emit a dense array, and decide fail-fast vs allSettled.
javascript-interview · Nov 8, 2026
Run Async Tasks in Parallel
intermediateStart every task now, wait with Promise.all, and talk about the wall-clock vs series. Error handling and why unbounded parallel is a production bug.
javascript-interview · Nov 8, 2026
Run Async Tasks in Series
intermediateExecute async functions one after another, collect results in order, and stop on first rejection. Reduce vs for-await, and when series is the point.
javascript-interview · Nov 8, 2026
Cancelable Async Tasks
intermediateWrap work so a caller can abort: AbortController, ignored stale results, and the difference between cancelling IO and ignoring a resolved promise.
javascript-interview · Nov 8, 2026
Chunk an Array
beginnerSplit an array into pieces of size n. Remainder chunk, size <= 0, and why splice in a loop mutates the input you were asked not to touch.
javascript-interview · Nov 8, 2026
Circuit Breaker in JavaScript
advancedClosed, open, half-open: stop calling a failing function, fail fast while open, and probe once when the cooldown expires.
javascript-interview · Nov 8, 2026
Clear All Timeouts
intermediateTrack timer ids you created and clear them as a set. Monkey-patching the global is a test smell; a small TimerHost is the production shape.
javascript-interview · Nov 8, 2026
CSS Selector Generator
intermediateBuild a unique CSS path from a node to the root: id when unique, then nth-child among siblings, and stop before you invent a full query engine.
javascript-interview · Nov 8, 2026
Custom Promise From Scratch
advancedBuild a tiny Promise: executor, then chaining, microtask reactions, resolve-thenable unwrapping, and the states you are not allowed to leave.
javascript-interview · Nov 8, 2026
Deep Clone Implementation
intermediateInterview deep clone: JSON is a lossy subset, structuredClone is the host, and recursion plus a WeakMap is how you survive cycles.
javascript-interview · Nov 8, 2026
Deep Equality in JavaScript
advancedCompare values structurally: primitives, NaN, arrays, plain objects, dates, and the cycle that will infinite-loop a naive recursion.
javascript-interview · Nov 8, 2026
EventEmitter Implementation
intermediateBuild on, off, once, and emit. Copy the listener list before emit so a handler that unsubscribes cannot skip the next listener.
javascript-interview · Nov 8, 2026
Implement a Fake setTimeout
advancedA timer queue you can run in tests: schedule, clear, sort by due time, and flush without a real clock. Why a busy while-loop is a bad host.
javascript-interview · Nov 8, 2026
Fetch Interceptors
intermediateWrap fetch so you can mutate the request, inspect the response, and chain interceptors, without monkey-patching window.fetch for the whole page.
javascript-interview · Nov 8, 2026
Flatten a Nested Array
beginnerInterview flatten: stack vs recursion, depth cap, and treating only real arrays as nestable. Different problem from Array.flat polyfill details.
javascript-interview · Nov 8, 2026
Flatten and Unflatten Objects
intermediateTurn nested objects into dot-path keys and back. Arrays vs objects, numeric keys, and why round-tripping `a.b[0]` is a product decision.
javascript-interview · Nov 8, 2026
Serialize a Form to JSON
intermediateRead FormData, group duplicate names into arrays, skip disabled controls, and handle file inputs without pretending they are strings.
javascript-interview · Nov 8, 2026
Function.prototype.bind Polyfill
intermediateImplement Function.prototype.bind: bound this, prepended arguments, and new Bound() that still uses the original function prototype.
javascript-interview · Nov 8, 2026
Function.prototype.call and apply Polyfill
intermediatePolyfill call and apply: set this for one invocation, spread an argument list, and explain why apply(null, array) is not the same as a spread.
javascript-interview · Nov 8, 2026
Walk the DOM Like getElementsByClassName
intermediateDFS or BFS a subtree for class tokens. Live vs static NodeList, classList vs className split, and why querySelectorAll is the modern answer.
javascript-interview · Nov 8, 2026
Implement groupBy
beginnerGroup array items by a key function or property name. Stable insertion of keys, and why mutating the source objects is a hostile API.
javascript-interview · Nov 8, 2026
HTML Escape and Encode
beginnerReplace the five XML characters in user text. This is encoding, not a sanitizer, and innerHTML of escaped text is still the wrong default.
javascript-interview · Nov 8, 2026
In-Memory Filesystem
advancedmkdir, writeFile, readFile on a tree of maps. Normalize paths, reject escape via .., and decide whether writeFile creates parents.
javascript-interview · Nov 8, 2026
Infinite Currying in JavaScript
intermediateReturn a function until a sentinel (empty call or valueOf) asks for the sum. Closures, toString tricks, and why this is a closure test, not a math test.
javascript-interview · Nov 8, 2026
Implement instanceof
intermediateWalk [[Prototype]] until you hit the constructor’s prototype. Symbol.hasInstance, primitives, and the null-prototype object that is nobody’s instance.
javascript-interview · Nov 8, 2026
JavaScript Interview Learning Path
beginnerA frontend-shaped path through polyfills, async orchestration, output questions, and machine coding. Checkpoints you can implement, not course trophies.
javascript-interview · Nov 8, 2026
JSON.parse Implementation
advancedParse JSON with recursive descent, never eval. Why trailing commas throw, how strings and numbers tokenize, and where a reviver walks after.
javascript-interview · Nov 8, 2026
Implement JSON.stringify
advancedA honest subset of JSON.stringify: primitives, arrays, objects, toJSON, skipped functions/undefined, and why cycles throw TypeError.
javascript-interview · Nov 8, 2026
localStorage with Expiry
beginnerWrap localStorage in a JSON envelope with expiresAt. Stale keys still occupy quota until you remove them, and JSON.parse can throw.
javascript-interview · Nov 8, 2026
mapLimit: Async Map With a Concurrency Cap
advancedMap an array through an async iteratee with at most N in flight. Preserve output order, fail fast, and drain the queue without starving later items.
javascript-interview · Nov 8, 2026
mapSeries Async
intermediateMap one async iteratee at a time, preserve output order, fail fast on the first rejection, and contrast this with mapLimit worker pools.
javascript-interview · Nov 8, 2026
Memoize Function
intermediateCache a function by arguments. Map keys vs JSON.stringify collisions, resolver functions, cache clear, and why this-bound methods need care.
javascript-interview · Nov 8, 2026
Method-Chaining Calculator
beginnerBuild a calculator object with add, subtract, multiply, divide, and a terminal value. Mutable this vs immutable copies, and divide-by-zero as an API choice.
javascript-interview · Nov 8, 2026
Get and Set Nested Object Paths
intermediateImplement get(obj, path, fallback) and set(obj, path, value) for dot paths. Missing segments, non-object middles, and mutating vs cloning.
javascript-interview · Nov 8, 2026
Implement the new Operator
intermediateWrite myNew(Ctor, ...args): create object, set prototype, call constructor, return object unless the constructor returned an object.
javascript-interview · Nov 8, 2026
Object.assign Polyfill
beginnerCopy enumerable own properties onto a target. Getters that run, symbols, null/undefined sources skipped, and the mutation-in-place return value.
javascript-interview · Nov 8, 2026
Object.create Polyfill
beginnerImplement Object.create(proto, props): null prototype dictionaries, property descriptors, and why Object.create(undefined) is a TypeError.
javascript-interview · Nov 8, 2026
Object.entries and fromEntries
intermediateRound-trip own enumerable string keys with Object.entries and Object.fromEntries. Not a Map, not symbols, and later duplicate keys win.
javascript-interview · Nov 8, 2026
Object.keys Polyfill
intermediatePolyfill Object.keys: own enumerable string keys in insertion order, no symbols, and integer-index keys listed before other strings.
javascript-interview · Nov 8, 2026
Implement Function Once
beginnerWrap a function so it runs at most once and then returns the first result. this, arguments, thrown errors, and async once that still shares the first promise.
javascript-interview · Nov 8, 2026
Promise.all Polyfill
intermediateImplement Promise.all the way interviews score it: order-preserving results, fail-fast reject, and thenable wrapping with Promise.resolve.
javascript-interview · Nov 8, 2026
Promise.allSettled Polyfill
intermediateWrite Promise.allSettled as a status bag, not a silent all. Fulfilled and rejected entries, order, and why it never rejects for input failures.
javascript-interview · Nov 8, 2026
Promise.any Polyfill
intermediateImplement Promise.any: first fulfillment wins, all-reject becomes AggregateError. Opposite of all, not a synonym for race.
javascript-interview · Nov 8, 2026
Promise.finally Polyfill
intermediatePolyfill Promise.prototype.finally: run cleanup on fulfill and reject, pass the original value through, and wait if the callback returns a thenable.
javascript-interview · Nov 8, 2026
Promise.race Polyfill
intermediateImplement Promise.race: first settlement wins, including a fast rejection. Timeouts, cancellation myths, and the empty-iterable hang.
javascript-interview · Nov 8, 2026
Timeout a Promise
intermediateRace work against a timer without leaking the timer or pretending the work cancelled. withTimeout, clearTimeout, and why race is not AbortController.
javascript-interview · Nov 8, 2026
Promisify a Node-Style Callback
intermediateTurn (err, value) callbacks into promises. Multiple success args, functions that already return thenables, and why you still need the original this.
javascript-interview · Nov 8, 2026
Retry a Promise N Times
intermediateRetry an async function with a bounded count, delay, and a shouldRetry predicate. Do not retry 4xx you caused, and never hide the last error.
javascript-interview · Nov 8, 2026
Analog Clock
beginnerCSS rotate hands from Date, tick every second, and keep 12-hour geometry honest. rAF vs setInterval, and reduced-motion for a clock that still tells time.
machine-coding · Nov 8, 2026
Command Palette
advancedFilter a command list in a dialog, arrow keys, Enter to run, Escape to close, and a focus trap so Tab never leaks to the page.
machine-coding · Nov 8, 2026
File Dropzone Upload
intermediatedragover must preventDefault or the drop never fires. Keep a hidden file input as the keyboard path, and reject by type and size before upload.
machine-coding · Nov 8, 2026
Image Comparison Slider
intermediateStack two images and drive a clip with a range input. Keyboard, reduced motion, and a divider that does not steal the picture.
machine-coding · Nov 8, 2026
Lightbox Image Gallery
intermediateThumbnail grid that opens a dialog with prev/next, Escape, focus trap, and preload. Do not invent a carousel from scratch if a dialog plus index is enough.
machine-coding · Nov 8, 2026
Memory Match Game
intermediateFlip two cards, match or unflip, lock the board while the timer runs, and shuffle a pair list without mutating the original deck.
machine-coding · Nov 8, 2026
Nested Checkboxes
advancedTree checkboxes with parent-child sync: check all descendants, indeterminate parents, and a data model that does not store UI-only flags twice.
machine-coding · Nov 8, 2026
Queueable Progress Bars
intermediateSpawn progress bars that fill over a duration and queue so only N run at once. Timers, cancellation, and the bar that must not jump when dequeued.
machine-coding · Nov 8, 2026
Resizable Split Panes
intermediateDrag a splitter to resize two panes, with min widths, keyboard nudges, and pointer capture so the drag does not stall on iframes.
machine-coding · Nov 8, 2026
Stopwatch Timer
beginnerMachine-code a stopwatch: elapsed from startedAt, pause stores the accumulated time, never increment a counter on an interval tick.
machine-coding · Nov 8, 2026
Tic-Tac-Toe Board
intermediateMachine-coding a tic-tac-toe grid of size N: turns, win lines, draw, reset, and keyboard. Interviewers care about the winner function more than CSS.
machine-coding · Nov 8, 2026
Transfer List
intermediateTwo lists with move selected, move all, and optional reorder. Selection model, disabled empty actions, and keyboard between panes.
machine-coding · Nov 8, 2026
Twelve-Column Grid Component
intermediateFlex or grid 12-column layout with span and a single breakpoint. Spacing from a multiplier, and why 4+8 must wrap as 12+12 on small screens.
machine-coding · Nov 8, 2026
useCopyToClipboard Hook
beginnerCopy text with navigator.clipboard, fallback execCommand, transient copied state, and permissions that fail in insecure contexts.
react · Nov 8, 2026
useDebouncedValue Hook
intermediateDebounce a changing value in React without firing effects on every keystroke. Cleanup, leading vs trailing, and the stale timer that updates unmounted state.
react · Nov 8, 2026
useEventListener Hook
intermediateAttach a window, document, or element listener with a stable handler ref so you do not rebind on every render. Capture option and target changes.
react · Nov 8, 2026
useFetch With AbortController
intermediateFetch in an effect with a signal, ignore aborted errors, and prevent the slow response from winning a race after the url changes.
react · Nov 8, 2026
useIdle Hook
intermediateDetect idle users: reset a timer on input events, fire idle after timeout, and decide whether mount starts the timer immediately.
react · Nov 8, 2026
useInfiniteScroll Hook
intermediateLoad the next page when a sentinel enters the viewport. IntersectionObserver, hasMore, in-flight guards, and the footer that never intersects.
react · Nov 8, 2026
useInterval Hook
intermediateA setInterval that sees the latest callback without restarting the timer when the callback identity changes. Dan Abramov’s ref pattern, named.
react · Nov 8, 2026
useLocalStorage Hook
intermediateSync state to localStorage with JSON, SSR fallback, cross-tab storage events, and parse errors that should not crash the tree.
react · Nov 8, 2026
useMediaQuery Hook
intermediateSubscribe to matchMedia, return a boolean, and avoid hydration mismatch by deferring the first client read or accepting a default.
react · Nov 8, 2026
useOnClickOutside Hook
intermediateClose a popover when the pointer lands outside its ref. Capture phase, touch, Escape as a sibling, and ignoring the first open click.
react · Nov 8, 2026
useOnlineStatus Hook
beginnernavigator.onLine plus online and offline events. SSR should not read the navigator, and the event pair is what keeps the flag honest.
react · Nov 8, 2026
usePrevious Hook
beginnerKeep last render’s value in a ref. Why an effect-after-paint is correct, and the first-render undefined that interviewers wait for you to name.
react · Nov 8, 2026
useThrottle Hook
intermediateThrottle a changing value in React: at most one update per interval, trailing flush, cleanup, and how this differs from useDebouncedValue.
react · Nov 8, 2026
useToggle Hook
beginnerA boolean and a stable toggle. useReducer or a lazy setter keeps the function identity, so children memoized on toggle do not re-render for free.
react · Nov 8, 2026
useWhyDidYouUpdate Hook
intermediateDiff previous props in a ref and log only the keys that actually changed. A debug hook, not a production profiler, and Object.is is the compare.
react · Nov 8, 2026
useWindowSize Hook
beginnerRead innerWidth and innerHeight in an effect, throttle with rAF, and return zeros on the server so hydration does not invent a desktop width.
react · Nov 8, 2026
Agent Failure Modes
intermediateAgents loop, lie about tool results, skip confirmation, and get stuck apologizing. Catalog the failures and the circuit breakers.
ai-engineering · Nov 7, 2026
Agent Handoffs
advancedA handoff passes the conversation to another agent with a slimmer prompt and different tools. What to copy, what to drop, and how to avoid ping-pong.
ai-engineering · Nov 7, 2026
Agent Memory
intermediateAgents forget when the context window ends. Working memory, session summaries, and long-term stores are three different systems. Do not mix them.
ai-engineering · Nov 7, 2026
Agent System Design Interview
advancedDesign a support or coding agent in a loop: tools, approvals, traces, evals, and cost. The frontend surfaces matter as much as the model.
ai-engineering · Nov 7, 2026
AI Engineering Interview Questions
intermediateQuestions interviewers actually use for AI engineering: RAG failure modes, tool auth, eval design, and cost. Short answers you can say out loud.
ai-engineering · Nov 7, 2026
AI Engineering Learning Path
beginnerAn AI engineering roadmap for frontend engineers: LLM APIs, RAG, agents, evals, then production. Checkpoints you can build, not course trophies.
ai-engineering · Nov 7, 2026
Structured Output with the AI SDK
intermediateAI SDK generateObject turns a Zod schema into a typed object. Map it to provider structured outputs, and fail the request when parse fails.
ai-engineering · Nov 7, 2026
Batch vs Realtime Inference
intermediateChat is realtime. Embeddings, evals, and night-time summaries can wait. Use batch inference when the user is not in the loop.
ai-engineering · Nov 7, 2026
Building a Docs RAG Chatbot
intermediateBuild a docs chatbot on MDX: ingest pages, embed, retrieve, then stream a cited answer. The shape you can ship on a content site.
ai-engineering · Nov 7, 2026
Chat Messages and System Prompts
beginnerSystem, user, assistant, and tool roles are the real API. How message lists grow, how to keep a system prompt short, and where policy belongs.
ai-engineering · Nov 7, 2026
Chunking Strategies for RAG
intermediateChunking decides what the retriever can return. Size, overlap, headings, and why splitting on a 500-character timer wrecks tables and code.
ai-engineering · Nov 7, 2026
Citations and Grounding
intermediateGrounding means the answer is entailed by retrieved text. Citations are the UI. How to require quotes, and how models still hallucinate a source.
ai-engineering · Nov 7, 2026
Client vs Server LLM Calls
beginnerAn LLM API key in the browser is public. Stream from your origin, quota per user, and treat client SDKs as an explicit product choice.
ai-engineering · Nov 7, 2026
Coding Agents
intermediateA coding agent reads, edits, and runs tests in a repo. Permissions, diffs, and why "it compiles" is not the acceptance test.
ai-engineering · Nov 7, 2026
Context Engineering
intermediateContext engineering is selecting, compressing, and ordering what the model sees. Prompts are one input. History, tools, and retrieval are the rest.
ai-engineering · Nov 7, 2026
Conversation State in Chat UIs
intermediateChat conversation state is messages, in-flight status, and a conversation id. Persist on the server, trim for the model, cache in the UI.
ai-engineering · Nov 7, 2026
Do You Need ML Before AI Engineering?
beginnerYou can ship retrieval and agents without deriving backprop. What ML literacy actually buys you, and which math can wait.
ai-engineering · Nov 7, 2026
Document Ingestion Pipelines
intermediateA document ingestion pipeline extracts, cleans, chunks, embeds, upserts, and deletes. Version it so a parser bug can be rebuilt.
ai-engineering · Nov 7, 2026
Embeddings and Similarity Search
intermediateNearest-neighbor search over embeddings is fast guesswork. Distance metrics, top-k, and why the nearest chunk can still be the wrong chunk.
ai-engineering · Nov 7, 2026
Embeddings Explained
beginnerAn embedding is a vector that places text near similar text. How cosine similarity works in practice, and why it is not understanding.
ai-engineering · Nov 7, 2026
Eval Gates in CI
advancedFail the build when a golden set regresses. Thresholds, flake budgets, and why an LLM judge in CI needs pinning and retries of its own.
ai-engineering · Nov 7, 2026
Fine-Tuning: When It Helps
advancedFine-tuning teaches format and style, not new facts you could retrieve. When the dataset is worth it, and when a better prompt plus tools wins.
ai-engineering · Nov 7, 2026
Function Calling and Tools
intermediateTool calling is the model emitting a structured call you execute. You run the function. The model never gets a shell unless you hand it one.
ai-engineering · Nov 7, 2026
Golden Datasets for LLM Apps
intermediateA golden set is labeled inputs and acceptable outputs you own. How to collect it from production, keep it from rotting, and stop cheating on it.
ai-engineering · Nov 7, 2026
Graph Workflows for Agents
advancedAn agent graph workflow makes loops, branches, and human pauses explicit. Use it when a hidden while-loop is how you lose the plot.
ai-engineering · Nov 7, 2026
Guardrails for LLM Apps
intermediateGuardrails are checks around the model: input filters, output filters, tool allowlists, and policy engines. Put safety in code, not only in the system prompt.
ai-engineering · Nov 7, 2026
Debugging LLM Hallucinations
intermediateA hallucination is a fluent claim without support. Debug it as retrieval miss, prompt pressure, sampler noise, or missing refusal path.
ai-engineering · Nov 7, 2026
Harness Engineering for Coding Agents
advancedA harness is the loop, tools, tests, and permissions around a coding model. The model is the easy part. The harness is why some repos get useful diffs.
ai-engineering · Nov 7, 2026
Human in the Loop for Agents
intermediateSide-effect tools pause for a human. How to design approval, show diffs, expire tokens, and resume the loop without replaying the refund.
ai-engineering · Nov 7, 2026
Hybrid Search: BM25 and Vectors
intermediateKeyword search still wins on SKUs, error codes, and rare names. Hybrid retrieval blends BM25 with vectors so neither failure mode owns you.
ai-engineering · Nov 7, 2026
KV Cache and Inference Basics
advancedAutoregressive decoding reuses key/value tensors from earlier tokens. That is why a long prompt has a prefill cost and why cache hits feel instant.
ai-engineering · Nov 7, 2026
LLM as Judge
intermediateA judge model scores outputs against a rubric. It is biased, cheap, and useful if you calibrate it against humans and keep the rubric tight.
ai-engineering · Nov 7, 2026
LLM Cost Optimization
intermediateCost is tokens × price × retries, plus the tools you invoked. Cache, route, shrink context, and stop looping before you negotiate a contract.
ai-engineering · Nov 7, 2026
LLM Evals
intermediateAn eval is a scored dataset you run on every prompt change. Offline, sampled online, and why "we tried it and it looked good" is not a release bar.
ai-engineering · Nov 7, 2026
LLMOps Lifecycle
intermediateLLMOps is how an LLM feature is versioned, evaluated, deployed, and watched. Prompts are artifacts. Traces are tests waiting to happen.
ai-engineering · Nov 7, 2026
LLMs for Frontend Engineers
beginnerTreat a large language model like a weird HTTP API: tokens in, tokens out, no memory, no guarantees. What that means for UI, retries, and types.
ai-engineering · Nov 7, 2026
Long Context Windows
intermediateMillion-token windows still miss the middle and still cost money. When to stuff the repo in, and when to retrieve instead of dumping.
ai-engineering · Nov 7, 2026
Metadata Filters in Retrieval
intermediateFilter by tenant, product, language, and date before you rank. Vector search without metadata is how one customer sees another customer's contract.
ai-engineering · Nov 7, 2026
Model Context Protocol (MCP)
intermediateMCP is a standard for exposing tools and resources to any compatible client. Why a protocol beats one-off function lists glued to one vendor SDK.
ai-engineering · Nov 7, 2026
Model Routing and Gateways
intermediateA gateway sits in front of many providers: auth, routing, fallbacks, and logging. Route simple tasks to small models and keep one SDK in the app.
ai-engineering · Nov 7, 2026
Multi-Agent Systems
advancedMultiple agents means multiple prompts, tools, and traces. Use them when roles truly diverge. A second agent is not a substitute for a better tool.
ai-engineering · Nov 7, 2026
Multimodal LLM Apps
intermediateImages, audio, and PDFs are tokens too. How to send them, what the model actually sees, and the UI problems of slow vision calls.
ai-engineering · Nov 7, 2026
Output Parsing and Repair
intermediateLLM output parsing when structured outputs are unavailable: strip fences, repair JSON, re-ask with validator errors, then give up.
ai-engineering · Nov 7, 2026
Permission-Aware Retrieval
advancedRetrieval must respect ACLs. Filter by what the user can read before ranking, and never let the model "see" a forbidden chunk to decide.
ai-engineering · Nov 7, 2026
PII and Data Handling in LLM Apps
intermediateLogs, traces, and prompts store whatever users type. How to redact LLM PII, set retention, and know when a provider trains on traffic.
ai-engineering · Nov 7, 2026
Prompt Caching
intermediatePrompt caching reuses a stable prefix so you stop paying full price for the same system prompt and docs on every turn you send.
ai-engineering · Nov 7, 2026
Prompt Engineering Fundamentals
beginnerA prompt is a spec: role, task, constraints, examples, output shape. How to write one you can version, test, and stop rewriting by feel.
ai-engineering · Nov 7, 2026
Prompt Injection
intermediatePrompt injection is untrusted text that tries to become instructions. Treat retrieved pages and user files like you treat innerHTML.
ai-engineering · Nov 7, 2026
Query Rewriting for Retrieval
intermediateUsers type pronouns and slang. Query rewriting expands, decomposes, or HyDE-drafts a better search string before you hit the index.
ai-engineering · Nov 7, 2026
RAG Evaluation Metrics
intermediateSplit retrieval metrics from answer metrics. Hit rate, MRR, faithfulness, and why a single 1–5 "quality" score hides the broken half.
ai-engineering · Nov 7, 2026
RAG Interview Questions
intermediateRAG interview questions on chunking, hybrid search, ACLs, and evals. Practice answers that name the layer that broke, not a vendor.
ai-engineering · Nov 7, 2026
RAG Mental Model
beginnerRetrieval-augmented generation is search, then generation, with a budget. The model only sees what you stuffed into the prompt.
ai-engineering · Nov 7, 2026
RAG on PDFs and HTML
intermediatePDFs are layout, not text. HTML is a tree. If your parser dumps reading-order garbage, retrieval will confidently fetch the footer.
ai-engineering · Nov 7, 2026
RAG vs Fine-Tuning
intermediateRAG supplies facts at request time. Fine-tuning changes weights. Most product problems are RAG or tools. Fine-tune for stubborn format and tone.
ai-engineering · Nov 7, 2026
Rate Limits from the Browser
intermediateAn LLM rate limit is a UX problem: gate routes per session, disable Send while streaming, and surface 429s instead of silent retries.
ai-engineering · Nov 7, 2026
ReAct vs Plan-and-Execute
intermediateReAct interleaves thought and tools. Plan-and-execute writes the plan first. Pick based on tool cost, reversibility, and how often the world changes mid-run.
ai-engineering · Nov 7, 2026
Reranking for RAG
intermediateRetrieve broadly, then rerank with a cross-encoder or a small model so the prompt gets the 5 chunks that actually answer the question.
ai-engineering · Nov 7, 2026
Retries, Timeouts, and Fallbacks
intermediateLLM APIs flake. Retry with jitter on 429/5xx, bound the wait, fall back to a smaller model, and never retry a successful side-effecting tool.
ai-engineering · Nov 7, 2026
Semantic Cache for LLM Apps
intermediateA semantic cache returns a previous answer when a new query is close enough. Great for FAQs. Dangerous for personalized or time-sensitive asks.
ai-engineering · Nov 7, 2026
Speculative Decoding
advancedSpeculative decoding drafts tokens with a cheap model and verifies them with the big one. Why checking a draft can beat writing every token the hard way.
ai-engineering · Nov 7, 2026
Streaming Chat UI in React
intermediateA React chat UI is a list, a composer, in-flight state, and abort. Render tokens without jank, and keep the input usable.
ai-engineering · Nov 7, 2026
Streaming LLM Responses
intermediateStreaming is tokens over the wire so the UI can paint before the full answer exists. Backpressure, abort, and what to do with a partial JSON object.
ai-engineering · Nov 7, 2026
Structured Outputs and JSON Schema
intermediateForce the model into a schema instead of parsing its vibes. When constrained decoding helps, and when the model still fills fields with junk.
ai-engineering · Nov 7, 2026
Subagents and Delegation
advancedA subagent gets a fresh context, a narrow job, and a report back. Use it to keep the parent window small. Isolate blast radius.
ai-engineering · Nov 7, 2026
Temperature, Top-p, and Sampling
beginnerTemperature and top-p change how a model samples the next token. When to pin them down for tools and JSON, and when variation is the feature.
ai-engineering · Nov 7, 2026
The Think, Act, Observe Loop
beginnerThe agent loop is: reason, pick a tool, run it, feed the result back, repeat until stop. Timeouts, max steps, and what "done" means.
ai-engineering · Nov 7, 2026
Time to First Token and Latency
intermediateUsers feel TTFT. Total time is TTFT plus generation. Streaming, smaller models, and prompt cache hit rate are the knobs that actually move the UI.
ai-engineering · Nov 7, 2026
Tokenizer Gotchas for App Builders
intermediateTokenizers split numbers, spaces, and code in ways that break length checks and cheap string hacks. Count with a tokenizer, not with words.
ai-engineering · Nov 7, 2026
Tokens and Context Windows
beginnerTokens are the billing unit and the memory limit. How context windows fill up, why counts surprise you, and how to budget a request.
ai-engineering · Nov 7, 2026
Tool Calling in Next.js
intermediateRun Next.js tool calling in a Route Handler: stream the UI, execute tools on the server, and keep secrets off the client.
ai-engineering · Nov 7, 2026
Tool Schema Design
intermediateA tool schema is an API the model will misuse. Names, enums, tight types, and descriptions that prevent "search" from becoming "drop table".
ai-engineering · Nov 7, 2026
Tracing and Observability for LLM Apps
intermediateA trace is every prompt, tool call, token count, and latency span for one user request. Without it you cannot debug, eval, or explain a bill.
ai-engineering · Nov 7, 2026
Vector Databases Explained
intermediateA vector database stores embeddings plus metadata and runs ANN search. What you actually buy vs pgvector in Postgres, and the ops you will own.
ai-engineering · Nov 7, 2026
Keeping a Vector Index Fresh
advancedVector index updates keep retrieval honest: upserts, tombstones, and rebuilds so yesterday's policy does not outrank today's.
ai-engineering · Nov 7, 2026
Vercel AI SDK Fundamentals
beginnerThe AI SDK gives TypeScript apps streaming, tools, and UI hooks without hand-rolling SSE. Where it helps, and where you still own the server.
ai-engineering · Nov 7, 2026
What Are AI Agents?
beginnerAn agent is a model in a loop with tools and a stopping condition. Agency is a spectrum, not a personality. Most products need less of it than the demo.
ai-engineering · Nov 7, 2026
What Is AI Engineering?
beginnerAI engineering is shipping LLM products: prompts, retrieval, tools, evals, and cost control. How it differs from ML research and from wrapping a chat API.
ai-engineering · Nov 7, 2026
When RAG Is the Wrong Tool
intermediateRAG cannot fix stale facts you should query, math you should compute, or permissions you should enforce in code. Know when to skip the index.
ai-engineering · Nov 7, 2026
AI Engineering Roadmap
beginnerA sequence for frontend engineers learning AI engineering: LLM APIs, RAG, agents, evals, then production. Checkpoints you can build.
roadmaps · Nov 7, 2026
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