# Vue Composables (Vue.js / Nuxt.js) > Creating composables, reusable logic, useState, useRoute, useRouter, custom composables patterns - 20 interview questions - Mid-Level - [Interview Questions: Vue.js / Nuxt.js](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions.md) ## 1. What is a composable in Vue 3 and Nuxt 3? **Answer** A composable is a function that encapsulates reusable logic using Vue's Composition API. Composables allow sharing state and effects between components without resorting to mixins. By convention, a composable's name always starts with the use prefix, which makes them easy to identify in the code. ## 2. What is the recommended naming convention for composables? **Answer** Composables should always start with the use prefix followed by a descriptive name in camelCase. This convention allows quickly identifying composables in the code and distinguishing them from ordinary utility functions. For example, useCounter, useFetch, or useAuth are appropriate names for composables. ## 3. Where should composables be placed in a Nuxt 3 project? **Answer** Composables should be placed in the composables directory at the root of the project. Nuxt 3 automatically imports all files from this directory, which allows using composables without needing to import them manually. This auto-import improves developer experience and reduces boilerplate code. ## 17 more questions available - What is the main advantage of useState over ref in Nuxt 3? - How to access the current route parameters in a Nuxt composable? Sign up for free: https://sharpskill.dev/en/login ## Other Vue.js / Nuxt.js interview topics - [JavaScript Fundamentals](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/javascript-fundamentals.md): 20 questions, Junior - [Modern JavaScript (ES6+)](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/es6-modern-javascript.md): 20 questions, Junior - [Vue Basics](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-basics.md): 22 questions, Junior - [Vue Components](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-components.md): 20 questions, Junior - [Vue Router](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-router.md): 18 questions, Junior - [Pinia State Management](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/pinia-state-management.md): 20 questions, Junior - [Vuex (Legacy)](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vuex-legacy.md): 15 questions, Mid-Level - [Composition API](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/composition-api.md): 24 questions, Mid-Level - [Vue Reactivity](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-reactivity.md): 20 questions, Mid-Level - [Nuxt Fundamentals](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-fundamentals.md): 22 questions, Mid-Level - [Nuxt Data Fetching](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-data-fetching.md): 20 questions, Mid-Level - [Nuxt SSR & SSG](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-ssr-ssg.md): 22 questions, Mid-Level - [Nuxt Server Routes](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-server-routes.md): 20 questions, Mid-Level - [Nuxt Modules](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-modules.md): 18 questions, Mid-Level - [Vue Forms & Validation](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-forms-validation.md): 20 questions, Mid-Level - [Nuxt State Management](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-state-management.md): 18 questions, Mid-Level - [Vue Testing](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-testing.md): 20 questions, Mid-Level - [Nuxt Deployment & CI/CD](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-deployment-cicd.md): 22 questions, Mid-Level - [Vue Performance](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-performance.md): 22 questions, Senior - [Vue Advanced Patterns](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-advanced-patterns.md): 24 questions, Senior - [TypeScript with Vue](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/typescript-vue.md): 22 questions, Senior - [Nuxt Authentication](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-auth.md): 20 questions, Senior - [SEO with Nuxt](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-seo.md): 20 questions, Senior - [Nuxt Internationalization](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-i18n.md): 18 questions, Senior - [Vue Architecture](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-architecture.md): 22 questions, Senior - [Nuxt Security](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-security.md): 20 questions, Senior - [Vue Ecosystem](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-ecosystem.md): 18 questions, Senior - [Migration Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/migration-vue2-vue3-nuxt2-nuxt3.md): 22 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-composables