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.

Start a free 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.

  1. Components

    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.

  2. Templates

    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.

  3. Forms

    How does v-model work?

    A good answer covers that v-model binds a field's value to data in both directions.

  4. Reactivity

    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.

  5. Templates

    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.

  6. Components

    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.

  7. Reactivity

    What is a computed property?

    A good answer covers that a computed property works out a value from other reactive data.

  8. Templates

    Why does v-for need a key?

    A good answer covers that the key lets Vue track which item is which between updates.

  9. Components

    What are lifecycle hooks in Vue?

    A good answer covers that hooks like onMounted run code at set moments in a component's life.

  10. Components

    What are slots in Vue?

    A good answer covers that a slot lets the parent pass template content into a child.

  11. Composition API

    What is a composable?

    A good answer covers that a composable is a function using the Composition API to share stateful logic.

  12. Routing

    How does Vue Router work?

    A good answer covers that routes map URL paths to components shown in a RouterView.

  13. State management

    When would you use Pinia?

    A good answer covers that Pinia stores hold state shared by many components.

  14. Reactivity

    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.

  15. Reactivity

    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.

  16. Reactivity

    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.

  17. Reactivity

    What is nextTick for?

    A good answer covers that Vue applies DOM updates later, in one batch.

  18. Components

    What are provide and inject for?

    A good answer covers that provide makes a value available to every component below it.

  19. Composition API

    What does <script setup> change?

    A good answer covers that top-level names in script setup can be used in the template directly.

  20. Forms

    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.

  21. Rendering

    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.

  22. Performance

    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.

  23. Testing

    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.

  24. TypeScript

    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.

  25. SSR and Nuxt

    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.

  26. Reactivity

    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.

  27. Performance

    How do you lazy-load parts of a Vue app?

    A good answer covers that defineAsyncComponent and route-level import() split the bundle.

  28. Reactivity

    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.

  29. Components

    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.

  30. Architecture

    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.

  31. Reactivity

    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.

  32. SSR and Nuxt

    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.

  33. State management

    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.

  34. Architecture

    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.

  35. Performance

    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.

  36. Data fetching

    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.

  37. Architecture

    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.

  38. Architecture

    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.

  39. Architecture

    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.

  40. Architecture

    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.

  • Reactivity
  • Components
  • Architecture
  • Performance
  • Templates
  • Composition API
  • State management
  • SSR and Nuxt
  • Forms
  • Routing
  • Data fetching
  • Rendering

How it works

How the mock interview runs.

  1. Concept questions that start simple and get harder.

  2. Follow-ups on every answer, so you explain the why.

  3. 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