ESC

Type to search the knowledge base.

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

advanced

Ed-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

advanced

Composite 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

advanced

Composite 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

advanced

Payments-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

advanced

What 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

advanced

How 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

advanced

Composite 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

advanced

Quick-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

advanced

How 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

advanced

Box 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

beginner

What 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

intermediate

How 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

beginner

A 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

intermediate

The 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

advanced

Queue 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

advanced

Wrap 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

beginner

Write 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

beginner

Write 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

intermediate

Implement 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

beginner

Implement 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

beginner

Implement 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

beginner

Implement 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

intermediate

Implement 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

intermediate

Filter 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

intermediate

Start 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

intermediate

Execute 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

intermediate

Wrap 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

beginner

Split 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

advanced

Closed, 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

intermediate

Track 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

intermediate

Build 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

advanced

Build 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

intermediate

Interview 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

advanced

Compare 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

intermediate

Build 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

advanced

A 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

intermediate

Wrap 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

beginner

Interview 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

intermediate

Turn 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

intermediate

Read 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

intermediate

Implement 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

intermediate

Polyfill 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

intermediate

DFS 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

beginner

Group 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

beginner

Replace 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

advanced

mkdir, 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

intermediate

Return 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

intermediate

Walk [[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

beginner

A 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

advanced

Parse 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

advanced

A 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

beginner

Wrap 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

advanced

Map 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

intermediate

Map 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

intermediate

Cache 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

beginner

Build 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

intermediate

Implement 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

intermediate

Write 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

beginner

Copy 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

beginner

Implement 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

intermediate

Round-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

intermediate

Polyfill 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

beginner

Wrap 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

intermediate

Implement 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

intermediate

Write 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

intermediate

Implement 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

intermediate

Polyfill 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

intermediate

Implement 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

intermediate

Race 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

intermediate

Turn (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

intermediate

Retry 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

beginner

CSS 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

advanced

Filter 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

intermediate

dragover 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

intermediate

Stack 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

intermediate

Thumbnail 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

intermediate

Flip 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

advanced

Tree 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

intermediate

Spawn 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

intermediate

Drag 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

beginner

Machine-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

intermediate

Machine-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

intermediate

Two 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

intermediate

Flex 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

beginner

Copy text with navigator.clipboard, fallback execCommand, transient copied state, and permissions that fail in insecure contexts.

react · Nov 8, 2026

useDebouncedValue Hook

intermediate

Debounce 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

intermediate

Attach 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

intermediate

Fetch 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

intermediate

Detect 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

intermediate

Load 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

intermediate

A 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

intermediate

Sync 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

intermediate

Subscribe 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

intermediate

Close 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

beginner

navigator.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

beginner

Keep 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

intermediate

Throttle 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

beginner

A 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

intermediate

Diff 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

beginner

Read 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

intermediate

Agents 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

advanced

A 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

intermediate

Agents 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

advanced

Design 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

intermediate

Questions 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

beginner

An 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

intermediate

AI 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

intermediate

Chat 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

intermediate

Build 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

beginner

System, 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

intermediate

Chunking 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

intermediate

Grounding 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

beginner

An 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

intermediate

A 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

intermediate

Context 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

intermediate

Chat 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?

beginner

You 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

intermediate

A 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

intermediate

Nearest-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

beginner

An 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

advanced

Fail 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

advanced

Fine-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

intermediate

Tool 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

intermediate

A 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

advanced

An 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

intermediate

Guardrails 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

intermediate

A 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

advanced

A 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

intermediate

Side-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

intermediate

Keyword 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

advanced

Autoregressive 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

intermediate

A 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

intermediate

Cost 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

intermediate

An 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

intermediate

LLMOps 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

beginner

Treat 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

intermediate

Million-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

intermediate

Filter 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)

intermediate

MCP 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

intermediate

A 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

advanced

Multiple 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

intermediate

Images, 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

intermediate

LLM 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

advanced

Retrieval 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

intermediate

Logs, 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

intermediate

Prompt 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

beginner

A 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

intermediate

Prompt 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

intermediate

Users 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

intermediate

Split 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

intermediate

RAG 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

beginner

Retrieval-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

intermediate

PDFs 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

intermediate

RAG 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

intermediate

An 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

intermediate

ReAct 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

intermediate

Retrieve 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

intermediate

LLM 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

intermediate

A 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

advanced

Speculative 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

intermediate

A 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

intermediate

Streaming 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

intermediate

Force 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

advanced

A 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

beginner

Temperature 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

beginner

The 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

intermediate

Users 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

intermediate

Tokenizers 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

beginner

Tokens 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

intermediate

Run 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

intermediate

A 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

intermediate

A 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

intermediate

A 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

advanced

Vector 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

beginner

The 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?

beginner

An 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?

beginner

AI 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

intermediate

RAG 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

beginner

A 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

advanced

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

accessibility · Aug 4, 2026

Accessible Forms Errors

beginner

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

accessibility · Aug 4, 2026

Accessible Menus Pattern

advanced

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

accessibility · Aug 4, 2026

Accessible Modals Patterns

intermediate

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

accessibility · Aug 4, 2026

Accessible Names Computation

advanced

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

accessibility · Aug 4, 2026

Accessible SVGs

intermediate

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

accessibility · Aug 4, 2026

Accessible Tables

intermediate

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

accessibility · Aug 4, 2026

Accessible Tabs Pattern

intermediate

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

accessibility · Aug 4, 2026

ARIA Labels and Descriptions

intermediate

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

accessibility · Aug 4, 2026

aria-live Regions

intermediate

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

accessibility · Aug 4, 2026

ARIA Roles Overview

intermediate

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

accessibility · Aug 4, 2026

Automated Axe Testing Limits

intermediate

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

accessibility · Aug 4, 2026

Color Contrast Requirements

beginner

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

accessibility · Aug 4, 2026

Do Not Rely on Color Alone

beginner

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

accessibility · Aug 4, 2026

Focus Visible Styles

beginner

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

accessibility · Aug 4, 2026

Heading Hierarchy for A11y

beginner

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

accessibility · Aug 4, 2026

Inclusive Error Messages

beginner

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

accessibility · Aug 4, 2026

Keyboard Accessibility Checklist

beginner

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

accessibility · Aug 4, 2026

Language and Page Titles

beginner

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

accessibility · Aug 4, 2026

Reduced Motion Preferences

beginner

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

accessibility · Aug 4, 2026

Screen Reader Testing Basics

intermediate

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

accessibility · Aug 4, 2026

Skip Links

beginner

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

accessibility · Aug 4, 2026

Touch Target Sizes

beginner

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

accessibility · Aug 4, 2026

WCAG Principles: POUR

beginner

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

accessibility · Aug 4, 2026

What is the Accessibility Tree

beginner

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

accessibility · Aug 4, 2026

BFCache Back Forward Cache

advanced

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

browser · Aug 4, 2026

Browser DevTools Network Panel

beginner

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

browser · Aug 4, 2026

Browser DevTools Performance Panel

intermediate

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

browser · Aug 4, 2026

Browser Extension Messaging Basics

advanced

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

browser · Aug 4, 2026

Browser Networking 101

intermediate

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

browser · Aug 4, 2026

Browser Storage Comparison

beginner

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

browser · Aug 4, 2026

Cache Storage API

advanced

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

browser · Aug 4, 2026

Compositor Layers

advanced

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

browser · Aug 4, 2026

Content-Type and MIME Sniffing

intermediate

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

browser · Aug 4, 2026

CORS Explained for Frontend

intermediate

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

browser · Aug 4, 2026

Critical Rendering Path

intermediate

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

browser · Aug 4, 2026

Cross-Origin Embedder Policy

advanced

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

browser · Aug 4, 2026

Cross-Origin Opener Policy

advanced

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

browser · Aug 4, 2026

DOM CSSOM Render Tree

intermediate

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

browser · Aug 4, 2026

Event Timing for INP

advanced

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

browser · Aug 4, 2026

Feature Policy Legacy Notes

advanced

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

browser · Aug 4, 2026

How Browsers Load a Page

beginner

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

browser · Aug 4, 2026

HTTP Caching Headers

intermediate

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

browser · Aug 4, 2026

Layout Instability API CLS

advanced

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

browser · Aug 4, 2026

Long Tasks API

advanced

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

browser · Aug 4, 2026

Main Thread vs Compositor Thread

advanced

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

browser · Aug 4, 2026

Memory Profiling Basics

advanced

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

browser · Aug 4, 2026

Navigation Timing API

advanced

PerformanceNavigationTiming phases from startTime to loadEventEnd for document load diagnostics.

browser · Aug 4, 2026

Page Lifecycle Events

intermediate

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

browser · Aug 4, 2026

PerformanceObserver

advanced

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

browser · Aug 4, 2026

Permissions Policy

advanced

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

browser · Aug 4, 2026

Preflight OPTIONS Requests

intermediate

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

browser · Aug 4, 2026

Reflow vs Repaint

intermediate

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

browser · Aug 4, 2026

Resource Timing API

advanced

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

browser · Aug 4, 2026

Same-Origin Policy

intermediate

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

browser · Aug 4, 2026

Service Workers Overview

advanced

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

browser · Aug 4, 2026

Throttling CPU and Network

beginner

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

browser · Aug 4, 2026

Trusted Types Intro

advanced

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

browser · Aug 4, 2026

User Agent Client Hints

advanced

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

browser · Aug 4, 2026

visibilitychange and Page Hide

intermediate

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

browser · Aug 4, 2026

Accent Color and Form Controls

beginner

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

css · Aug 4, 2026

Auto-fit vs Auto-fill

intermediate

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

css · Aug 4, 2026

BEM Naming Methodology

beginner

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

css · Aug 4, 2026

blend-mode Basics

advanced

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

css · Aug 4, 2026

box-sizing border-box

beginner

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

css · Aug 4, 2026

Cascade Layers @layer

intermediate

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

css · Aug 4, 2026

Centering Everything in CSS

beginner

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

css · Aug 4, 2026

color-mix and Relative Color

advanced

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

css · Aug 4, 2026

Container Queries

intermediate

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

css · Aug 4, 2026

CSS Animations @keyframes

intermediate

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

css · Aug 4, 2026

CSS Architecture ITCSS Overview

advanced

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

css · Aug 4, 2026

CSS Box Model

beginner

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

css · Aug 4, 2026

CSS Custom Properties

beginner

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

css · Aug 4, 2026

CSS Filters and Backdrop Filter

intermediate

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

css · Aug 4, 2026

CSS Grid Fundamentals

beginner

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

css · Aug 4, 2026

CSS Grid vs Flexbox When to Use

beginner

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

css · Aug 4, 2026

CSS Logical Properties

intermediate

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

css · Aug 4, 2026

CSS Masks and Clip Path

advanced

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

css · Aug 4, 2026

CSS Nesting

intermediate

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

css · Aug 4, 2026

CSS Reset vs Normalize vs Layer

intermediate

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

css · Aug 4, 2026

CSS Selectors Attribute and Sibling

beginner

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

css · Aug 4, 2026

CSS Specificity Deep Dive

beginner

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

css · Aug 4, 2026

CSS Transitions

beginner

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

css · Aug 4, 2026

Display Block Inline Flex Grid

beginner

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

css · Aug 4, 2026

Flex Grow Shrink Basis

intermediate

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

css · Aug 4, 2026

Flexbox Alignment Deep Dive

intermediate

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

css · Aug 4, 2026

Flexbox Fundamentals

beginner

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

css · Aug 4, 2026

Fluid Typography with clamp

intermediate

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

css · Aug 4, 2026

Gap vs Margin in Layouts

beginner

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

css · Aug 4, 2026

Grid Template Areas

intermediate

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

css · Aug 4, 2026

:is :where :has

intermediate

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

css · Aug 4, 2026

Media Queries Modern Approach

beginner

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

css · Aug 4, 2026

minmax and fr Units

intermediate

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

css · Aug 4, 2026

Multi-column Layout

intermediate

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

css · Aug 4, 2026

object-fit and aspect-ratio

beginner

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

css · Aug 4, 2026

outline vs border for Focus

beginner

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

css · Aug 4, 2026

Overflow Scroll and Scroll Snap

intermediate

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

css · Aug 4, 2026

Position: static, relative, absolute, fixed, sticky

beginner

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

css · Aug 4, 2026

prefers-color-scheme

beginner

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

css · Aug 4, 2026

prefers-reduced-motion

beginner

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

css · Aug 4, 2026

Print Stylesheets

intermediate

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

css · Aug 4, 2026

Pseudo-classes Hover Focus Focus-visible

beginner

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

css · Aug 4, 2026

Pseudo-elements Before After

beginner

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

css · Aug 4, 2026

Responsive Images CSS

intermediate

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

css · Aug 4, 2026

scroll-driven Animations Intro

advanced

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

css · Aug 4, 2026

Stacking Contexts and z-index

intermediate

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

css · Aug 4, 2026

Sticky Headers and Sidebars

intermediate

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

css · Aug 4, 2026

Subgrid

advanced

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

css · Aug 4, 2026

@supports Feature Queries

intermediate

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

css · Aug 4, 2026

Theming with Custom Properties

intermediate

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

css · Aug 4, 2026

transform and opacity Performance

intermediate

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

css · Aug 4, 2026

Utility-First CSS Tradeoffs

intermediate

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

css · Aug 4, 2026

View Transitions API CSS Angle

advanced

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

css · Aug 4, 2026

will-change Pitfalls

advanced

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

css · Aug 4, 2026

Writing Modes and Direction

advanced

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

css · Aug 4, 2026

3Sum

intermediate

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

dsa · Aug 4, 2026

Add Two Numbers Linked List

intermediate

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

dsa · Aug 4, 2026

Best Time to Buy and Sell Stock

beginner

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

dsa · Aug 4, 2026

Binary Search

beginner

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

dsa · Aug 4, 2026

Binary Tree Level Order

intermediate

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

dsa · Aug 4, 2026

Binary Tree Max Path Sum

advanced

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

dsa · Aug 4, 2026

Car Fleet

intermediate

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

dsa · Aug 4, 2026

Climbing Stairs

beginner

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

dsa · Aug 4, 2026

Clone Graph

intermediate

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

dsa · Aug 4, 2026

Coin Change

intermediate

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

dsa · Aug 4, 2026

Combination Sum

intermediate

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

dsa · Aug 4, 2026

Construct Tree from Preorder Inorder

advanced

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

dsa · Aug 4, 2026

Container With Most Water

intermediate

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

dsa · Aug 4, 2026

Contains Duplicate

beginner

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

dsa · Aug 4, 2026

Copy List with Random Pointer

intermediate

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

dsa · Aug 4, 2026

Counting Bits

intermediate

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

dsa · Aug 4, 2026

Course Schedule

intermediate

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

dsa · Aug 4, 2026

Course Schedule II

intermediate

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

dsa · Aug 4, 2026

Daily Temperatures

intermediate

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

dsa · Aug 4, 2026

Design Add and Search Words

intermediate

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

dsa · Aug 4, 2026

Design Twitter Lite

advanced

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

dsa · Aug 4, 2026

Encode and Decode Strings

intermediate

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

dsa · Aug 4, 2026

Evaluate Reverse Polish Notation

intermediate

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

dsa · Aug 4, 2026

Find Duplicate Number

intermediate

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

dsa · Aug 4, 2026

Find Median from Data Stream

advanced

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

dsa · Aug 4, 2026

Find Minimum in Rotated Sorted Array

intermediate

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

dsa · Aug 4, 2026

Gas Station

intermediate

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

dsa · Aug 4, 2026

Group Anagrams

intermediate

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

dsa · Aug 4, 2026

Hand of Straights

intermediate

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

dsa · Aug 4, 2026

House Robber

intermediate

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

dsa · Aug 4, 2026

House Robber II

intermediate

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

dsa · Aug 4, 2026

Implement Queue with Stacks

beginner

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

dsa · Aug 4, 2026

Implement Stack with Queues

beginner

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

dsa · Aug 4, 2026

Implement Trie

intermediate

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

dsa · Aug 4, 2026

Insert Interval

intermediate

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

dsa · Aug 4, 2026

Invert Binary Tree

beginner

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

dsa · Aug 4, 2026

Jump Game

intermediate

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

dsa · Aug 4, 2026

Jump Game II

intermediate

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

dsa · Aug 4, 2026

K Closest Points to Origin

intermediate

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

dsa · Aug 4, 2026

Kth Smallest in BST

intermediate

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

dsa · Aug 4, 2026

Letter Combinations Phone Number

intermediate

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

dsa · Aug 4, 2026

Linked List Cycle

beginner

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

dsa · Aug 4, 2026

Longest Consecutive Sequence

intermediate

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

dsa · Aug 4, 2026

Longest Increasing Subsequence

intermediate

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

dsa · Aug 4, 2026

Longest Palindromic Substring

intermediate

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

dsa · Aug 4, 2026

Longest Repeating Character Replacement

intermediate

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

dsa · Aug 4, 2026

Longest Substring Without Repeating

intermediate

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

dsa · Aug 4, 2026

Lowest Common Ancestor BST

intermediate

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

dsa · Aug 4, 2026

LRU Cache

advanced

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

dsa · Aug 4, 2026

Max Area of Island

intermediate

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

dsa · Aug 4, 2026

Maximum Depth of Binary Tree

beginner

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

dsa · Aug 4, 2026

Meeting Rooms

beginner

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

dsa · Aug 4, 2026

Meeting Rooms II

intermediate

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

dsa · Aug 4, 2026

Merge Intervals

intermediate

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

dsa · Aug 4, 2026

Merge Two Sorted Lists

beginner

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

dsa · Aug 4, 2026

Min Stack

intermediate

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

dsa · Aug 4, 2026

Minimum Window Substring

advanced

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

dsa · Aug 4, 2026

Missing Number

beginner

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

dsa · Aug 4, 2026

N-Queens

advanced

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

dsa · Aug 4, 2026

Non-overlapping Intervals

intermediate

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

dsa · Aug 4, 2026

Number of 1 Bits

beginner

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

dsa · Aug 4, 2026

Number of Islands

intermediate

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

dsa · Aug 4, 2026

Pacific Atlantic Water Flow

advanced

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

dsa · Aug 4, 2026

Palindrome Partitioning

intermediate

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

dsa · Aug 4, 2026

Permutations

intermediate

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

dsa · Aug 4, 2026

Product of Array Except Self

intermediate

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

dsa · Aug 4, 2026

Redundant Connection

intermediate

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

dsa · Aug 4, 2026

Remove Nth Node From End

intermediate

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

dsa · Aug 4, 2026

Reorder List

intermediate

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

dsa · Aug 4, 2026

Reverse Bits

beginner

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

dsa · Aug 4, 2026

Reverse Linked List

beginner

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

dsa · Aug 4, 2026

Rotate Image

intermediate

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

dsa · Aug 4, 2026

Same Tree

beginner

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

dsa · Aug 4, 2026

Search in Rotated Sorted Array

intermediate

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

dsa · Aug 4, 2026

Serialize Deserialize Binary Tree

advanced

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

dsa · Aug 4, 2026

Set Matrix Zeroes

intermediate

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

dsa · Aug 4, 2026

Sliding Window Maximum

advanced

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

dsa · Aug 4, 2026

Spiral Matrix

intermediate

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

dsa · Aug 4, 2026

Subsets

intermediate

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

dsa · Aug 4, 2026

Subtree of Another Tree

beginner

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

dsa · Aug 4, 2026

Sum of Two Integers

intermediate

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

dsa · Aug 4, 2026

Task Scheduler

intermediate

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

dsa · Aug 4, 2026

Time Based Key Value Store

intermediate

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

dsa · Aug 4, 2026

Top K Frequent Elements

intermediate

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

dsa · Aug 4, 2026

Unique Paths

intermediate

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

dsa · Aug 4, 2026

Valid Anagram

beginner

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

dsa · Aug 4, 2026

Valid Palindrome

beginner

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

dsa · Aug 4, 2026

Valid Parentheses

beginner

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

dsa · Aug 4, 2026

Valid Sudoku

intermediate

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

dsa · Aug 4, 2026

Validate Binary Search Tree

intermediate

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

dsa · Aug 4, 2026

Word Break

intermediate

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

dsa · Aug 4, 2026

Word Ladder

advanced

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

dsa · Aug 4, 2026

Word Search

intermediate

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

dsa · Aug 4, 2026

Word Search II

advanced

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

dsa · Aug 4, 2026

Adobe Frontend Interview

advanced

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

experiences · Aug 4, 2026

Airbnb Frontend Interview

advanced

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

experiences · Aug 4, 2026

Amazon Frontend Interview

advanced

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

experiences · Aug 4, 2026

Apple Frontend Interview

advanced

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

experiences · Aug 4, 2026

Atlassian Frontend Interview

advanced

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

experiences · Aug 4, 2026

Dropbox Frontend Interview

advanced

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

experiences · Aug 4, 2026

Flipkart Frontend Interview

advanced

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

experiences · Aug 4, 2026

LinkedIn Frontend Interview

advanced

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

experiences · Aug 4, 2026

Meta Frontend Interview

advanced

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

experiences · Aug 4, 2026

Microsoft Frontend Interview

advanced

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

experiences · Aug 4, 2026

Netflix Frontend Interview

advanced

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

experiences · Aug 4, 2026

Oracle Frontend Interview

advanced

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

experiences · Aug 4, 2026

Salesforce Frontend Interview

advanced

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

experiences · Aug 4, 2026

Shopify Frontend Interview

advanced

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

experiences · Aug 4, 2026

Slack Frontend Interview

advanced

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

experiences · Aug 4, 2026

Block (Square) Frontend Interview

advanced

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

experiences · Aug 4, 2026

Stripe Frontend Interview

advanced

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

experiences · Aug 4, 2026

Swiggy Frontend Interview

advanced

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

experiences · Aug 4, 2026

X (Twitter) Frontend Interview

advanced

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

experiences · Aug 4, 2026

Uber Frontend Interview

advanced

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

experiences · Aug 4, 2026

Accessibility Tree Overview

intermediate

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

html · Aug 4, 2026

Audio and Video Elements

intermediate

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

html · Aug 4, 2026

Autocomplete and Name Attributes

intermediate

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

html · Aug 4, 2026

Base Element and Relative URLs

intermediate

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

html · Aug 4, 2026

contenteditable Basics

advanced

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

html · Aug 4, 2026

data Attributes

beginner

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

html · Aug 4, 2026

details and summary

beginner

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

html · Aug 4, 2026

The dialog Element

intermediate

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

html · Aug 4, 2026

Favicon and App Icons

beginner

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

html · Aug 4, 2026

fieldset and legend

beginner

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

html · Aug 4, 2026

Form Validation Attributes

beginner

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

html · Aug 4, 2026

Forms, Labels, and Inputs

beginner

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

html · Aug 4, 2026

Headings and Document Outline

beginner

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

html · Aug 4, 2026

HTML Document Structure

beginner

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

html · Aug 4, 2026

HTML Entities and Encoding

beginner

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

html · Aug 4, 2026

iframe Sandbox and Security

advanced

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

html · Aug 4, 2026

Images alt and Decorative

beginner

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

html · Aug 4, 2026

Input Types for Mobile Keyboards

beginner

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

html · Aug 4, 2026

Landmark Elements

beginner

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

html · Aug 4, 2026

lang Attribute and i18n HTML

beginner

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

html · Aug 4, 2026

Links vs Buttons

beginner

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

html · Aug 4, 2026

meta Tags for SEO Basics

beginner

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

html · Aug 4, 2026

noscript Fallbacks

beginner

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

html · Aug 4, 2026

Open Graph Tags

intermediate

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

html · Aug 4, 2026

picture and srcset

intermediate

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

html · Aug 4, 2026

Preload Prefetch in HTML

intermediate

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

html · Aug 4, 2026

Semantic article section aside

beginner

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

html · Aug 4, 2026

Tables for Tabular Data

beginner

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

html · Aug 4, 2026

template Element

intermediate

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

html · Aug 4, 2026

time Element and Datetime

beginner

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

html · Aug 4, 2026

Accessibility Interview Talking Points

intermediate

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

interview · Aug 4, 2026

Behavioral Stories for Engineers

beginner

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

interview · Aug 4, 2026

Browser Interview Common Questions

intermediate

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

interview · Aug 4, 2026

Common Frontend Interview Mistakes

beginner

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

interview · Aug 4, 2026

Complexity Analysis for JS Engineers

beginner

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

interview · Aug 4, 2026

CSS Interview Common Questions

beginner

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

interview · Aug 4, 2026

Debugging Live in Interviews

intermediate

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

interview · Aug 4, 2026

Explaining Projects in Interviews

beginner

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

interview · Aug 4, 2026

How to Structure Frontend Interview Answers

beginner

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

interview · Aug 4, 2026

JavaScript Coding Interview Patterns

intermediate

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

interview · Aug 4, 2026

Machine Coding Interview Framework

intermediate

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

interview · Aug 4, 2026

Mock Interview Self Review

beginner

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

interview · Aug 4, 2026

Network Tab Debugging Interview

intermediate

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

interview · Aug 4, 2026

Offer Negotiation Basics Engineers

beginner

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

interview · Aug 4, 2026

Performance Interview Talking Points

intermediate

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

interview · Aug 4, 2026

React Interview Common Questions

intermediate

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

interview · Aug 4, 2026

Security Interview Talking Points

intermediate

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

interview · Aug 4, 2026

Senior Frontend Interview Signals

advanced

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

interview · Aug 4, 2026

Staff Frontend Interview Signals

advanced

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

interview · Aug 4, 2026

System Design Interview Framework FE

advanced

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

interview · Aug 4, 2026

Take-home Assignment Strategy

intermediate

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

interview · Aug 4, 2026

Testing Interview Questions

intermediate

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

interview · Aug 4, 2026

Tradeoff Language in Interviews

beginner

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

interview · Aug 4, 2026

TypeScript Interview Questions

intermediate

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

interview · Aug 4, 2026

Whiteboarding UI Components

intermediate

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

interview · Aug 4, 2026

AbortController

intermediate

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

javascript · Aug 4, 2026

Array find, some, every, includes

beginner

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

javascript · Aug 4, 2026

Array map, filter, reduce

beginner

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

javascript · Aug 4, 2026

Arrow Functions Deep Dive

beginner

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

javascript · Aug 4, 2026

Async Iteration and for await...of

advanced

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

javascript · Aug 4, 2026

BigInt Basics

intermediate

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

javascript · Aug 4, 2026

Bitwise Operators for Flags

advanced

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

javascript · Aug 4, 2026

Blob, File, and Object URLs

intermediate

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

javascript · Aug 4, 2026

call, apply, and bind

intermediate

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

javascript · Aug 4, 2026

Capture, Bubble, once, and passive

intermediate

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

javascript · Aug 4, 2026

Classes in JavaScript

beginner

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

javascript · Aug 4, 2026

classList and dataset

beginner

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

javascript · Aug 4, 2026

client, offset, and scroll Dimensions

advanced

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

javascript · Aug 4, 2026

Compose and Pipe

intermediate

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

javascript · Aug 4, 2026

contentEditable Pitfalls

advanced

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

javascript · Aug 4, 2026

Cookies for Frontend Engineers

intermediate

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

javascript · Aug 4, 2026

Creating and Updating DOM Nodes

beginner

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

javascript · Aug 4, 2026

Currying and Partial Application

intermediate

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

javascript · Aug 4, 2026

Custom Elements

advanced

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

javascript · Aug 4, 2026

Custom Events

intermediate

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

javascript · Aug 4, 2026

Date and Time Pitfalls

intermediate

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

javascript · Aug 4, 2026

Debounce Implementation

intermediate

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

javascript · Aug 4, 2026

Deep vs Shallow Copy

beginner

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

javascript · Aug 4, 2026

Default Parameters

beginner

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

javascript · Aug 4, 2026

Destructuring Objects and Arrays

beginner

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

javascript · Aug 4, 2026

DocumentFragment

intermediate

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

javascript · Aug 4, 2026

DOM Traversal with querySelector

beginner

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

javascript · Aug 4, 2026

Dynamic import()

intermediate

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

javascript · Aug 4, 2026

Error Types and Custom Errors

beginner

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

javascript · Aug 4, 2026

ES Modules

beginner

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

javascript · Aug 4, 2026

Event Delegation

intermediate

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

javascript · Aug 4, 2026

Event Emitter Pattern

intermediate

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

javascript · Aug 4, 2026

Feature Detection vs UA Sniffing

beginner

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

javascript · Aug 4, 2026

Fetch API Fundamentals

beginner

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

javascript · Aug 4, 2026

FinalizationRegistry

advanced

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

javascript · Aug 4, 2026

FormData and File Uploads

intermediate

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

javascript · Aug 4, 2026

Functional Array Patterns

beginner

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

javascript · Aug 4, 2026

Garbage Collection Mental Model

advanced

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

javascript · Aug 4, 2026

Generators

advanced

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

javascript · Aug 4, 2026

getBoundingClientRect

intermediate

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

javascript · Aug 4, 2026

Getters and Setters

beginner

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

javascript · Aug 4, 2026

globalThis

beginner

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

javascript · Aug 4, 2026

History API for SPA Routing

intermediate

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

javascript · Aug 4, 2026

Hoisting in JavaScript

beginner

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

javascript · Aug 4, 2026

Immutability Patterns in JS

intermediate

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

javascript · Aug 4, 2026

IndexedDB Overview

advanced

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

javascript · Aug 4, 2026

IntersectionObserver

intermediate

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

javascript · Aug 4, 2026

Intl API Formatting

intermediate

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

javascript · Aug 4, 2026

Iterators and the Iterable Protocol

intermediate

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

javascript · Aug 4, 2026

JSON parse and stringify pitfalls

beginner

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

javascript · Aug 4, 2026

localStorage and sessionStorage

beginner

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

javascript · Aug 4, 2026

Logical Assignment Operators

intermediate

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

javascript · Aug 4, 2026

Map and Set

beginner

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

javascript · Aug 4, 2026

Memoization

intermediate

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

javascript · Aug 4, 2026

Memory Leaks in SPAs

advanced

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

javascript · Aug 4, 2026

Module Patterns before ES Modules

intermediate

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

javascript · Aug 4, 2026

MutationObserver

advanced

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

javascript · Aug 4, 2026

null vs undefined

beginner

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

javascript · Aug 4, 2026

Nullish Coalescing

beginner

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

javascript · Aug 4, 2026

Number Precision and IEEE 754

intermediate

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

javascript · Aug 4, 2026

Numeric Separators

beginner

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

javascript · Aug 4, 2026

Object.create and the prototype chain

intermediate

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

javascript · Aug 4, 2026

Object.is vs ===

beginner

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

javascript · Aug 4, 2026

Optional catch binding

beginner

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

javascript · Aug 4, 2026

Optional Chaining

beginner

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

javascript · Aug 4, 2026

Polyfills and Baseline Targets

intermediate

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

javascript · Aug 4, 2026

postMessage and Origin Checks

advanced

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

javascript · Aug 4, 2026

preventDefault vs stopPropagation

beginner

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

javascript · Aug 4, 2026

Private Class Fields

intermediate

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

javascript · Aug 4, 2026

Promise Combinators Practice

intermediate

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

javascript · Aug 4, 2026

Prototypal Inheritance

intermediate

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

javascript · Aug 4, 2026

Proxy and Reflect

advanced

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

javascript · Aug 4, 2026

Pub Sub vs Observer

intermediate

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

javascript · Aug 4, 2026

Pure Functions

beginner

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

javascript · Aug 4, 2026

queueMicrotask vs setTimeout

intermediate

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

javascript · Aug 4, 2026

Regular Expressions Essentials

intermediate

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

javascript · Aug 4, 2026

requestAnimationFrame

intermediate

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

javascript · Aug 4, 2026

requestIdleCallback

advanced

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

javascript · Aug 4, 2026

ResizeObserver

intermediate

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

javascript · Aug 4, 2026

Resource Hints preload prefetch

intermediate

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

javascript · Aug 4, 2026

Rest and Spread Syntax

beginner

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

javascript · Aug 4, 2026

Selection and Range APIs

advanced

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

javascript · Aug 4, 2026

Shadow DOM Basics

advanced

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

javascript · Aug 4, 2026

Shallow vs Deep Equality

intermediate

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

javascript · Aug 4, 2026

Side Effects in Frontend Code

beginner

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

javascript · Aug 4, 2026

Sorting Arrays Correctly

beginner

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

javascript · Aug 4, 2026

Strict Mode

beginner

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

javascript · Aug 4, 2026

String Methods Worth Knowing

beginner

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

javascript · Aug 4, 2026

Structured Clone

intermediate

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

javascript · Aug 4, 2026

Symbols in JavaScript

intermediate

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

javascript · Aug 4, 2026

Tagged Template Sanitization Idea

advanced

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

javascript · Aug 4, 2026

template and slot

intermediate

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

javascript · Aug 4, 2026

Template Literals and Tagged Templates

beginner

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

javascript · Aug 4, 2026

Temporal Dead Zone

intermediate

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

javascript · Aug 4, 2026

this Binding Rules

intermediate

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

javascript · Aug 4, 2026

Throttle Implementation

intermediate

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

javascript · Aug 4, 2026

Top-level await

intermediate

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

javascript · Aug 4, 2026

Truthy and Falsy Values

beginner

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

javascript · Aug 4, 2026

try catch finally Best Practices

beginner

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

javascript · Aug 4, 2026

Type Coercion Rules

intermediate

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

javascript · Aug 4, 2026

Typed Arrays and ArrayBuffer

advanced

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

javascript · Aug 4, 2026

URL and URLSearchParams

beginner

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

javascript · Aug 4, 2026

var vs let vs const

beginner

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

javascript · Aug 4, 2026

WeakMap and WeakSet

advanced

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

javascript · Aug 4, 2026

Web Workers Overview

advanced

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

javascript · Aug 4, 2026

Accessible Modal Dialog

intermediate

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

machine-coding · Aug 4, 2026

Accordion FAQ

intermediate

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

machine-coding · Aug 4, 2026

Autocomplete Search Box

intermediate

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

machine-coding · Aug 4, 2026

Calendar Month View

intermediate

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

machine-coding · Aug 4, 2026

Chat Message UI

intermediate

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

machine-coding · Aug 4, 2026

Code Editor Line Numbers

intermediate

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

machine-coding · Aug 4, 2026

Color Picker Widget

intermediate

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

machine-coding · Aug 4, 2026

Custom Dropdown Select

intermediate

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

machine-coding · Aug 4, 2026

Drag and Drop List Reorder

intermediate

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

machine-coding · Aug 4, 2026

Emoji Picker Panel

intermediate

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

machine-coding · Aug 4, 2026

File Explorer Tree View

intermediate

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

machine-coding · Aug 4, 2026

Image Carousel

intermediate

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

machine-coding · Aug 4, 2026

Image Cropper Lite

intermediate

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

machine-coding · Aug 4, 2026

Infinite Scroll Feed

intermediate

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

machine-coding · Aug 4, 2026

Kanban Board

intermediate

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

machine-coding · Aug 4, 2026

Lite Spreadsheet Grid

advanced

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

machine-coding · Aug 4, 2026

Multi Select Chips Input

intermediate

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

machine-coding · Aug 4, 2026

Multi Step Wizard

intermediate

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

machine-coding · Aug 4, 2026

Nested Comments Thread

intermediate

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

machine-coding · Aug 4, 2026

Offline Status Indicator

intermediate

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

machine-coding · Aug 4, 2026

OTP Input Boxes

intermediate

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

machine-coding · Aug 4, 2026

Pagination Component

intermediate

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

machine-coding · Aug 4, 2026

Polling Metrics Dashboard

intermediate

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

machine-coding · Aug 4, 2026

Product Filters Sidebar

intermediate

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

machine-coding · Aug 4, 2026

Rich Text Toolbar

intermediate

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

machine-coding · Aug 4, 2026

Shopping Cart Drawer

intermediate

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

machine-coding · Aug 4, 2026

Smart Tooltip Positioning

intermediate

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

machine-coding · Aug 4, 2026

Sortable Data Table

intermediate

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

machine-coding · Aug 4, 2026

Split Markdown Editor

intermediate

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

machine-coding · Aug 4, 2026

Star Rating Input

intermediate

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

machine-coding · Aug 4, 2026

Tabs Component

intermediate

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

machine-coding · Aug 4, 2026

Toast Notification System

intermediate

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

machine-coding · Aug 4, 2026

Typeahead Mentions

intermediate

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

machine-coding · Aug 4, 2026

Video Player Controls

intermediate

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

machine-coding · Aug 4, 2026

Virtualized Data Table

advanced

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

machine-coding · Aug 4, 2026

Auth Patterns Overview

advanced

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

nextjs · Aug 4, 2026

Caching in Next.js Overview

advanced

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

nextjs · Aug 4, 2026

Client Components in Next.js

intermediate

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

nextjs · Aug 4, 2026

Data Fetching Patterns App Router

intermediate

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

nextjs · Aug 4, 2026

Deploying Next on Vercel

beginner

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

nextjs · Aug 4, 2026

Edge Runtime Tradeoffs

advanced

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

nextjs · Aug 4, 2026

Environment Variables in Next

beginner

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

nextjs · Aug 4, 2026

File-based Routing

beginner

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

nextjs · Aug 4, 2026

Font Optimization next/font

intermediate

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

nextjs · Aug 4, 2026

Image Component Optimization

intermediate

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

nextjs · Aug 4, 2026

Intercepting Routes Overview

advanced

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

nextjs · Aug 4, 2026

ISR Mental Model

intermediate

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

nextjs · Aug 4, 2026

Layouts and Nested Routes

beginner

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

nextjs · Aug 4, 2026

Loading and Error UI Files

beginner

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

nextjs · Aug 4, 2026

Metadata API for SEO

intermediate

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

nextjs · Aug 4, 2026

Middleware in Next.js

intermediate

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

nextjs · Aug 4, 2026

Next.js App Router Overview

beginner

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

nextjs · Aug 4, 2026

next/link Prefetch Behavior

intermediate

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

nextjs · Aug 4, 2026

Parallel Routes Overview

advanced

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

nextjs · Aug 4, 2026

Revalidate Path and Tag

advanced

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

nextjs · Aug 4, 2026

Route Handlers

intermediate

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

nextjs · Aug 4, 2026

Server Actions Overview

advanced

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

nextjs · Aug 4, 2026

Server Components in Next.js

intermediate

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

nextjs · Aug 4, 2026

Static vs Dynamic Rendering

intermediate

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

nextjs · Aug 4, 2026

Streaming and Suspense Boundaries

advanced

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

nextjs · Aug 4, 2026

Avoiding Layout Thrashing

intermediate

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

performance · Aug 4, 2026

Caching Static Assets Fingerprinting

intermediate

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

performance · Aug 4, 2026

CLS Optimization Tactics

intermediate

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

performance · Aug 4, 2026

Code Splitting Strategies

intermediate

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

performance · Aug 4, 2026

Compression gzip brotli

beginner

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

performance · Aug 4, 2026

Critical CSS Approaches

advanced

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

performance · Aug 4, 2026

Font Loading Strategies

intermediate

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

performance · Aug 4, 2026

HTTP/2 and HTTP/3 for Frontend

advanced

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

performance · Aug 4, 2026

Idle Work Scheduling

advanced

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

performance · Aug 4, 2026

Image Optimization Formats

beginner

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

performance · Aug 4, 2026

INP Optimization Tactics

intermediate

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

performance · Aug 4, 2026

JavaScript Bundle Budget

intermediate

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

performance · Aug 4, 2026

Lab vs Field Data

intermediate

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

performance · Aug 4, 2026

LCP Optimization Tactics

intermediate

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

performance · Aug 4, 2026

Lighthouse Score Interpretation

beginner

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

performance · Aug 4, 2026

Long Tasks and Yielding

intermediate

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

performance · Aug 4, 2026

Measuring Performance Mindset

beginner

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

performance · Aug 4, 2026

Memoization Performance Tradeoffs

intermediate

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

performance · Aug 4, 2026

Network Waterfall Reading

beginner

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

performance · Aug 4, 2026

Performance Budgets in CI

intermediate

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

performance · Aug 4, 2026

Preconnect and DNS Prefetch

intermediate

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

performance · Aug 4, 2026

Responsive Images Performance

intermediate

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

performance · Aug 4, 2026

RUM Real User Monitoring

intermediate

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

performance · Aug 4, 2026

scheduler.yield and Scheduling

advanced

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

performance · Aug 4, 2026

Third-Party Script Cost

intermediate

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

performance · Aug 4, 2026

Tree Shaking Basics

intermediate

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

performance · Aug 4, 2026

TTFB and Server Timing

intermediate

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

performance · Aug 4, 2026

Virtual Lists Performance

advanced

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

performance · Aug 4, 2026

Accessibility Patterns in React

intermediate

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

react · Aug 4, 2026

Avoid Prop Drilling with Composition

intermediate

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

react · Aug 4, 2026

Batching State Updates

intermediate

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

react · Aug 4, 2026

Children Prop Patterns

beginner

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

react · Aug 4, 2026

Client Component Boundaries

advanced

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

react · Aug 4, 2026

Client Routing Mental Model

beginner

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

react · Aug 4, 2026

Code Splitting with React.lazy

intermediate

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

react · Aug 4, 2026

Composition vs Inheritance

beginner

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

react · Aug 4, 2026

Concurrent Features Overview

advanced

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

react · Aug 4, 2026

Context API Basics

beginner

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

react · Aug 4, 2026

Context Performance Pitfalls

advanced

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

react · Aug 4, 2026

Controlled vs Uncontrolled Inputs

beginner

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

react · Aug 4, 2026

Custom Hooks Design

intermediate

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

react · Aug 4, 2026

dangerouslySetInnerHTML Risks

intermediate

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

react · Aug 4, 2026

Derived State Anti-Patterns

intermediate

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

react · Aug 4, 2026

Error Boundaries

intermediate

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

react · Aug 4, 2026

External Store Subscriptions

advanced

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

react · Aug 4, 2026

flushSync Rare Cases

advanced

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

react · Aug 4, 2026

Forms in React

beginner

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

react · Aug 4, 2026

Forwarding Refs

intermediate

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

react · Aug 4, 2026

Fragments

beginner

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

react · Aug 4, 2026

Function Components

beginner

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

react · Aug 4, 2026

Higher-Order Components

intermediate

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

react · Aug 4, 2026

Hydration Mismatches

advanced

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

react · Aug 4, 2026

JSX Under the Hood

beginner

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

react · Aug 4, 2026

Keys and Remounting State

intermediate

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

react · Aug 4, 2026

Keys in Lists

beginner

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

react · Aug 4, 2026

Layout Components

beginner

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

react · Aug 4, 2026

Lifting State Up

beginner

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

react · Aug 4, 2026

List Virtualization

advanced

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

react · Aug 4, 2026

Multi-step Forms in React

intermediate

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

react · Aug 4, 2026

Optimistic UI Updates

advanced

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

react · Aug 4, 2026

Portals

intermediate

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

react · Aug 4, 2026

Preserving State on Reorder

intermediate

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

react · Aug 4, 2026

Props vs State

beginner

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

react · Aug 4, 2026

React DevTools Profiler

intermediate

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

react · Aug 4, 2026

React.memo

intermediate

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

react · Aug 4, 2026

React Mental Model

beginner

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

react · Aug 4, 2026

React Performance Checklist

intermediate

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

react · Aug 4, 2026

React with TypeScript Props

beginner

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

react · Aug 4, 2026

Render Props Pattern

intermediate

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

react · Aug 4, 2026

Resetting State with Key

intermediate

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

react · Aug 4, 2026

Rules of Hooks

beginner

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

react · Aug 4, 2026

Server Components Overview

advanced

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

react · Aug 4, 2026

State Colocation

intermediate

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

react · Aug 4, 2026

Strict Mode Double Effects

intermediate

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

react · Aug 4, 2026

Suspense Overview

advanced

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

react · Aug 4, 2026

Testing React Components

intermediate

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

react · Aug 4, 2026

useDeferredValue

advanced

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

react · Aug 4, 2026

useEffect Dependency Array

intermediate

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

react · Aug 4, 2026

useEffect Fundamentals

intermediate

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

react · Aug 4, 2026

useId for Accessibility IDs

beginner

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

react · Aug 4, 2026

useImperativeHandle

advanced

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

react · Aug 4, 2026

useLayoutEffect When to Use

advanced

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

react · Aug 4, 2026

useMemo and useCallback

intermediate

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

react · Aug 4, 2026

useReducer for Complex State

intermediate

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

react · Aug 4, 2026

useRef for Values and DOM

beginner

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

react · Aug 4, 2026

useState Patterns

beginner

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

react · Aug 4, 2026

useSyncExternalStore Overview

advanced

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

react · Aug 4, 2026

useTransition

advanced

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

react · Aug 4, 2026

Accessibility Specialist Path

intermediate

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

roadmaps · Aug 4, 2026

CSS Layout Mastery Path

beginner

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

roadmaps · Aug 4, 2026

Design Systems Path

advanced

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

roadmaps · Aug 4, 2026

Frontend Performance Path

intermediate

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

roadmaps · Aug 4, 2026

Interview Sprint 8 Weeks

intermediate

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

roadmaps · Aug 4, 2026

JavaScript Mastery Path

beginner

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

roadmaps · Aug 4, 2026

React Career Path

beginner

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

roadmaps · Aug 4, 2026

Staff Frontend Skills Path

advanced

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

roadmaps · Aug 4, 2026

Testing Craft Path

intermediate

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

roadmaps · Aug 4, 2026

TypeScript Adoption Path

intermediate

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

roadmaps · Aug 4, 2026

Auth Session UX Security

intermediate

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

security · Aug 4, 2026

Clickjacking and X-Frame-Options

intermediate

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

security · Aug 4, 2026

Content Security Policy (CSP)

advanced

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

security · Aug 4, 2026

CSRF Basics for SPAs

intermediate

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

security · Aug 4, 2026

Dependency Supply Chain Risk

intermediate

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

security · Aug 4, 2026

Frontend Security Threat Model

intermediate

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

security · Aug 4, 2026

HTTPS and Mixed Content

beginner

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

security · Aug 4, 2026

JWT Storage Pitfalls

intermediate

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

security · Aug 4, 2026

Open Redirects

intermediate

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

security · Aug 4, 2026

postMessage Security

advanced

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

security · Aug 4, 2026

Privacy and Fingerprinting Basics

advanced

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

security · Aug 4, 2026

Rate Limiting UX Considerations

intermediate

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

security · Aug 4, 2026

Safe URL Handling

intermediate

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

security · Aug 4, 2026

Sandboxing iframes

advanced

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

security · Aug 4, 2026

Secrets in Frontend Bundles

beginner

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

security · Aug 4, 2026

Secure Cookie Flags

intermediate

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

security · Aug 4, 2026

Subresource Integrity

intermediate

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

security · Aug 4, 2026

XSS Prevention Checklist

intermediate

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

security · Aug 4, 2026

A/B Testing Frontend Design

intermediate

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

system-design · Aug 4, 2026

Accessibility in Large Apps

intermediate

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

system-design · Aug 4, 2026

Auth Session Design for SPAs

intermediate

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

system-design · Aug 4, 2026

Client-side Routing at Scale

intermediate

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

system-design · Aug 4, 2026

Design a Dashboard Analytics UI

intermediate

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

system-design · Aug 4, 2026

Design a Design System

intermediate

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

system-design · Aug 4, 2026

Design a News Feed

advanced

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

system-design · Aug 4, 2026

Design a Notification System UI

advanced

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

system-design · Aug 4, 2026

Design an Image Gallery

intermediate

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

system-design · Aug 4, 2026

Design Autocomplete / Typeahead

intermediate

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

system-design · Aug 4, 2026

Design E-commerce Product Page

intermediate

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

system-design · Aug 4, 2026

Design Multi-tenant Admin Panel

advanced

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

system-design · Aug 4, 2026

Design Offline-first Notes App

advanced

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

system-design · Aug 4, 2026

Design Realtime Collaboration Cursors

advanced

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

system-design · Aug 4, 2026

Design Video Player Experience

advanced

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

system-design · Aug 4, 2026

Edge Rendering Tradeoffs

advanced

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

system-design · Aug 4, 2026

Error Monitoring and RUM Design

intermediate

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

system-design · Aug 4, 2026

Feature Flags Client Architecture

intermediate

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

system-design · Aug 4, 2026

Frontend Caching Strategies

intermediate

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

system-design · Aug 4, 2026

Infinite Maps Marker UI

advanced

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

system-design · Aug 4, 2026

Internationalization Architecture

intermediate

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

system-design · Aug 4, 2026

Media CDN and Image Pipeline

advanced

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

system-design · Aug 4, 2026

Micro Frontends Tradeoffs

advanced

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

system-design · Aug 4, 2026

Performance Budget System Design

intermediate

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

system-design · Aug 4, 2026

PWA Install and Offline Shell

advanced

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

system-design · Aug 4, 2026

Realtime WebSocket UI Design

advanced

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

system-design · Aug 4, 2026

Search Results Page Design

intermediate

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

system-design · Aug 4, 2026

SSR CSR Islands Architecture

intermediate

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

system-design · Aug 4, 2026

State Management at Scale

intermediate

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

system-design · Aug 4, 2026

Upload Large Files UX

intermediate

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

system-design · Aug 4, 2026

Accessibility Testing in CI

intermediate

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

testing · Aug 4, 2026

Component Testing Storybook

intermediate

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

testing · Aug 4, 2026

Contract Testing APIs

advanced

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

testing · Aug 4, 2026

Coverage Metrics Pitfalls

intermediate

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

testing · Aug 4, 2026

End-to-End Testing Tradeoffs

intermediate

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

testing · Aug 4, 2026

Fake Timers for Debounce

intermediate

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

testing · Aug 4, 2026

Flaky Tests Common Causes

intermediate

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

testing · Aug 4, 2026

Integration Testing UI

intermediate

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

testing · Aug 4, 2026

Mocking fetch in Tests

intermediate

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

testing · Aug 4, 2026

MSW Mock Service Worker

intermediate

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

testing · Aug 4, 2026

Playwright vs Cypress Overview

intermediate

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

testing · Aug 4, 2026

Snapshot Testing When Useful

intermediate

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

testing · Aug 4, 2026

Test IDs as Last Resort

beginner

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

testing · Aug 4, 2026

Testing Library Queries Priority

beginner

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

testing · Aug 4, 2026

Testing Pyramid for Frontend

beginner

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

testing · Aug 4, 2026

Unit Testing Pure Logic

beginner

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

testing · Aug 4, 2026

user-event vs fireEvent

beginner

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

testing · Aug 4, 2026

Visual Regression Testing

intermediate

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

testing · Aug 4, 2026

Basic Types and Annotations

beginner

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

typescript · Aug 4, 2026

Branded Types for IDs

advanced

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

typescript · Aug 4, 2026

Conditional Types Intro

advanced

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

typescript · Aug 4, 2026

Declaration Files and DefinitelyTyped

intermediate

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

typescript · Aug 4, 2026

Discriminated Unions for UI State

intermediate

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

typescript · Aug 4, 2026

Enums vs Union Types

intermediate

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

typescript · Aug 4, 2026

Function Overloads

advanced

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

typescript · Aug 4, 2026

Generic Constraints

intermediate

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

typescript · Aug 4, 2026

Generics Basics

intermediate

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

typescript · Aug 4, 2026

Generics in React Components

advanced

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

typescript · Aug 4, 2026

infer Keyword Basics

advanced

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

typescript · Aug 4, 2026

Interfaces vs Type Aliases

beginner

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

typescript · Aug 4, 2026

keyof typeof and Indexed Access

intermediate

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

typescript · Aug 4, 2026

Literal Types

beginner

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

typescript · Aug 4, 2026

Mapped Types Intro

advanced

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

typescript · Aug 4, 2026

Narrowing with in Operator

beginner

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

typescript · Aug 4, 2026

never Type and Exhaustiveness

intermediate

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

typescript · Aug 4, 2026

Non-null Assertion Operator

intermediate

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

typescript · Aug 4, 2026

Path Aliases and Tooling Sync

intermediate

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

typescript · Aug 4, 2026

Readonly and const Assertions

intermediate

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

typescript · Aug 4, 2026

Record and Partial patterns for Forms

intermediate

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

typescript · Aug 4, 2026

Runtime Validation with Schemas

intermediate

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

typescript · Aug 4, 2026

satisfies Operator

intermediate

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

typescript · Aug 4, 2026

Template Literal Types

advanced

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

typescript · Aug 4, 2026

tsconfig Strict Flags

intermediate

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

typescript · Aug 4, 2026

Tuple Types

intermediate

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

typescript · Aug 4, 2026

Type Assertions Safely

intermediate

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

typescript · Aug 4, 2026

Type Guards typeof and instanceof

beginner

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

typescript · Aug 4, 2026

TypeScript for JavaScript Engineers

beginner

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

typescript · Aug 4, 2026

Typing fetch Responses

intermediate

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

typescript · Aug 4, 2026

Typing React Events

intermediate

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

typescript · Aug 4, 2026

Typing React Props

beginner

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

typescript · Aug 4, 2026

Union and Intersection Types

beginner

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

typescript · Aug 4, 2026

unknown vs any

beginner

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

typescript · Aug 4, 2026

Utility Types Partial Pick Omit

beginner

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

typescript · Aug 4, 2026

Focus Management

intermediate

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

accessibility · Aug 3, 2026

Browser Rendering Pipeline

intermediate

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

browser · Aug 3, 2026

Cascade & Specificity

beginner

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

css · Aug 3, 2026

Two Sum

beginner

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

dsa · Aug 3, 2026

Semantic HTML

beginner

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

html · Aug 3, 2026

JavaScript Interview Guide

intermediate

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

interview · Aug 3, 2026

Closures

intermediate

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

javascript · Aug 3, 2026

The Event Loop

intermediate

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

javascript · Aug 3, 2026

Promises

intermediate

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

javascript · Aug 3, 2026

Core Web Vitals

intermediate

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

performance · Aug 3, 2026

Reconciliation & the Virtual DOM

intermediate

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

react · Aug 3, 2026

XSS for Frontend Engineers

intermediate

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

security · Aug 3, 2026

Frontend Engineer Roadmap

beginner

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

roadmaps · Apr 1, 2026

Design YouTube (Frontend)

advanced

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

system-design · Mar 10, 2026

Next.js Rendering Modes

intermediate

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

nextjs · Mar 5, 2026

Google Frontend Interview

advanced

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

experiences · Feb 28, 2026

Todo App

beginner

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

machine-coding · Feb 18, 2026

Testing UI with Testing Library

intermediate

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

testing · Feb 1, 2026

Type Narrowing

intermediate

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

typescript · Jan 28, 2026