P
prepair.app
Start interview →
EnglishУкраїнськаРусскийDeutsch
💚

Middle Vue FrontendVue interview questions

Middle · 2–4 years of experience

Vue interviews focus on the reactivity system, the Composition API, and component communication. Below are the most common questions with model answers. Middle: deeper understanding, optimization, and real-world situations.

Try it — no account needed
Preparing your question…

Topics to prepare

Reactivity: ref and reactive
Composition API vs Options API
Component lifecycle
Pinia / Vuex
Slots and props
Vue Router

6 Middle-level questions with answers

1

What is a composable and when does it beat a mixin?

Answer

A function that uses Vue's reactivity and returns state and behaviour — useUser, usePagination. It beats a mixin because the source of every value is visible at the call site: with mixins two of them can define the same name and neither file tells you. Composables also compose, which is the whole point of the name.

2

Why can destructuring a `reactive` object break it?

Answer

Because reactivity lives in the proxy, and pulling a primitive out of it copies the value away from the proxy. The template then renders a number that never updates. toRefs fixes it by converting each property into a ref that keeps the link, which is also why returning toRefs(state) from a composable is the common shape.

3

How do you manage shared state without reaching for a store?

Answer

A composable holding module-level state is a store in every meaningful way and is enough for most apps. Pinia earns its place when you need devtools, SSR-safe state, or plugins — and when several features write the same state and you want that traffic in one place. Provide and inject solves a different problem: passing down a tree without threading props.

4

What causes an unnecessary re-render, and how do you see it?

Answer

A dependency that changes more often than the output does — an object recreated in the parent's render, or a computed reading more state than it uses. Vue's devtools highlight components as they update, which turns guessing into looking. v-memo exists for the rare case where the render itself is genuinely expensive.

5

What is the difference between SSR and SSG in Nuxt terms?

Answer

SSR renders on each request, so content is current and the server does work per visitor. SSG renders at build time and serves static files, which is faster and cheaper but stale until the next build. The choice is per route rather than per app, and a marketing page and a dashboard rarely want the same one.

6

How do you test a Vue component sensibly?

Answer

Render it and assert on what a user would see, using Testing Library or Vue Test Utils. Test behaviour — clicking this shows that — rather than internal state, because internal state is what refactoring changes. Mock the network at the request layer, not the component's own methods, or the test passes while the integration breaks.

🦎

Reading answers is not enough

In a real interview you speak under pressure. Cam asks these same questions, scores every answer, and shows exactly what to fix.

Practice a Middle Vue Frontend interview →
Free · 3 interviews per month

Other levels — Vue Frontend

Junior Vue FrontendSenior Vue FrontendAll Vue Frontend questions

Other specializations

🔍Middle Manual QA🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend💎Middle Ruby on Rails🟣Middle .NET Backend Developer🔷Middle C++