# Composition API (Vue.js / Nuxt.js) > Setup function, ref, reactive, computed, watch, lifecycle hooks, composables, script setup - 24 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: Vue.js / Nuxt.js](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista.md) ## 1. O que é a Composition API no Vue 3? **Resposta** A Composition API é uma nova forma de organizar a lógica dos componentes Vue usando funções de composição em vez das opções (data, methods, computed). Ela permite agrupar a lógica por funcionalidade em vez de por tipo de opção, facilitando a reutilização do código por meio de composables. Também oferece melhor suporte a TypeScript e uma melhor organização para componentes complexos. ## 2. Qual é a função principal usada na Composition API para definir a lógica de um componente? **Resposta** A função setup() é o ponto de entrada da Composition API. Ela é executada antes da criação do componente, até mesmo antes de created(). Recebe as props e o contexto como argumentos e deve retornar um objeto contendo os dados e funções a serem expostos ao template. É em setup() que usamos ref, reactive, computed, watch e os lifecycle hooks da Composition API. ## 3. Qual é a principal diferença entre ref() e reactive()? **Resposta** ref() cria uma referência reativa para um valor primitivo ou um objeto, acessível via .value no script (mas auto-unwrapped nos templates). reactive() cria um proxy reativo apenas para objetos e arrays, sem exigir .value, mas perde a reatividade se for desestruturado. ref() é mais versátil para primitivos, reactive() é mais natural para objetos complexos, mas exige toRef/toRefs para a desestruturação. ## Mais 21 perguntas disponiveis - Como acessar o valor de uma ref na função setup()? - Como criar uma propriedade computed na Composition API? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Vue.js / Nuxt.js - [Fundamentos de JavaScript](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/javascript-fundamentals.md): 20 perguntas, Junior - [JavaScript moderno (ES6+)](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/es6-modern-javascript.md): 20 perguntas, Junior - [Fundamentos do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-basics.md): 22 perguntas, Junior - [Componentes Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-components.md): 20 perguntas, Junior - [Vue Router](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-router.md): 18 perguntas, Junior - [Pinia State Management](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/pinia-state-management.md): 20 perguntas, Junior - [Vuex (Legacy)](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vuex-legacy.md): 15 perguntas, Mid-Level - [Reatividade do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-reactivity.md): 20 perguntas, Mid-Level - [Fundamentos do Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-fundamentals.md): 22 perguntas, Mid-Level - [Data Fetching no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-data-fetching.md): 20 perguntas, Mid-Level - [SSR e SSG no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-ssr-ssg.md): 22 perguntas, Mid-Level - [Rotas de servidor Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-server-routes.md): 20 perguntas, Mid-Level - [Módulos Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-modules.md): 18 perguntas, Mid-Level - [Composables do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-composables.md): 20 perguntas, Mid-Level - [Formulários e validação Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-forms-validation.md): 20 perguntas, Mid-Level - [Gerenciamento de estado no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-state-management.md): 18 perguntas, Mid-Level - [Testes no Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-testing.md): 20 perguntas, Mid-Level - [Deploy do Nuxt e CI/CD](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-deployment-cicd.md): 22 perguntas, Mid-Level - [Desempenho do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-performance.md): 22 perguntas, Senior - [Padrões avançados do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-advanced-patterns.md): 24 perguntas, Senior - [TypeScript com Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/typescript-vue.md): 22 perguntas, Senior - [Autenticação Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-auth.md): 20 perguntas, Senior - [SEO com Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-seo.md): 20 perguntas, Senior - [Internacionalização no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-i18n.md): 18 perguntas, Senior - [Arquitetura Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-architecture.md): 22 perguntas, Senior - [Segurança no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-security.md): 20 perguntas, Senior - [Ecossistema Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-ecosystem.md): 18 perguntas, Senior - [Migração Vue 2→3 e Nuxt 2→3](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/migration-vue2-vue3-nuxt2-nuxt3.md): 22 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/composition-api