Frameworks abstract the platform; interviews check whether you can see through the abstraction. "Why is this page slow to first paint", "why does this request fail in the browser but work in curl", "why did the user see a stale page", "where does this data survive" are platform questions with platform answers. Nuxt's rendering, caching and cookie helpers all sit on the mechanisms described here.
Cache-Control directives, validators, Vary, CDN behaviour, immutable hashed assets, resource hints and early hints (HTTP and caching).fetch, CORS and cookies are where "works locally, fails in production" lives: preflights, credentials, SameSite, HttpOnly, and the fact that CORS protects users, not servers (fetch, CORS and cookies).localStorage to IndexedDB, the Cache API, OPFS and service workers, each with quotas, eviction rules and SSR implications (storage and offline).crypto.subtle, the Navigation and View Transitions APIs, and the Speculation Rules that make navigations instant (web APIs).| Page | Question it answers |
|---|---|
| How browsers render | "What happens between the HTML arriving and the first pixel, and why is INP bad?" |
| HTTP and caching | "Design the caching for a Nuxt site" and "what does stale-while-revalidate mean?" |
| Fetch, CORS and cookies | "Why is this request blocked?" and "which cookie flags do you set?" |
| Storage and offline | "Where do you store this, and how does a service worker update?" |
| Web APIs worth knowing | "Which platform API would you use for …?" |
A request for a Nuxt page, end to end, with the platform mechanisms named:
1. DNS → TCP → TLS 1.3 (or QUIC for HTTP/3); `preconnect` hints can warm this for a second origin.
2. GET /products/42 with cookies (SameSite=Lax) and Accept-Encoding: br, zstd, gzip.
3. CDN checks its cache key (URL + Vary headers). MISS → Nitro renders; `swr` route rule → cached at the CDN for 5 minutes.
4. Response: 200, Content-Type text/html, Cache-Control: public, max-age=0, s-maxage=300, stale-while-revalidate=60, Link: preload hints (or 103 Early Hints).
5. Browser: tokenises HTML; the preload scanner fetches /_nuxt/*.js and .css (immutable, cached for a year by hash).
6. CSS blocks render; module scripts are deferred; CSSOM + DOM → style → layout → paint → composite: first paint, then LCP when the hero image lands (fetchpriority=high).
7. Hydration runs as tasks; if one exceeds 50 ms it delays the first click: INP.
8. Later navigation: NuxtLink prefetch (or Speculation Rules) fetched the next chunk; the payload comes from /_payload.json or the API; bfcache restores the page instantly on Back if nothing blocked it.
"Nuxt handles caching" is not an answer to "how does caching work". Interviewers want the headers, the cache key and the invalidation story, then how Nuxt exposes them (routeRules, defineCachedEventHandler, useCookie). Knowing the platform is what lets you debug the framework when it does not do what you expect.
/_nuxt/*.js file; explain each Cache-Control directive you see."Deep enough to debug the framework. I can walk a request from DNS to paint, name what blocks rendering and what causes a long task, and read a Performance profile against the Core Web Vitals. I know HTTP caching as headers and cache keys, not as a setting: max-age versus s-maxage, validators and 304s, Vary, immutable hashed assets, stale-while-revalidate, and how a CDN and Nuxt's route rules layer on top. I can explain a CORS preflight and a SameSite cookie rejection from the headers alone, choose between localStorage, IndexedDB and a service worker cache with their quotas and SSR constraints in mind, and I know the APIs behind the vitals, bfcache and instant navigations by name."
Nothing yet. Notes filed here show up on every page of this section.
Accessible components in Vue and Nuxt
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.
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.