Vue Developer track
Vue.js interview questions and answers
Vue interviews check how reactivity works, how you build with the Composition API and how components share state. Then you write or fix code. Practice both in one mock interview.
Questions
Interview questions and answers.
Real questions from this track, from easier to harder, with what a good answer covers. In the mock interview, each one comes with follow-ups based on what you say.
What is a single-file component in Vue?
A good answer covers that a .vue file holds the template, script and styles of one component.
What are directives like v-if, v-for and v-bind?
A good answer covers that directives are special attributes that add behavior to the template.
How does v-model work?
A good answer covers that v-model binds a field's value to data in both directions.
What does ref do in the Composition API?
A good answer covers that ref wraps a value so Vue can track when it is read and changed.
What is the difference between v-if and v-show?
A good answer covers that v-if removes the element from the page when the condition is false.
How do a parent and a child component talk to each other in Vue?
A good answer covers that the parent passes data down with props.
What is a computed property?
A good answer covers that a computed property works out a value from other reactive data.
Why does v-for need a key?
A good answer covers that the key lets Vue track which item is which between updates.
What are lifecycle hooks in Vue?
A good answer covers that hooks like onMounted run code at set moments in a component's life.
What are slots in Vue?
A good answer covers that a slot lets the parent pass template content into a child.
What is a composable?
A good answer covers that a composable is a function using the Composition API to share stateful logic.
How does Vue Router work?
A good answer covers that routes map URL paths to components shown in a RouterView.
When would you use Pinia?
A good answer covers that Pinia stores hold state shared by many components.
How does Vue know when to update the page?
A good answer covers that Vue 3 wraps state in proxies that record which effects read each property.
When do you use ref, and when do you use reactive?
A good answer covers that ref works for any value and is reached through .value.
What is the difference between computed, watch and watchEffect?
A good answer covers that computed is for working out values while watch is for side effects when something changes.
What is nextTick for?
A good answer covers that Vue applies DOM updates later, in one batch.
What are provide and inject for?
A good answer covers that provide makes a value available to every component below it.
What does <script setup> change?
A good answer covers that top-level names in script setup can be used in the template directly.
How would you build a form with validation in Vue?
A good answer covers that each field is bound with v-model to reactive state.
How does Vue update the DOM, and how does its compiler help?
A good answer covers that Vue renders a virtual DOM and patches only what changed.
A Vue page is slow. Where do you look?
A good answer covers that Vue Devtools and the browser profiler show which components re-render.
How do you test Vue components?
A good answer covers that Vue Test Utils or Testing Library mount the component and act like a user.
How do you type props and events in Vue with TypeScript?
A good answer covers that defineProps and defineEmits take type arguments in script setup.
What does Nuxt add on top of Vue?
A good answer covers that Nuxt renders pages on the server and hydrates them in the browser.
What does deep reactivity cost, and what are shallowRef and markRaw for?
A good answer covers that ref and reactive make nested objects reactive all the way down.
How do you lazy-load parts of a Vue app?
A good answer covers that defineAsyncComponent and route-level import() split the bundle.
How do you avoid stale results in a watcher that fetches data?
A good answer covers that a quick change can start a new request before the old one returns.
How do you design the API of a reusable Vue component?
A good answer covers that props, events and slots are its public API and should stay small.
How would you structure a large Vue codebase for several teams?
A good answer covers that code is grouped by feature, with its components, composables and store.
Explain how Vue's reactivity tracks dependencies under the hood.
A good answer covers that reading a reactive property inside an effect records that effect as a subscriber.
What causes hydration mismatches in Nuxt, and how do you fix them?
A good answer covers that the HTML from the server must match the first render in the browser.
How do you split server data from client state in a Vue app?
A good answer covers that server data is a cache that needs fetching, refreshing and invalidating.
How would you move a large app from Vue 2 to Vue 3?
A good answer covers that the migration build shows what is deprecated while the app keeps running.
How would you keep a Vue table with 10,000 rows fast?
A good answer covers that only the visible rows should be rendered, with virtual scrolling.
How would you avoid chains of requests in a large Vue app?
A good answer covers that a route's data requests are started together, at the route or page level.
How would you build a component library used by many Vue apps?
A good answer covers that headless components hold behavior and accessibility while styles come from tokens.
How would you choose between a single-page app, server rendering and static pages for a Vue product?
A good answer covers that each route's needs for search, freshness and interactivity decide its mode.
How would you let several teams add features to one Vue app without getting in each other's way?
A good answer covers that features register through a plugin or module API with their own routes and stores.
How would you find errors and slow pages in a Vue app in production?
A good answer covers that app.config.errorHandler and onErrorCaptured report errors with the component they came from.
What it covers
Topics.
How it works
How the mock interview runs.
Concept questions that start simple and get harder.
Follow-ups on every answer, so you explain the why.
One coding challenge in a live editor.
Your report scores technical correctness, problem-solving & tradeoffs, communication clarity, with quotes from your answers as proof.
Questions.
What Vue topics come up most?
Expect questions on how Vue tracks changes with ref and reactive. You may also get computed values and watchers, the Composition API, props and events. Sharing state between components comes up too.
How does an Orin mock interview work?
You talk with Orin by voice, like a video call. It asks questions, listens and asks follow-ups based on what you said. Coding happens in a live editor and design on a live whiteboard. After the interview you get a report with quotes from your answers, what cost you points and what to practice next.
Is it free?
Your first interview is free: a 15-minute round with a short coding exercise. No card needed.
Practice the real thing.
A vue developer mock interview by voice, with follow-ups and feedback you can use. First interview free.
Start free interview