Senior interviews include a design round: "design the frontend for an e-commerce site", "how would you structure a multi-tenant dashboard", "we have a 400-component Vue app that is slow to change, what would you do". The score is not for the boxes you draw; it is for the questions you ask, the trade-offs you name, the depth you can reach on demand, and whether the plan survives contact with a team and a deadline. This section is the method and the material.
| Page | Question it answers |
|---|---|
| The frontend system design method | "Design X in 45 minutes": the steps, the time budget, what to draw, what interviewers score |
| Component architecture and design systems | Layers of components, headless plus styled, props API design, versioning and governance |
| Application structure and boundaries | Feature folders in Nuxt, enforced boundaries, monorepos, layers versus micro-frontends |
| Rendering and data architecture | Rendering per route, caching layers, BFF, realtime, auth, tenancy, i18n, edge versus region |
| Worked designs | Four complete designs in interview shape: catalogue, dashboard, SaaS admin, upload pipeline |
| Decision records and trade-offs | ADRs, evaluating libraries, build versus buy, migrations, technical debt, saying no |
The one-page design skeleton, which you can literally draw in the first minute:
1. Requirements who / what flows / scale / devices / SEO? / a11y & i18n / offline? / compliance
2. Scope MVP vs later; what I am NOT designing
3. Architecture [Browser] ⇄ [CDN] ⇄ [Nuxt: routes by rendering mode | Nitro BFF] ⇄ [APIs / DB / 3rd parties]
4. Data & API entities, endpoints or queries, pagination, realtime, cache keys
5. UI & state routes/layouts, key components, state placement table (URL / useState / store / cache)
6. Deep dive the hard part they care about (search, feed, checkout, upload, permissions)
7. Cross-cutting perf budget, a11y, security, i18n, errors, observability, tests
8. Trade-offs what I chose, what it costs, when I would change it
The most common failure is a confident diagram for the wrong problem. Two minutes of questions about users, scale, SEO, personalisation and constraints change the design; interviewers deliberately leave the prompt vague to see whether you ask.
"I start with questions, because the prompt is deliberately vague: who the users are, the core flows, scale, whether search engines matter, how much is personalised, devices and accessibility and languages, offline or compliance needs, and the team and timeline. Then I scope an MVP and draw the high-level picture: the rendering mode per route, what runs on the server as a backend-for-frontend, where the data comes from. I define the data model and the API contract, then the component tree and a table of where every kind of state lives. I pick one or two hard parts to go deep on, cover performance, accessibility, security, i18n, errors and observability explicitly, and finish with the trade-offs I accepted and how the design would evolve. Naming the costs is the point; there is no free option."
Nothing yet. Notes filed here show up on every page of this section.
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.
The 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.