[{"data":1,"prerenderedAt":925},["ShallowReactive",2],{"study-navigation":3},[4],{"title":5,"path":6,"stem":7,"children":8,"page":924},"Study","\u002Fstudy","study",[9,81,128,190,257,289,331,368,400,432,464,496,548,590,627,659,695,737,764,796,828,855,882],{"title":10,"path":11,"stem":12,"children":13,"description":15},"Nuxt Layers","\u002Fstudy\u002Flayers","study\u002F1.layers\u002Findex",[14,16,21,26,31,36,41,46,51,56,61,66,71,76],{"title":10,"path":11,"stem":12,"description":15},"What a layer is, why a frontend team standardises on them, and the mental model that makes every other page in this section obvious.",{"title":17,"path":18,"stem":19,"description":20},"Anatomy of a layer","\u002Fstudy\u002Flayers\u002Fanatomy","study\u002F1.layers\u002F01.anatomy","A layer is a Nuxt app directory that another app merges in. What goes where, how Nuxt resolves its srcDir, and how to see the resolved layer list.",{"title":22,"path":23,"stem":24,"description":25},"extends and layer sources","\u002Fstudy\u002Flayers\u002Fextends-and-sources","study\u002F1.layers\u002F02.extends-and-sources","The three places a layer can come from, the giget syntax for git layers, private repositories, and the auto-registered layers\u002F directory.",{"title":27,"path":28,"stem":29,"description":30},"Priority and merging","\u002Fstudy\u002Flayers\u002Fpriority-and-merging","study\u002F1.layers\u002F03.priority-and-merging","Which layer wins when two define the same file or option, how c12 and defu merge configs, and how to prove the order instead of memorising it.",{"title":32,"path":33,"stem":34,"description":35},"Paths and aliases inside a layer","\u002Fstudy\u002Flayers\u002Fpaths-and-aliases","study\u002F1.layers\u002F04.paths-and-aliases","Why ~ and @ break inside a layer, the import.meta.url pattern, the",{"title":37,"path":38,"stem":39,"description":40},"Config merging in practice","\u002Fstudy\u002Flayers\u002Fconfig-merging","study\u002F1.layers\u002F05.config-merging","How modules, runtimeConfig, app.config, route rules, Vite options and environment overrides behave when a layer and a project both declare them.",{"title":42,"path":43,"stem":44,"description":45},"Overriding what a layer ships","\u002Fstudy\u002Flayers\u002Foverriding","study\u002F1.layers\u002F06.overriding","How a project replaces, wraps, extends or removes components, pages, layouts, composables, plugins, middleware and server routes inherited from a layer.",{"title":47,"path":48,"stem":49,"description":50},"Modules in layers","\u002Fstudy\u002Flayers\u002Fmodules-in-layers","study\u002F1.layers\u002F07.modules-in-layers","Layers as module presets, how Nuxt deduplicates modules across layers, how module options merge, and how module authors make their modules layer-aware.",{"title":52,"path":53,"stem":54,"description":55},"Server code and Nitro in layers","\u002Fstudy\u002Flayers\u002Fserver-and-nitro","study\u002F1.layers\u002F08.server-and-nitro","What a layer can ship under server\u002F and shared\u002F, how Nitro merges handlers and config across layers, and why every route you ship is a security decision for every app.",{"title":57,"path":58,"stem":59,"description":60},"Publishing and consuming a layer","\u002Fstudy\u002Flayers\u002Fpublishing-and-consuming","study\u002F1.layers\u002F09.publishing-and-consuming","The layer starter and its playground, npm packaging rules, workspace versus registry versus git tags, the dev experience of each, and what counts as a breaking change.",{"title":62,"path":63,"stem":64,"description":65},"Testing a layer and CI","\u002Fstudy\u002Flayers\u002Ftesting-and-ci","study\u002F1.layers\u002F10.testing-and-ci","The playground as a test bench, fixture apps that extend the layer, asserting that overrides win, type-checking, and a CI matrix that catches Nuxt version skew before consumers do.",{"title":67,"path":68,"stem":69,"description":70},"Layers vs modules, and layers as architecture","\u002Fstudy\u002Flayers\u002Flayers-vs-modules","study\u002F1.layers\u002F11.layers-vs-modules","The decision rule, the cases where a team needs both, domain-driven design with one layer per domain, and the places where a layer is the wrong tool.",{"title":72,"path":73,"stem":74,"description":75},"Pitfalls catalogue","\u002Fstudy\u002Flayers\u002Fpitfalls","study\u002F1.layers\u002F12.pitfalls","Eighteen ways layers go wrong in practice, each with the symptom you will see, the cause underneath and the fix, plus code for the six that cost the most time.",{"title":77,"path":78,"stem":79,"description":80},"Designing a team layer","\u002Fstudy\u002Flayers\u002Fdesigning-a-team-layer","study\u002F1.layers\u002F13.designing-a-team-layer","The senior-craft page for layers - defining a small public surface, theming through app.config, override recipes, performance and security costs per app, governance, and rolling out breaking changes.",{"title":82,"path":83,"stem":84,"children":85,"description":87},"Building Nuxt apps","\u002Fstudy\u002Fnuxt-app","study\u002F10.nuxt-app\u002Findex",[86,88,93,98,103,108,113,118,123],{"title":82,"path":83,"stem":84,"description":87},"The application developer's map of Nuxt 4 — directory conventions, the request lifecycle, and how routing, data fetching, state, plugins, errors, SEO and rendering strategies fit together.",{"title":89,"path":90,"stem":91,"description":92},"Routing and pages","\u002Fstudy\u002Fnuxt-app\u002Frouting-and-pages","study\u002F10.nuxt-app\u002F01.routing-and-pages","File-based routing in Nuxt 4, definePageMeta, layouts, route middleware on server and client, NuxtLink prefetching, typed routes and the route rules that live in Nitro.",{"title":94,"path":95,"stem":96,"description":97},"Data fetching","\u002Fstudy\u002Fnuxt-app\u002Fdata-fetching","study\u002F10.nuxt-app\u002F02.data-fetching","useFetch, useAsyncData and $fetch, the payload and why data is not fetched twice, keys, options, caching with getCachedData, forwarding headers, interceptors and error handling.",{"title":99,"path":100,"stem":101,"description":102},"State and runtime config","\u002Fstudy\u002Fnuxt-app\u002Fstate-and-runtime-config","study\u002F10.nuxt-app\u002F03.state-and-runtime-config","useState for SSR-safe shared state, what the payload can serialise, runtimeConfig versus app.config versus environment variables, useCookie, and when a store is the right tool.",{"title":104,"path":105,"stem":106,"description":107},"Plugins and auto-imports","\u002Fstudy\u002Fnuxt-app\u002Fplugins-and-composables","study\u002F10.nuxt-app\u002F04.plugins-and-composables","Plugin order, dependsOn and parallel, providing typed helpers, app hooks, callOnce and onNuxtReady, and how components, composables and utils are scanned and named.",{"title":109,"path":110,"stem":111,"description":112},"Error handling","\u002Fstudy\u002Fnuxt-app\u002Ferror-handling","study\u002F10.nuxt-app\u002F05.error-handling","Where errors happen in a Nuxt app and where they surface — createError and error.vue, fatal versus non-fatal, NuxtErrorBoundary, useAsyncData errors, server route errors, hooks and monitoring.",{"title":114,"path":115,"stem":116,"description":117},"SEO, head and media","\u002Fstudy\u002Fnuxt-app\u002Fseo-head-and-images","study\u002F10.nuxt-app\u002F06.seo-head-and-images","useSeoMeta and useHead on Unhead, titles and OG tags, canonical URLs, sitemaps and structured data with the Nuxt SEO modules, and the image, font and script modules that protect LCP and CLS.",{"title":119,"path":120,"stem":121,"description":122},"Rendering strategies","\u002Fstudy\u002Fnuxt-app\u002Frendering-strategies","study\u002F10.nuxt-app\u002F07.rendering-strategies","Universal rendering, SPA, prerendering, SWR and ISR per route, client-only and server components, islands, lazy hydration and streaming, and how to choose per route rather than per app.",{"title":124,"path":125,"stem":126,"description":127},"Internationalisation","\u002Fstudy\u002Fnuxt-app\u002Fi18n","study\u002F10.nuxt-app\u002F08.i18n","The @nuxtjs\u002Fi18n module — routing strategies, lazy-loaded messages, locale detection, SEO tags, formatting with Intl, right-to-left layouts and the hydration trap of a locale that differs between server and client.",{"title":129,"path":130,"stem":131,"children":132,"description":134},"Vue docs, chapter by chapter","\u002Fstudy\u002Fvue-docs","study\u002F11.vue-docs\u002Findex",[133,135,140,145,150,155,160,165,170,175,180,185],{"title":129,"path":130,"stem":131,"description":134},"How to use this section to learn the official Vue guide thoroughly enough to be quizzed on it, and how it relates to the senior-depth Vue section.",{"title":136,"path":137,"stem":138,"description":139},"Essentials I — templates and reactivity","\u002Fstudy\u002Fvue-docs\u002Fessentials-templates-and-reactivity","study\u002F11.vue-docs\u002F01.essentials-templates-and-reactivity","Creating an Application, Template Syntax, Reactivity Fundamentals, Computed Properties, and Class and Style Bindings, distilled to the facts and caveats the guide states.",{"title":141,"path":142,"stem":143,"description":144},"Essentials II — rendering, events and forms","\u002Fstudy\u002Fvue-docs\u002Fessentials-rendering-events-and-forms","study\u002F11.vue-docs\u002F02.essentials-rendering-events-and-forms","Conditional and List Rendering, Event Handling, Form Input Bindings, Watchers, Template Refs, Components Basics and Lifecycle Hooks, as the guide states them.",{"title":146,"path":147,"stem":148,"description":149},"Components I — registration, props, events, v-model","\u002Fstudy\u002Fvue-docs\u002Fcomponents-props-events-vmodel","study\u002F11.vue-docs\u002F03.components-props-events-vmodel","Component registration, props declaration and validation including Boolean casting and reactive destructure, event declaration and validation, and component v-model with defineModel.",{"title":151,"path":152,"stem":153,"description":154},"Components II — attrs, slots, provide\u002Finject, async","\u002Fstudy\u002Fvue-docs\u002Fcomponents-attrs-slots-provide","study\u002F11.vue-docs\u002F04.components-attrs-slots-provide","Fallthrough attributes and inheritAttrs, slots in every form, provide\u002Finject with reactivity and Symbol keys, and async components with loading states and lazy hydration strategies.",{"title":156,"path":157,"stem":158,"description":159},"Reusability — composables, directives, plugins","\u002Fstudy\u002Fvue-docs\u002Freusability-directives-and-plugins","study\u002F11.vue-docs\u002F05.reusability-directives-and-plugins","The Composables chapter's conventions and restrictions, custom directive hooks and the binding object, and how plugins install through app.use.",{"title":161,"path":162,"stem":163,"description":164},"Built-in components","\u002Fstudy\u002Fvue-docs\u002Fbuilt-in-components","study\u002F11.vue-docs\u002F06.built-in-components","Transition and TransitionGroup classes, hooks and modes, KeepAlive include\u002Fexclude\u002Fmax, Teleport targets and defer, and Suspense's async dependencies, events and nesting rules.",{"title":166,"path":167,"stem":168,"description":169},"Scaling up — SFC, tooling, routing, state, testing, SSR","\u002Fstudy\u002Fvue-docs\u002Fscaling-up","study\u002F11.vue-docs\u002F07.scaling-up","What the guide says about single-file components and their CSS features, the recommended toolchain, routing and state management at the Vue level, the testing pyramid it proposes, and the SSR chapter's rules for SSR-friendly code.",{"title":171,"path":172,"stem":173,"description":174},"Best practices — deployment, performance, accessibility, security","\u002Fstudy\u002Fvue-docs\u002Fbest-practices","study\u002F11.vue-docs\u002F08.best-practices","The four Best Practices chapters as checklists — production builds and error tracking, the guide's page-load and update-performance techniques, its accessibility guidance, and the security rules Vue enforces and the ones it cannot.",{"title":176,"path":177,"stem":178,"description":179},"TypeScript with Vue","\u002Fstudy\u002Fvue-docs\u002Ftypescript-with-vue","study\u002F11.vue-docs\u002F09.typescript-with-vue","The TypeScript chapters — project setup and tsconfig, typing props, emits, refs, computed, event handlers, provide\u002Finject and template refs with the Composition API, the Options API equivalents, and the utility types.",{"title":181,"path":182,"stem":183,"description":184},"Extra topics — internals and the edges","\u002Fstudy\u002Fvue-docs\u002Fextra-topics","study\u002F11.vue-docs\u002F10.extra-topics","Ways of Using Vue, the Composition API FAQ, Reactivity in Depth, the Rendering Mechanism, Render Functions and JSX, Vue and Web Components, and Animation Techniques, as the guide presents them.",{"title":186,"path":187,"stem":188,"description":189},"API reference map","\u002Fstudy\u002Fvue-docs\u002Fapi-reference-map","study\u002F11.vue-docs\u002F11.api-reference-map","The Vue API reference as a quiz sheet — application API and config, general helpers, every built-in directive with its modifiers, special elements and attributes, the SFC spec and script setup rules, reactivity utilities, compile-time flags and the SSR API.",{"title":191,"path":192,"stem":193,"children":194,"description":196},"Nuxt docs, chapter by chapter","\u002Fstudy\u002Fnuxt-docs","study\u002F12.nuxt-docs\u002Findex",[195,197,202,207,212,217,222,227,232,237,242,247,252],{"title":191,"path":192,"stem":193,"description":196},"How to use this section to learn the official Nuxt 4 documentation thoroughly — getting started, concepts, every directory, going further, and the full API reference — and quiz yourself on it.",{"title":198,"path":199,"stem":200,"description":201},"Getting started I — installation, configuration, views, assets, styling","\u002Fstudy\u002Fnuxt-docs\u002Fgetting-started-setup","study\u002F12.nuxt-docs\u002F01.getting-started-setup","The first Getting Started chapters — creating a project, nuxt.config with environment overrides, runtimeConfig versus app.config, external config files, app.vue\u002Fpages\u002Flayouts, the public and assets directories, and every way to load styles.",{"title":203,"path":204,"stem":205,"description":206},"Getting started II — routing, SEO, transitions, data, state, errors","\u002Fstudy\u002Fnuxt-docs\u002Fgetting-started-features","study\u002F12.nuxt-docs\u002F02.getting-started-features","The middle Getting Started chapters — Routing, SEO and Meta, Transitions, Data Fetching, State Management and Error Handling — reduced to the statements, options and defaults the docs make.",{"title":208,"path":209,"stem":210,"description":211},"Getting started III — server, layers, prerendering, deployment, testing, upgrade","\u002Fstudy\u002Fnuxt-docs\u002Fgetting-started-server-deploy-testing","study\u002F12.nuxt-docs\u002F03.getting-started-server-deploy-testing","The last Getting Started chapters — the Nitro server, layers and their priority, crawl-based prerendering and payload extraction, deployment targets and presets, the @nuxt\u002Ftest-utils testing setup, and the upgrade guide's list of Nuxt 4 changes.",{"title":213,"path":214,"stem":215,"description":216},"Concepts","\u002Fstudy\u002Fnuxt-docs\u002Fconcepts","study\u002F12.nuxt-docs\u002F04.concepts","The Guide's Concepts chapters — Auto-imports, Nuxt Lifecycle, Vue.js Development (including Vapor interop), Rendering Modes, Server Components, Server Engine, Modules, ES Modules, TypeScript and Code Style — as statements to remember.",{"title":218,"path":219,"stem":220,"description":221},"Directory structure — app\u002F","\u002Fstudy\u002Fnuxt-docs\u002Fdirectory-structure-app","study\u002F12.nuxt-docs\u002F05.directory-structure-app","What the docs state for every entry under app\u002F — assets, components, composables, layouts, middleware, pages, plugins, utils, app.vue, app.config.ts, error.vue and router.options.ts — including scanning rules, naming and ordering.",{"title":223,"path":224,"stem":225,"description":226},"Directory structure — project root","\u002Fstudy\u002Fnuxt-docs\u002Fdirectory-structure-root","study\u002F12.nuxt-docs\u002F06.directory-structure-root","The root-level entries the docs describe — content, layers, modules, public, server, shared, test, .env, .gitignore, .nuxt, .nuxtignore, .nuxtrc, .output, nuxt.config.ts, package.json and tsconfig.json — and the rule each one carries.",{"title":228,"path":229,"stem":230,"description":231},"Going further","\u002Fstudy\u002Fnuxt-docs\u002Fgoing-further","study\u002F12.nuxt-docs\u002F07.going-further","The Going Further chapters — Experimental Features and their flags, Features and the future namespace, How Nuxt Works, Runtime Config, the Nightly Release Channel, Lifecycle Hooks, Layers, NuxtApp, Debugging, Custom Events, Server Imports, Kit and Builders.",{"title":233,"path":234,"stem":235,"description":236},"Recipes, best practices and AI docs","\u002Fstudy\u002Fnuxt-docs\u002Frecipes-and-best-practices","study\u002F12.nuxt-docs\u002F08.recipes-and-best-practices","The Guide's Recipes (Custom Routing, Custom useFetch, Mostly-Static Sites, Sessions and Authentication, Vite Plugins), the Best Practices pages (Accessibility, Dev Containers, Hydration, Performance, Plugins) and the AI pages (llms.txt, MCP server).",{"title":238,"path":239,"stem":240,"description":241},"API — components","\u002Fstudy\u002Fnuxt-docs\u002Fapi-components","study\u002F12.nuxt-docs\u002F09.api-components","Every built-in Nuxt component from the API reference with its props, slots and rules — ClientOnly, DevOnly, NuxtClientFallback, NuxtPage, NuxtLayout, NuxtLink, NuxtLoadingIndicator, NuxtErrorBoundary, NuxtIsland, NuxtRouteAnnouncer, NuxtAnnouncer, NuxtTime, NuxtImg, NuxtPicture, NuxtWelcome and Teleport.",{"title":243,"path":244,"stem":245,"description":246},"API — composables","\u002Fstudy\u002Fnuxt-docs\u002Fapi-composables","study\u002F12.nuxt-docs\u002F10.api-composables","Every composable in the Nuxt API reference with its purpose, signature shape, side and version — from useAsyncData and useFetch to createUseFetch, useAnnouncer, useLayout, useRuntimeHook, onPrehydrate, useHydration, usePreviewMode and the request\u002Fresponse helpers.",{"title":248,"path":249,"stem":250,"description":251},"API — utils","\u002Fstudy\u002Fnuxt-docs\u002Fapi-utils","study\u002F12.nuxt-docs\u002F11.api-utils","Every utility in the Nuxt API reference — the define* macros, navigation helpers, error helpers, data and state cache helpers, preload and prefetch helpers, lifecycle utilities and the server-side response helpers.",{"title":253,"path":254,"stem":255,"description":256},"API — commands, configuration, advanced","\u002Fstudy\u002Fnuxt-docs\u002Fapi-commands-and-config","study\u002F12.nuxt-docs\u002F12.api-commands-and-config","The Nuxt CLI and every command with its notable flags, the top-level keys of nuxt.config, the three hook families, the import.meta flags, and the error-code catalogue.",{"title":258,"path":259,"stem":260,"children":261,"description":263},"State & data layer","\u002Fstudy\u002Fstate-data","study\u002F13.state-data\u002Findex",[262,264,269,274,279,284],{"title":258,"path":259,"stem":260,"description":263},"A decision framework for where state lives in a Nuxt application — component, useState, Pinia, a query cache, the URL, cookies, browser storage or the server — and how the pages in this section map to it.",{"title":265,"path":266,"stem":267,"description":268},"Pinia","\u002Fstudy\u002Fstate-data\u002Fpinia","study\u002F13.state-data\u002F01.pinia","Setup stores versus option stores, how Pinia works in Nuxt SSR, storeToRefs and the reactivity traps, plugins and persistence, testing with createTestingPinia, Pinia 4, and when a store is the wrong tool.",{"title":270,"path":271,"stem":272,"description":273},"Server state and caching","\u002Fstudy\u002Fstate-data\u002Fserver-state-and-caching","study\u002F13.state-data\u002F02.server-state-and-caching","Treating API data as a cache rather than state — stale-while-revalidate, keys and invalidation, optimistic updates with rollback, pagination and infinite queries — with useAsyncData, TanStack Query and Pinia Colada compared.",{"title":275,"path":276,"stem":277,"description":278},"Forms and validation","\u002Fstudy\u002Fstate-data\u002Fforms-and-validation","study\u002F13.state-data\u002F03.forms-and-validation","One schema for client and server with Standard Schema libraries, Nuxt UI's UForm, VeeValidate and FormKit compared, field components with defineModel, async validation, accessible error display, and mapping server errors back to fields.",{"title":280,"path":281,"stem":282,"description":283},"Realtime and sync","\u002Fstudy\u002Fstate-data\u002Frealtime-and-sync","study\u002F13.state-data\u002F04.realtime-and-sync","WebSockets versus Server-Sent Events versus polling, Nitro's WebSocket and event-stream support, reconnection and resumption, keeping clients in sync with optimistic local state, and scaling realtime beyond one server.",{"title":285,"path":286,"stem":287,"description":288},"URL, cookies and browser persistence","\u002Fstudy\u002Fstate-data\u002Furl-and-persistence","study\u002F13.state-data\u002F05.url-and-persistence","The URL as state, cookies for what the server render needs, localStorage and IndexedDB without hydration mismatches, versioned schemas, cross-tab sync, export\u002Fimport, and the offline basics.",{"title":290,"path":291,"stem":292,"children":293,"description":295},"JavaScript & the runtime","\u002Fstudy\u002Fjavascript","study\u002F14.javascript\u002Findex",[294,296,301,306,311,316,321,326],{"title":290,"path":291,"stem":292,"description":295},"Why senior frontend interviews still test JavaScript itself — the event loop, closures and this, modules, collections and iterators, memory, dates and numbers, and what ES2024 to ES2026 added — and how the pages in this section fit.",{"title":297,"path":298,"stem":299,"description":300},"The event loop and async","\u002Fstudy\u002Fjavascript\u002Fevent-loop-and-async","study\u002F14.javascript\u002F01.event-loop-and-async","Tasks, microtasks and rendering, how await desugars, timer semantics, unhandled rejections, cancellation with AbortController, Promise combinators, breaking up long tasks, and the Node differences.",{"title":302,"path":303,"stem":304,"description":305},"Closures, scope, this and prototypes","\u002Fstudy\u002Fjavascript\u002Fclosures-scope-and-this","study\u002F14.javascript\u002F02.closures-scope-and-this","Lexical scope and the temporal dead zone, what a closure captures and what it keeps alive, the four rules for this, arrow functions and class fields, prototypes underneath classes, private fields, descriptors, Proxy and Reflect, and equality.",{"title":307,"path":308,"stem":309,"description":310},"Modules and bundling","\u002Fstudy\u002Fjavascript\u002Fmodules-and-bundling","study\u002F14.javascript\u002F03.modules-and-bundling","ESM semantics — static structure, live bindings, singleton modules, cycles and top-level await — versus CommonJS, Node interop and package exports, tree shaking and code splitting, and what Vite and Rolldown do with all of it.",{"title":312,"path":313,"stem":314,"description":315},"Collections, iterators and generators","\u002Fstudy\u002Fjavascript\u002Fcollections-iterators-and-generators","study\u002F14.javascript\u002F04.collections-iterators-and-generators","Map, Set and their 2025 methods, WeakMap and WeakRef, the iteration protocol, generators and async iteration, iterator helpers, grouping and upsert, change-by-copy arrays, typed arrays and base64, and web streams.",{"title":317,"path":318,"stem":319,"description":320},"Memory and performance in JavaScript","\u002Fstudy\u002Fjavascript\u002Fmemory-and-performance","study\u002F14.javascript\u002F05.memory-and-performance","How garbage collection decides what lives, the leak patterns that survive it, finding retainers with heap snapshots, and the performance model — Big-O in practice, hot paths, long tasks, and measuring before optimising.",{"title":322,"path":323,"stem":324,"description":325},"Modern JavaScript, ES2024 to ES2026","\u002Fstudy\u002Fjavascript\u002Fmodern-javascript-2024-2026","study\u002F14.javascript\u002F06.modern-javascript-2024-2026","What each of the last three editions added, what is finished for ES2027, the stage 3 proposals worth knowing by name, and how Baseline, build targets and polyfills decide what you can ship unpolyfilled.",{"title":327,"path":328,"stem":329,"description":330},"Dates, numbers and Intl","\u002Fstudy\u002Fjavascript\u002Fdates-numbers-and-intl","study\u002F14.javascript\u002F07.dates-numbers-and-intl","Why Date is a trap and how to store and format time correctly across server and client, Temporal, the Intl formatters for dates, numbers, currencies, plurals, lists and relative time, floating point and money, and caching formatters.",{"title":332,"path":333,"stem":334,"children":335,"description":337},"TypeScript in practice","\u002Fstudy\u002Ftypescript","study\u002F15.typescript\u002Findex",[336,338,343,348,353,358,363],{"title":332,"path":333,"stem":334,"description":337},"How senior interviews test TypeScript — as a design tool rather than a syntax quiz — and how the pages on the type system, generics, Vue and Nuxt typing, configuration and TypeScript 7, runtime validation and typing smells fit together.",{"title":339,"path":340,"stem":341,"description":342},"Type system fundamentals","\u002Fstudy\u002Ftypescript\u002Ftype-system-fundamentals","study\u002F15.typescript\u002F01.type-system-fundamentals","Structural typing, unknown versus any versus never, unions and intersections, literal types and as const, narrowing and type guards, satisfies, readonly and tuples, enums versus unions, and the strictness flags that matter.",{"title":344,"path":345,"stem":346,"description":347},"Generics and inference","\u002Fstudy\u002Ftypescript\u002Fgenerics-and-inference","study\u002F15.typescript\u002F02.generics-and-inference","Generic functions and constraints, inference sites and NoInfer, conditional and distributive types, infer, mapped types with key remapping, template literal types, the utility types worth knowing, and when a generic is over-engineering.",{"title":349,"path":350,"stem":351,"description":352},"TypeScript with Vue and Nuxt","\u002Fstudy\u002Ftypescript\u002Ftypescript-with-vue-and-nuxt","study\u002F15.typescript\u002F03.typescript-with-vue-and-nuxt","Typing props, emits, slots and models through the compiler macros, generic components, typing refs and injection, Nuxt's generated types — auto-imports, components, typed routes, typed $fetch, runtimeConfig and app.config augmentation — and where declarations must live.",{"title":354,"path":355,"stem":356,"description":357},"Modules, declarations and configuration","\u002Fstudy\u002Ftypescript\u002Fmodules-declarations-and-config","study\u002F15.typescript\u002F04.modules-declarations-and-config","The tsconfig options that matter in a Vite and Nuxt project, module resolution and verbatimModuleSyntax, project references, writing and shipping declaration files, ambient and module augmentation, Node's native type stripping, and what TypeScript 6 and 7 changed.",{"title":359,"path":360,"stem":361,"description":362},"Runtime validation and type safety","\u002Fstudy\u002Ftypescript\u002Fruntime-validation-and-type-safety","study\u002F15.typescript\u002F05.runtime-validation-and-type-safety","Types are erased, so safety comes from validating at boundaries — schemas with zod, valibot and ArkType under Standard Schema, deriving types from schemas, sharing them between Nuxt server and client, branded types, exhaustive checks, typed errors and Result types.",{"title":364,"path":365,"stem":366,"description":367},"Typing patterns and smells","\u002Fstudy\u002Ftypescript\u002Ftyping-patterns-and-smells","study\u002F15.typescript\u002F06.typing-patterns-and-smells","[object Object]",{"title":369,"path":370,"stem":371,"children":372,"description":374},"CSS, layout & accessibility","\u002Fstudy\u002Fcss-a11y","study\u002F16.css-a11y\u002Findex",[373,375,380,385,390,395],{"title":369,"path":370,"stem":371,"description":374},"Why senior frontend interviews still test CSS and accessibility, the 2026 platform baseline, and how the pages on the cascade and modern layout, CSS architecture with Tailwind v4, responsive design, WCAG 2.2 and accessible components in Vue fit together.",{"title":376,"path":377,"stem":378,"description":379},"Cascade, layout and modern CSS","\u002Fstudy\u002Fcss-a11y\u002Fcascade-layout-and-modern-css","study\u002F16.css-a11y\u002F01.cascade-layout-and-modern-css","Specificity and cascade layers, custom properties and logical properties, flexbox versus grid and subgrid, container queries, :has(), nesting and @scope, modern colour, view transitions, anchor positioning, popover and dialog, and the Baseline vocabulary for support.",{"title":381,"path":382,"stem":383,"description":384},"CSS architecture and Tailwind v4","\u002Fstudy\u002Fcss-a11y\u002Fcss-architecture-and-tailwind","study\u002F16.css-a11y\u002F02.css-architecture-and-tailwind","Ownership models for styles — scoped SFC styles, CSS Modules, utility-first with Tailwind v4's CSS-first configuration, design tokens as custom properties, theming and dark mode, how Nuxt UI composes Tailwind variants with app.config tokens, and what happened to BEM and CSS-in-JS.",{"title":386,"path":387,"stem":388,"description":389},"Responsive and adaptive design","\u002Fstudy\u002Fcss-a11y\u002Fresponsive-and-adaptive-design","study\u002F16.css-a11y\u002F03.responsive-and-adaptive-design","Mobile-first with fluid type and spacing, container queries over media queries for components, viewport units and safe areas, touch targets and pointer queries, user preference queries for motion, contrast and colour scheme, images that do not shift layout, and print.",{"title":391,"path":392,"stem":393,"description":394},"Accessibility fundamentals","\u002Fstudy\u002Fcss-a11y\u002Faccessibility-fundamentals","study\u002F16.css-a11y\u002F04.accessibility-fundamentals","WCAG 2.2 and its new criteria, the European Accessibility Act, semantic HTML first, the rules of ARIA, keyboard and focus management, forms and errors, colour and motion, screen reader testing, and the tooling that makes accessibility verifiable.",{"title":396,"path":397,"stem":398,"description":399},"Accessible components in Vue and Nuxt","\u002Fstudy\u002Fcss-a11y\u002Faccessible-components-in-vue","study\u002F16.css-a11y\u002F05.accessible-components-in-vue","Building the widgets that go wrong most — modal dialogs, comboboxes, tabs, menus, toasts, forms — with Reka UI and Nuxt UI or by hand following the ARIA Authoring Practices, plus route announcements, focus on navigation, reduced motion, and testing with role-based locators.",{"title":401,"path":402,"stem":403,"children":404,"description":406},"Browser, HTTP & networking","\u002Fstudy\u002Fweb-platform","study\u002F17.web-platform\u002Findex",[405,407,412,417,422,427],{"title":401,"path":402,"stem":403,"description":406},"The platform underneath every framework — how browsers turn bytes into pixels, how HTTP and caching work, what fetch, CORS and cookies actually do, what browser storage and service workers offer, and which web APIs a senior should know by name.",{"title":408,"path":409,"stem":410,"description":411},"How browsers render","\u002Fstudy\u002Fweb-platform\u002Fhow-browsers-render","study\u002F17.web-platform\u002F01.how-browsers-render","From bytes to pixels — parsing and the preload scanner, render-blocking CSS and script loading attributes, the style-layout-paint-composite pipeline, the frame budget, layout thrashing, the observer APIs, long tasks and INP, and where Web Workers fit.",{"title":413,"path":414,"stem":415,"description":416},"HTTP and caching","\u002Fstudy\u002Fweb-platform\u002Fhttp-and-caching","study\u002F17.web-platform\u002F02.http-and-caching","HTTP\u002F1.1 to HTTP\u002F3, methods and status codes worth knowing, and caching as the biggest lever you control — Cache-Control directives, validators and 304s, Vary, CDN behaviour, immutable hashed assets, stale-while-revalidate, resource hints, early hints and speculation rules.",{"title":418,"path":419,"stem":420,"description":421},"Fetch, CORS and cookies","\u002Fstudy\u002Fweb-platform\u002Ffetch-cors-and-cookies","study\u002F17.web-platform\u002F03.fetch-cors-and-cookies","What fetch does and does not do, credentials and modes, the same-origin policy and how CORS preflights work, why CORS protects users not servers, cross-origin isolation headers, and every cookie attribute — SameSite, Secure, HttpOnly, prefixes, partitioning — with how Nuxt reads and sets them on both sides.",{"title":423,"path":424,"stem":425,"description":426},"Storage and offline","\u002Fstudy\u002Fweb-platform\u002Fstorage-and-offline","study\u002F17.web-platform\u002F04.storage-and-offline","The browser storage options and their quotas, eviction and SSR constraints — Web Storage, IndexedDB, the Cache API, OPFS — plus service workers and their update lifecycle, PWA installability, Web Workers and cross-tab communication, and what \"offline-first\" actually commits you to.",{"title":428,"path":429,"stem":430,"description":431},"Web APIs worth knowing by name","\u002Fstudy\u002Fweb-platform\u002Fweb-apis-worth-knowing","study\u002F17.web-platform\u002F05.web-apis-worth-knowing","The platform APIs a senior frontend engineer should be able to reach for without searching — URL and encoding, Web Crypto, files and blobs, history and the Navigation API, View Transitions, Page Lifecycle and bfcache, the Performance and observer APIs, Speculation Rules, clipboard and share, Web Components and WebAssembly — with the questions each one answers.",{"title":433,"path":434,"stem":435,"children":436,"description":438},"Web security","\u002Fstudy\u002Fsecurity","study\u002F18.security\u002Findex",[437,439,444,449,454,459],{"title":433,"path":434,"stem":435,"description":438},"The threat model of a Nuxt application — where untrusted input enters, what the browser protects and what it does not, the OWASP Top 10 (2025) as vocabulary — and how the pages on XSS, CSP and headers, authentication and CSRF, server-side risks and the software supply chain fit together.",{"title":440,"path":441,"stem":442,"description":443},"XSS and output encoding","\u002Fstudy\u002Fsecurity\u002Fxss-and-output-encoding","study\u002F18.security\u002F01.xss-and-output-encoding","The three kinds of cross-site scripting, exactly what Vue escapes and what it does not, the sinks to watch — v-html, href and src schemes, style bindings, user templates, JSON in script tags, SVG uploads, postMessage — sanitisation with DOMPurify on both sides, Trusted Types, and how CSP limits the blast radius.",{"title":445,"path":446,"stem":447,"description":448},"CSP and security headers","\u002Fstudy\u002Fsecurity\u002Fcsp-and-security-headers","study\u002F18.security\u002F02.csp-and-security-headers","Content Security Policy in practice — directives, nonces versus hashes versus strict-dynamic, report-only rollout, how Nuxt's inline payload and scripts interact with it and what nuxt-security automates — plus HSTS, nosniff, Referrer-Policy, Permissions-Policy, frame-ancestors, the cross-origin isolation headers and subresource integrity.",{"title":450,"path":451,"stem":452,"description":453},"Authentication, sessions and CSRF","\u002Fstudy\u002Fsecurity\u002Fauth-sessions-and-csrf","study\u002F18.security\u002F03.auth-sessions-and-csrf","Server sessions versus stateless sealed cookies versus JWTs and where each breaks, OAuth 2.1 and OIDC with PKCE, passkeys, password hashing and login hardening, CSRF defences from SameSite to origin checks and tokens, and authorisation done on the server for every object.",{"title":455,"path":456,"stem":457,"description":458},"Server-side risks in Nitro routes","\u002Fstudy\u002Fsecurity\u002Fserver-side-risks","study\u002F18.security\u002F04.server-side-risks","Injection and parameterised queries, SSRF through user-supplied URLs and image proxies, path traversal, prototype pollution, ReDoS, open redirects, file uploads, secrets and configuration, error handling that does not leak, logging without PII, timing-safe comparisons, webhooks, and denial-of-service by unbounded input.",{"title":460,"path":461,"stem":462,"description":463},"Supply chain and dependency hygiene","\u002Fstudy\u002Fsecurity\u002Fsupply-chain-and-dependencies","study\u002F18.security\u002F05.supply-chain-and-dependencies","What the 2025 npm attacks changed, OWASP's new supply-chain category, lockfiles and frozen installs, pnpm's release-age delay and blocked install scripts, provenance and trusted publishing, update automation with cooldowns, CI with least privilege, SBOMs, and how to keep Nuxt and its ecosystem patched.",{"title":465,"path":466,"stem":467,"children":468,"description":470},"Testing strategy","\u002Fstudy\u002Ftesting","study\u002F19.testing\u002Findex",[469,471,476,481,486,491],{"title":465,"path":466,"stem":467,"description":470},"How to talk about testing as a senior — confidence per unit of cost, the testing trophy for a Nuxt app, what belongs at each level, mocking at boundaries, flake policy — and how the pages on Vitest, component tests with @nuxt\u002Ftest-utils, Playwright, API tests and CI quality gates fit together.",{"title":472,"path":473,"stem":474,"description":475},"Unit tests with Vitest","\u002Fstudy\u002Ftesting\u002Funit-tests-with-vitest","study\u002F19.testing\u002F01.unit-tests-with-vitest","Vitest 5 essentials — projects, matchers, spies and mocks, fake timers, snapshots, type tests, coverage — and how to unit-test the parts of a Nuxt app that need no DOM — utilities, composables, Pinia stores, Leitner scheduling — with MSW for network boundaries.",{"title":477,"path":478,"stem":479,"description":480},"Component tests","\u002Fstudy\u002Ftesting\u002Fcomponent-tests","study\u002F19.testing\u002F02.component-tests","Vue Test Utils versus Testing Library, the Nuxt Vitest environment with mountSuspended and renderSuspended, mocking auto-imports, components and endpoints, testing async setup and Suspense, emitted events and slots, stores with createTestingPinia, and when Vitest browser mode is worth it.",{"title":482,"path":483,"stem":484,"description":485},"End-to-end with Playwright","\u002Fstudy\u002Ftesting\u002Fe2e-with-playwright","study\u002F19.testing\u002F03.e2e-with-playwright","Playwright's model — locators, auto-waiting, web-first assertions, fixtures, tracing — applied to Nuxt through @nuxt\u002Ftest-utils\u002Fe2e and the Playwright fixture, with reusable auth state, network mocking, hydration checks, accessibility and visual assertions, sharding and a flake policy.",{"title":487,"path":488,"stem":489,"description":490},"Server and API tests","\u002Fstudy\u002Ftesting\u002Fserver-and-api-tests","study\u002F19.testing\u002F04.server-and-api-tests","Testing Nitro routes at three levels — handler logic in isolation, routes through @nuxt\u002Ftest-utils\u002Fe2e, and contracts against an OpenAPI document — with databases in tests (SQLite in memory, Testcontainers, transaction rollback), seeding and isolation, auth in tests, and validation and error-shape assertions.",{"title":492,"path":493,"stem":494,"description":495},"Quality gates and CI","\u002Fstudy\u002Ftesting\u002Fquality-gates-and-ci","study\u002F19.testing\u002F05.quality-gates-and-ci","Designing the pipeline — stage order, caching, sharding and parallelism, what blocks a merge — plus coverage policy, flake management, accessibility and performance budgets, visual regression, type and mutation tests, preview deployments, and the test-data and environment story.",{"title":497,"path":498,"stem":499,"children":500,"description":502},"Module authoring","\u002Fstudy\u002Fmodule-authoring","study\u002F2.module-authoring\u002Findex",[501,503,508,513,518,523,528,533,538,543],{"title":497,"path":498,"stem":499,"description":502},"What a Nuxt module really is, the three worlds every line of module code lives in, the three primitives everything reduces to, and why a Layers role is a module role in disguise.",{"title":504,"path":505,"stem":506,"description":507},"The mental model","\u002Fstudy\u002Fmodule-authoring\u002Fmental-model","study\u002F2.module-authoring\u002F01.mental-model","What defineNuxtModule does with your definition, the three worlds a line of module code can live in, how Nuxt orders and deduplicates modules, and when onInstall and onUpgrade fire.",{"title":509,"path":510,"stem":511,"description":512},"The kit API, grouped","\u002Fstudy\u002Fmodule-authoring\u002Fkit-api","study\u002F2.module-authoring\u002F02.kit-api","The @nuxt\u002Fkit helpers a module author should know from memory, grouped by what they do, with what each one does underneath and the source files worth reading.",{"title":514,"path":515,"stem":516,"description":517},"Crossing the boundary","\u002Fstudy\u002Fmodule-authoring\u002Foptions-to-runtime","study\u002F2.module-authoring\u002F03.options-to-runtime","The four channels that carry a module option from the build world into the browser — public and private runtime config, appConfig and generated templates — and how to choose between them.",{"title":519,"path":520,"stem":521,"description":522},"Rules of the runtime directory","\u002Fstudy\u002Fmodule-authoring\u002Fruntime-directory","study\u002F2.module-authoring\u002F04.runtime-directory","What src\u002Fruntime may and may not import, how module-builder transpiles it file by file, the .client\u002F.server suffixes, and how to make Nitro inline your server runtime so",{"title":524,"path":525,"stem":526,"description":527},"Hooks","\u002Fstudy\u002Fmodule-authoring\u002Fhooks","study\u002F2.module-authoring\u002F05.hooks","How unjs\u002Fhookable powers the three hook families, a goal-to-hook cheat sheet for module authors, and how to declare your own hooks so other modules can cooperate with yours.",{"title":529,"path":530,"stem":531,"description":532},"Templates and types","\u002Fstudy\u002Fmodule-authoring\u002Ftemplates-and-types","study\u002F2.module-authoring\u002F06.templates-and-types","Generating code into .nuxt with addTemplate, adding declarations with addTypeTemplate, regenerating only your own templates on watch, and getting the nuxt\u002Fschema augmentation right.",{"title":534,"path":535,"stem":536,"description":537},"Dependencies and composition","\u002Fstudy\u002Fmodule-authoring\u002Fdependencies-and-composition","study\u002F2.module-authoring\u002F07.dependencies-and-composition","installModule versus the declarative moduleDependencies field, detecting other modules with hasNuxtModule, choosing dependency versus peerDependency, and cooperating through hooks.",{"title":539,"path":540,"stem":541,"description":542},"Testing a module","\u002Fstudy\u002Fmodule-authoring\u002Ftesting","study\u002F2.module-authoring\u002F08.testing","The module test pyramid with @nuxt\u002Ftest-utils — runtime unit tests, fixture E2E, build-level assertions, type tests, a nightly CI matrix and the non-functional tests a toolkit needs.",{"title":544,"path":545,"stem":546,"description":547},"Building, versioning and publishing","\u002Fstudy\u002Fmodule-authoring\u002Fbuilding-and-publishing","study\u002F2.module-authoring\u002F09.building-and-publishing","What nuxt-module-build emits, the package.json fields that decide whether your module resolves, semver for modules, deprecating an option safely, and getting listed on nuxt.com\u002Fmodules.",{"title":549,"path":550,"stem":551,"children":552,"description":554},"Fullstack with Nitro","\u002Fstudy\u002Ffullstack","study\u002F20.fullstack\u002Findex",[553,555,560,565,570,575,580,585],{"title":549,"path":550,"stem":551,"description":554},"What \"fullstack Nuxt\" means in 2026 — the server directory as a real backend on Nitro, when it is enough and when a separate service is warranted — and how the pages on routes and h3, databases, auth, server caching, files, realtime and background work, API design and deployment fit together.",{"title":556,"path":557,"stem":558,"description":559},"Server routes and h3","\u002Fstudy\u002Ffullstack\u002Fserver-routes-and-h3","study\u002F20.fullstack\u002F01.server-routes-and-h3","Everything a Nitro handler can do — routing by file, params, query and body with validation, headers and status, cookies, event.context set in server middleware, plugins and hooks, lazy handlers, streaming responses, in-process $fetch, typed routes — and what changes with h3 v2 and nuxt\u002Fserver.",{"title":561,"path":562,"stem":563,"description":564},"Data layer and databases","\u002Fstudy\u002Ffullstack\u002Fdata-layer-and-databases","study\u002F20.fullstack\u002F02.data-layer-and-databases","Choosing Postgres, SQLite or a KV, Drizzle versus Prisma versus Kysely, migrations in CI, connection pooling in serverless and edge, transactions and isolation, N+1 and indexes, keyset pagination, optimistic concurrency, DTOs, and Nitro's storage layer for KV and blobs.",{"title":566,"path":567,"stem":568,"description":569},"Auth and sessions in Nuxt","\u002Fstudy\u002Ffullstack\u002Fauth-and-sessions-in-nuxt","study\u002F20.fullstack\u002F03.auth-and-sessions-in-nuxt","Implementing authentication end to end with nuxt-auth-utils — sealed sessions, password and OAuth login, passkeys, session hooks — plus authorisation as data with role and object checks, SSR cookie forwarding, multi-tenant context, logout and invalidation, and the alternatives (Better Auth, Auth.js, hosted providers).",{"title":571,"path":572,"stem":573,"description":574},"Server caching and performance","\u002Fstudy\u002Ffullstack\u002Fcaching-and-performance-on-the-server","study\u002F20.fullstack\u002F04.caching-and-performance-on-the-server","The server-side cache stack in Nuxt — defineCachedEventHandler and cachedFunction with their options, storage drivers for multi-instance deployments, route rules, CDN headers, invalidation without tags, request coalescing — and the render and query costs that caching cannot fix — sequential awaits, N+1, cold starts, payload size, streaming and observability.",{"title":576,"path":577,"stem":578,"description":579},"Files, realtime and background work","\u002Fstudy\u002Ffullstack\u002Ffiles-realtime-and-background-work","study\u002F20.fullstack\u002F05.files-realtime-and-background-work","Uploads through the server or with presigned URLs, validation and processing, serving files safely; WebSockets and server-sent events from the server's point of view and how they scale; Nitro tasks and scheduled tasks, queues, idempotency, retries and the outbox pattern; and post-response work with waitUntil.",{"title":581,"path":582,"stem":583,"description":584},"API design and integration","\u002Fstudy\u002Ffullstack\u002Fapi-design-and-integration","study\u002F20.fullstack\u002F06.api-design-and-integration","REST conventions that make an API predictable — resources, methods, status codes, a consistent error shape, pagination, filtering, versioning, idempotency keys, conditional requests — plus OpenAPI from Nitro, when tRPC, oRPC or GraphQL earn their complexity, the backend-for-frontend pattern, proxies, webhooks in and out, API keys and rate limits.",{"title":586,"path":587,"stem":588,"description":589},"Deployment and operations","\u002Fstudy\u002Ffullstack\u002Fdeployment-and-operations","study\u002F20.fullstack\u002F07.deployment-and-operations","Nitro presets and what each implies — Node in Docker, Cloudflare Workers with bindings, Vercel and Netlify, static — plus runtime configuration and secrets, health checks and graceful shutdown, structured logging with request ids, error and performance monitoring, migrations in the release, zero-downtime deploys and rollbacks, cost, and the NuxtHub shift to self-hosting.",{"title":591,"path":592,"stem":593,"children":594,"description":596},"Architecture & system design","\u002Fstudy\u002Farchitecture","study\u002F21.architecture\u002Findex",[595,597,602,607,612,617,622],{"title":591,"path":592,"stem":593,"description":596},"What senior frontend and fullstack design rounds actually assess, the shape of a good answer, and how the pages on the design method, component and design-system architecture, application structure, rendering and data architecture, worked designs and decision records fit together.",{"title":598,"path":599,"stem":600,"description":601},"The frontend system design method","\u002Fstudy\u002Farchitecture\u002Ffrontend-system-design-method","study\u002F21.architecture\u002F01.frontend-system-design-method","A repeatable structure for a 45–60 minute design round — clarifying requirements and non-functionals, scoping, drawing the architecture, defining data and API, placing state, going deep on one hard part, covering cross-cutting concerns and naming trade-offs — with time budgets, notation and the mistakes that lose points.",{"title":603,"path":604,"stem":605,"description":606},"Component architecture and design systems","\u002Fstudy\u002Farchitecture\u002Fcomponent-architecture-and-design-systems","study\u002F21.architecture\u002F02.component-architecture-and-design-systems","Layering components from tokens to pages, headless primitives plus styled wrappers, designing props and slots APIs that scale across a team, the accessibility contract, documentation, versioning and deprecation, distribution as a package or a Nuxt layer, theming for brands, governance, and build versus adopt.",{"title":608,"path":609,"stem":610,"description":611},"Application structure and boundaries","\u002Fstudy\u002Farchitecture\u002Fapplication-structure-and-boundaries","study\u002F21.architecture\u002F03.application-structure-and-boundaries","Organising a large Nuxt codebase — by type versus by feature and how Nuxt's scanning constrains that, enforced dependency direction with lint rules, the shared kernel, server services versus handlers, monorepos with pnpm workspaces and Turborepo, Nuxt layers as the unit of reuse, and when micro-frontends are justified.",{"title":613,"path":614,"stem":615,"description":616},"Rendering and data architecture","\u002Fstudy\u002Farchitecture\u002Frendering-and-data-architecture","study\u002F21.architecture\u002F04.rendering-and-data-architecture","Deciding rendering per route with a criteria table, the caching layers from browser to database, server-side aggregation versus client waterfalls, realtime and auth architecture, multi-tenant theming and i18n routing, search, edge versus region placement, resilience, observability as a design input, and migration paths.",{"title":618,"path":619,"stem":620,"description":621},"Worked designs","\u002Fstudy\u002Farchitecture\u002Fworked-designs","study\u002F21.architecture\u002F05.worked-designs","Four complete design-round answers in interview shape — an e-commerce catalogue and product page, a realtime analytics dashboard, a multi-tenant SaaS admin with a content site, and a file upload and processing pipeline — each with requirements, architecture, data and API, state placement, the hard part, cross-cutting concerns, trade-offs and what breaks at scale.",{"title":623,"path":624,"stem":625,"description":626},"Decision records and trade-offs","\u002Fstudy\u002Farchitecture\u002Fdecision-records-and-tradeoffs","study\u002F21.architecture\u002F06.decision-records-and-tradeoffs","Writing architecture decision records, running lightweight RFCs, evaluating libraries and services, build versus buy, reversible versus one-way decisions, planning migrations as strangler moves, managing technical debt with a budget, and communicating trade-offs to product and leadership.",{"title":628,"path":629,"stem":630,"children":631,"description":633},"Tooling & delivery","\u002Fstudy\u002Ftooling","study\u002F22.tooling\u002Findex",[632,634,639,644,649,654],{"title":628,"path":629,"stem":630,"description":633},"The build and delivery toolchain a senior Nuxt engineer owns — Vite and Rolldown in Nuxt, linting, formatting and type checking as CI gates, package management and monorepos, CI\u002FCD pipelines, and the developer-experience and debugging tools that make a team fast.",{"title":635,"path":636,"stem":637,"description":638},"Vite and the build","\u002Fstudy\u002Ftooling\u002Fvite-and-the-build","study\u002F22.tooling\u002F01.vite-and-the-build","How Nuxt builds with Vite 8 and Rolldown — dev server versus production, the client and server builds, Nitro's second bundling step, chunking and manual chunks, analysing bundles, environment variables at build versus runtime, source maps, build performance and the migration from Vite 7.",{"title":640,"path":641,"stem":642,"description":643},"Linting, formatting and types in CI","\u002Fstudy\u002Ftooling\u002Flinting-formatting-and-types-in-ci","study\u002F22.tooling\u002F02.linting-formatting-and-types-in-ci","ESLint 10 flat config through @nuxt\u002Feslint with stylistic rules instead of Prettier, Vue and TypeScript rule sets worth enabling, type checking with vue-tsc via nuxt typecheck and the TypeScript 7 situation, Oxlint and Biome as fast complements, editor integration, pre-commit hooks versus CI gates, and treating warnings as failures.",{"title":645,"path":646,"stem":647,"description":648},"Package management and monorepos","\u002Fstudy\u002Ftooling\u002Fpackage-management-and-monorepos","study\u002F22.tooling\u002F03.package-management-and-monorepos","pnpm as the default package manager — the content-addressable store, strict node_modules, lockfiles and frozen installs, catalogs, overrides and patches, workspaces and Turborepo task graphs, consuming Nuxt layers and internal packages, publishing with changesets and provenance, Node version management with Corepack, and supply-chain hygiene.",{"title":650,"path":651,"stem":652,"description":653},"CI\u002FCD pipelines","\u002Fstudy\u002Ftooling\u002Fci-cd-pipelines","study\u002F22.tooling\u002F04.ci-cd-pipelines","Designing a pipeline for a Nuxt app — stages and their order, caching installs and build outputs, parallel jobs and sharded tests, building once and testing the artifact, preview deployments per pull request, environment promotion, release strategies and rollbacks, secrets and OIDC, flaky-test policy, and the metrics that tell you the pipeline is healthy.",{"title":655,"path":656,"stem":657,"description":658},"Developer experience and debugging","\u002Fstudy\u002Ftooling\u002Fdeveloper-experience-and-debugging","study\u002F22.tooling\u002F05.developer-experience-and-debugging","Nuxt DevTools and what it reveals, debugging SSR and Nitro code with breakpoints, source maps and the Node inspector, HMR and dev-server troubleshooting, environment files and per-environment config, reproducible local environments, onboarding in ten minutes, scripts and generators, and a debugging method for the classic Nuxt failures.",{"title":660,"path":661,"stem":662,"children":663,"description":665},"Coding rounds","\u002Fstudy\u002Fcoding","study\u002F23.coding\u002Findex",[664,666,671,675,680,685,690],{"title":660,"path":661,"stem":662,"description":665},"What senior frontend coding interviews actually ask — utility functions, async orchestration, Vue component and composable drills, Nuxt fullstack drills, algorithms at frontend depth, take-home assignments and pairing sessions — with a method for each format and the habits that get scored.",{"title":667,"path":668,"stem":669,"description":670},"JavaScript utilities","\u002Fstudy\u002Fcoding\u002Fjavascript-utilities","study\u002F23.coding\u002F01.javascript-utilities","The utility-function drills that recur in senior frontend interviews — debounce and throttle, memoize, once, deep equal, deep clone and deep merge, groupBy and chunk, pick and omit, an event emitter, an LRU cache, retry — each with the edge cases that separate a working answer from a senior one, typed implementations and the built-ins that replace hand-written code in 2026.",{"title":672,"path":673,"stem":674,"description":367},"Async and data processing","\u002Fstudy\u002Fcoding\u002Fasync-and-data-processing","study\u002F23.coding\u002F02.async-and-data-processing",{"title":676,"path":677,"stem":678,"description":679},"Vue component drills","\u002Fstudy\u002Fcoding\u002Fvue-component-drills","study\u002F23.coding\u002F03.vue-component-drills","The component and composable builds that senior Vue interviews ask for in 30–45 minutes — a todo list with filters, an accessible autocomplete, a dialog with focus trapping, tabs, a sortable paginated table, an infinite list, a validated form — and the composables behind them (useDebounce, useLocalStorage, useIntersectionObserver, useEventListener), with the details reviewers look for.",{"title":681,"path":682,"stem":683,"description":684},"Nuxt drills","\u002Fstudy\u002Fcoding\u002Fnuxt-drills","study\u002F23.coding\u002F04.nuxt-drills","Fullstack Nuxt exercises in the shape interviewers use — a validated API route plus a page that consumes it, a protected area with session middleware, an error page, a dynamic SEO route, cached list endpoints with route rules, a plugin that provides a helper, shared state across components, and a mini layer — each with the specification to state, the solution core, and what is checked.",{"title":686,"path":687,"stem":688,"description":689},"Algorithms at frontend depth","\u002Fstudy\u002Fcoding\u002Falgorithms-at-frontend-depth","study\u002F23.coding\u002F05.algorithms-at-frontend-depth","The algorithmic knowledge a senior frontend interview actually tests — complexity reasoning, hash maps and sets, two pointers and sliding windows, stacks and queues, trees and DOM traversal, recursion versus iteration, binary search, tries for autocomplete, light dynamic programming for fuzzy matching — with JavaScript implementations, the frontend situations each one shows up in, and how to talk about them.",{"title":691,"path":692,"stem":693,"description":694},"Take-home and pairing","\u002Fstudy\u002Fcoding\u002Ftake-home-and-pairing","study\u002F23.coding\u002F06.take-home-and-pairing","How to score well on take-home assignments and pairing sessions — scoping and time-boxing, the README that explains decisions, tests that matter, commits that tell a story, avoiding over-engineering, the reviewer's rubric, code-review drills for spotting bugs in Vue and Nuxt snippets, refactoring under observation, and pairing etiquette.",{"title":696,"path":697,"stem":698,"children":699,"description":701},"Under the hood","\u002Fstudy\u002Funder-the-hood","study\u002F3.under-the-hood\u002Findex",[700,702,707,712,717,722,727,732],{"title":696,"path":697,"stem":698,"description":701},"The startup sequence, the server engine, the unjs toolbelt, auto-imports and build-time transforms — the machinery a layer and module author has to reason about rather than use.",{"title":703,"path":704,"stem":705,"description":706},"The startup sequence","\u002Fstudy\u002Funder-the-hood\u002Fstartup-sequence","study\u002F3.under-the-hood\u002F01.startup-sequence","What actually happens between typing nuxt dev and getting a URL — c12 config loading, schema resolution, the hookable instance, module order, app resolution, the Vite and Nitro builds.",{"title":708,"path":709,"stem":710,"description":711},"Nitro and h3","\u002Fstudy\u002Funder-the-hood\u002Fnitro-and-h3","study\u002F3.under-the-hood\u002F02.nitro-and-h3","The server engine underneath Nuxt — presets and .output, route rules, cached handlers, storage, per-request state, server plugins, and how a module extends all of it.",{"title":713,"path":714,"stem":715,"description":716},"The unjs toolbelt","\u002Fstudy\u002Funder-the-hood\u002Funjs-toolbelt","study\u002F3.under-the-hood\u002F03.unjs-toolbelt","The unjs packages Nuxt is assembled from, what each one does for a module or layer author, and where you actually meet them while writing a toolkit.",{"title":718,"path":719,"stem":720,"description":721},"Auto-imports and how they bite","\u002Fstudy\u002Funder-the-hood\u002Fauto-imports","study\u002F3.under-the-hood\u002F04.auto-imports","How unimport builds two separate registries and rewrites your identifiers at build time, why module runtime code must import from",{"title":723,"path":724,"stem":725,"description":726},"Vite, unplugin and build-time transforms","\u002Fstudy\u002Funder-the-hood\u002Fvite-and-transforms","study\u002F3.under-the-hood\u002F05.vite-and-transforms","The Vite plugin hooks a module author uses, how addBuildPlugin and unplugin give one implementation for every builder, source-map-safe edits with magic-string, and dev-server hygiene.",{"title":728,"path":729,"stem":730,"description":731},"Rendering modes and data","\u002Fstudy\u002Funder-the-hood\u002Frendering-and-data","study\u002F3.under-the-hood\u002F06.rendering-and-data","Universal, SPA, hybrid and static rendering; islands and lazy hydration; the real option list for useAsyncData and useFetch; the payload, plugins and unhead.",{"title":733,"path":734,"stem":735,"description":736},"Layers vs modules","\u002Fstudy\u002Funder-the-hood\u002Flayers-vs-modules","study\u002F3.under-the-hood\u002F07.layers-vs-modules","The decision rule in one sentence, why a company toolkit is almost always both, and where the deep treatment lives.",{"title":738,"path":739,"stem":740,"children":741,"description":743},"Hydration errors","\u002Fstudy\u002Fhydration","study\u002F4.hydration\u002Findex",[742,744,749,754,759],{"title":738,"path":739,"stem":740,"description":743},"What hydration is, why a mismatch costs more than a console warning, and why the author of a layer or module owns the problem for every app that consumes it.",{"title":745,"path":746,"stem":747,"description":748},"What hydration is","\u002Fstudy\u002Fhydration\u002Fwhat-hydration-is","study\u002F4.hydration\u002F1.what-hydration-is","renderToString on the server, createSSRApp().mount() walking the DOM on the client, how Nuxt ships state so both renders agree, and what Vue does when they do not.",{"title":750,"path":751,"stem":752,"description":753},"Catalogue of causes","\u002Fstudy\u002Fhydration\u002Fcatalogue-of-causes","study\u002F4.hydration\u002F2.catalogue-of-causes","The eighteen ways a Nuxt app renders differently in Node and in the browser, what each one looks like in the console, and the Nuxt-native fix for each.",{"title":755,"path":756,"stem":757,"description":758},"Diagnosing, step by step","\u002Fstudy\u002Fhydration\u002Fdiagnosing","study\u002F4.hydration\u002F3.diagnosing","A seven-step workflow from reading the warning to a production build that talks, and the E2E test that turns the manual check into a CI gate.",{"title":760,"path":761,"stem":762,"description":763},"Author responsibilities","\u002Fstudy\u002Fhydration\u002Fauthor-responsibilities","study\u002F4.hydration\u002F4.author-responsibilities","The rules a layer or module author follows so that nothing they ship can cause a mismatch in a consumer's app, and how they prove it in the playground.",{"title":765,"path":766,"stem":767,"children":768,"description":770},"Memory leaks","\u002Fstudy\u002Fmemory-leaks","study\u002F5.memory-leaks\u002Findex",[769,771,776,781,786,791],{"title":765,"path":766,"stem":767,"description":770},"Why a Nuxt server leaks where an SPA does not, what a leak actually is, why cross-request state pollution is its security cousin, and why a layer or module author owns the risk for every consuming app.",{"title":772,"path":773,"stem":774,"description":775},"Three lifetimes","\u002Fstudy\u002Fmemory-leaks\u002Fthree-lifetimes","study\u002F5.memory-leaks\u002F01.three-lifetimes","Process, request and client session — what lives in each, who owns it, and the one question that tells you where a value belongs.",{"title":777,"path":778,"stem":779,"description":780},"Server-side leaks","\u002Fstudy\u002Fmemory-leaks\u002Fserver-side-leaks","study\u002F5.memory-leaks\u002F02.server-side-leaks","The thirteen ways a Nuxt\u002FNitro server holds on to request-lifetime objects, what each one looks like in production, and the before\u002Fafter for the ones that actually happen.",{"title":782,"path":783,"stem":784,"description":785},"Client-side leaks","\u002Fstudy\u002Fmemory-leaks\u002Fclient-side-leaks","study\u002F5.memory-leaks\u002F03.client-side-leaks","The eleven ways a long-lived browser tab keeps hold of unmounted components — listeners, timers, observers, third-party instances, orphaned effects and growing global state — with the Nuxt and VueUse fixes.",{"title":787,"path":788,"stem":789,"description":790},"Detecting and measuring","\u002Fstudy\u002Fmemory-leaks\u002Fdetecting-and-measuring","study\u002F5.memory-leaks\u002F04.detecting-and-measuring","How to prove a leak instead of guessing — health-route baselines, the Chrome DevTools snapshot workflow, production-safe Node flags, the navigate-20-times client test, and a memory watermark test for CI.",{"title":792,"path":793,"stem":794,"description":795},"Patterns to adopt","\u002Fstudy\u002Fmemory-leaks\u002Fpatterns-to-adopt","study\u002F5.memory-leaks\u002F05.patterns-to-adopt","The rules a layer or module author follows so the leak catalogues become someone else's reading — lifetimes, scopes, bounded caches, cleanup contracts, and the review checklist every PR goes through.",{"title":797,"path":798,"stem":799,"children":800,"description":802},"Performance","\u002Fstudy\u002Fperformance","study\u002F6.performance\u002Findex",[801,803,808,813,818,823],{"title":797,"path":798,"stem":799,"description":802},"Where the time actually goes in a Nuxt app, the senior answer shape, and why a layer author's first performance question is what the layer costs every consuming app.",{"title":804,"path":805,"stem":806,"description":807},"How to talk about performance","\u002Fstudy\u002Fperformance\u002Fhow-to-talk-about-performance","study\u002F6.performance\u002F01.how-to-talk-about-performance","The five layers, the instrument for each, and how to structure an answer so an interviewer hears judgement rather than a list of tricks.",{"title":809,"path":810,"stem":811,"description":812},"Build and dev performance","\u002Fstudy\u002Fperformance\u002Fbuild-and-dev","study\u002F6.performance\u002F02.build-and-dev","What module setup, pre-bundling and template generation cost your teammates, how to measure build time properly, and the levers that actually move it.",{"title":814,"path":815,"stem":816,"description":817},"Server-side performance","\u002Fstudy\u002Fperformance\u002Fserver-side","study\u002F6.performance\u002F03.server-side","Waterfalls, payload size, the caching layers Nitro gives you, and the rule that keeps caching from becoming a security incident.",{"title":819,"path":820,"stem":821,"description":822},"Client-side performance","\u002Fstudy\u002Fperformance\u002Fclient-side","study\u002F6.performance\u002F04.client-side","Code splitting, lazy hydration, images and fonts, third-party scripts, and the Core Web Vitals each of them moves.",{"title":824,"path":825,"stem":826,"description":827},"The author's performance checklist","\u002Fstudy\u002Fperformance\u002Fauthor-checklist","study\u002F6.performance\u002F05.author-checklist","What a layer or module costs every consuming app, how to measure that cost, and how to keep it in CI so it cannot grow unnoticed.",{"title":829,"path":830,"stem":831,"children":832,"description":834},"Senior craft","\u002Fstudy\u002Fsenior-craft","study\u002F7.senior-craft\u002Findex",[833,835,840,845,850],{"title":829,"path":830,"stem":831,"description":834},"What changes when the thing you build is used by other teams rather than by end users - API design you cannot easily take back, release discipline, security, and review.",{"title":836,"path":837,"stem":838,"description":839},"Designing the API","\u002Fstudy\u002Fsenior-craft\u002Fdesigning-the-api","study\u002F7.senior-craft\u002F01.designing-the-api","Options, conventions, escape hatches and documentation for a module, and the equivalent public surface for a layer.",{"title":841,"path":842,"stem":843,"description":844},"Team process, security and operations","\u002Fstudy\u002Fsenior-craft\u002Fteam-process-and-security","study\u002F7.senior-craft\u002F02.team-process-and-security","Monorepo layout, release discipline, the security posture expected of someone who ships code into every app, and how support actually works.",{"title":846,"path":847,"stem":848,"description":849},"Code-review checklist","\u002Fstudy\u002Fsenior-craft\u002Fcode-review-checklist","study\u002F7.senior-craft\u002F03.code-review-checklist","The two checklists a platform team reviews against - one for modules, one for layers - and the reasoning behind each line.",{"title":851,"path":852,"stem":853,"description":854},"Rollout and breaking changes","\u002Fstudy\u002Fsenior-craft\u002Frollout-and-breaking-changes","study\u002F7.senior-craft\u002F04.rollout-and-breaking-changes","What counts as breaking for a layer and for a module, the deprecate-warn-codemod-remove sequence, and how to roll a change out to twenty apps without an incident.",{"title":856,"path":857,"stem":858,"children":859,"description":861},"The 2026 landscape","\u002Fstudy\u002Flandscape-2026","study\u002F8.landscape-2026\u002Findex",[860,862,867,872,877],{"title":856,"path":857,"stem":858,"description":861},"The version snapshot as of September 2026, why an interviewer tests currency, and how to talk about what changed without reciting release notes.",{"title":863,"path":864,"stem":865,"description":866},"What Nuxt 4.5 changed","\u002Fstudy\u002Flandscape-2026\u002Fnuxt-4-5","study\u002F8.landscape-2026\u002F01.nuxt-4-5","Vite 8 on Rolldown, the Rspack builder, experimental SSR streaming and the security releases, read from a layer and module author's point of view.",{"title":868,"path":869,"stem":870,"description":871},"The Nuxt 5 changes","\u002Fstudy\u002Flandscape-2026\u002Fnuxt-5-changes","study\u002F8.landscape-2026\u002F02.nuxt-5-changes","Every behaviour change the upgrade guide documents, each paired with what a layer or module author has to audit.",{"title":873,"path":874,"stem":875,"description":876},"Vue 3.5 and the ecosystem","\u002Fstudy\u002Flandscape-2026\u002Fvue-and-ecosystem","study\u002F8.landscape-2026\u002F03.vue-and-ecosystem","The Vue features that matter for SSR, the status of 3.6, the modules an interviewer expects you to know by name, and the CLI commands you should use without thinking.",{"title":878,"path":879,"stem":880,"description":881},"The v5 readiness plan","\u002Fstudy\u002Flandscape-2026\u002Fv5-readiness-plan","study\u002F8.landscape-2026\u002F04.v5-readiness-plan","A concrete checklist for making a module and a layer Nuxt 5 ready, and turning the findings into an interview story.",{"title":883,"path":884,"stem":885,"children":886,"description":888},"Vue 3 in depth","\u002Fstudy\u002Fvue","study\u002F9.vue\u002Findex",[887,889,894,899,904,909,914,919],{"title":883,"path":884,"stem":885,"description":888},"How senior Vue questions are asked, the mental model of the reactivity system and the component model, and how the pages in this section fit together.",{"title":890,"path":891,"stem":892,"description":893},"Reactivity system","\u002Fstudy\u002Fvue\u002Freactivity-system","study\u002F9.vue\u002F01.reactivity-system","ref, reactive, shallowRef and computed underneath, watch versus watchEffect and flush timing, effect scopes, and the mistakes that make state stop updating.",{"title":895,"path":896,"stem":897,"description":898},"Component design","\u002Fstudy\u002Fvue\u002Fcomponent-design","study\u002F9.vue\u002F02.component-design","Props, emits and defineModel, slots and their types, attribute fallthrough, provide\u002Finject, defineExpose and generic components, designed so that a team cannot misuse them.",{"title":900,"path":901,"stem":902,"description":903},"Composables","\u002Fstudy\u002Fvue\u002Fcomposables","study\u002F9.vue\u002F03.composables","The rules for writing composables that are reusable, typed, testable and SSR-safe, the conventions VueUse established, and how they differ from utils and stores.",{"title":905,"path":906,"stem":907,"description":908},"Rendering and lifecycle","\u002Fstudy\u002Fvue\u002Frendering-and-lifecycle","study\u002F9.vue\u002F04.rendering-and-lifecycle","Lifecycle order on server and client, nextTick, Suspense, Teleport, KeepAlive and Transition, async components, template compilation, keys and render functions.",{"title":910,"path":911,"stem":912,"description":913},"Patterns and anti-patterns","\u002Fstudy\u002Fvue\u002Fpatterns-and-antipatterns","study\u002F9.vue\u002F05.patterns-and-antipatterns","Renderless and headless components, compound components, controlled versus uncontrolled state, composable-first components, and the smells a senior spots in a code review.",{"title":915,"path":916,"stem":917,"description":918},"API styles and migrations","\u002Fstudy\u002Fvue\u002Fmigration-and-api-styles","study\u002F9.vue\u002F06.migration-and-api-styles","Options API versus Composition API and why the difference is architectural, the Vue 2 to 3 breaking changes worth remembering, Nuxt 3 to 4 to 5, and how a senior runs a migration.",{"title":920,"path":921,"stem":922,"description":923},"Vue 3.6 and Vapor mode","\u002Fstudy\u002Fvue\u002Fvue-3-6-vapor","study\u002F9.vue\u002F07.vue-3-6-vapor","What Vue 3.5 added, what the 3.6 release candidate changes (Vapor mode, the alien-signals reactivity core), what stays the same, and how to talk about it without overclaiming.",false,1790017262849]