# Prestazioni di Vue (Vue.js / Nuxt.js) > Virtual DOM, ottimizzazione della reattività, v-once, v-memo, lazy loading, code splitting, dimensione del bundle - 22 domande da colloquio - Senior - [Domande da colloquio: Vue.js / Nuxt.js](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio.md) ## 1. Che cos'è il Virtual DOM in Vue? **Risposta** Il Virtual DOM è una rappresentazione JavaScript leggera dell'albero DOM reale. Vue utilizza il Virtual DOM per ridurre al minimo le manipolazioni dirette del DOM, che sono costose in termini di prestazioni. Quando lo stato cambia, Vue crea un nuovo Virtual DOM, lo confronta con quello vecchio (algoritmo di diffing) e quindi applica solo le modifiche necessarie al DOM reale. Questo approccio riduce notevolmente il numero di operazioni sul DOM e migliora le prestazioni, soprattutto per applicazioni complesse con molti aggiornamenti. ## 2. Qual è la differenza principale tra ref() e shallowRef()? **Risposta** ref() crea un riferimento profondamente reattivo in cui anche tutte le proprietà annidate sono reattive, mentre shallowRef() rende reattiva solo la proprietà .value stessa. Con shallowRef(), le mutazioni profonde all'interno dell'oggetto non attivano aggiornamenti. Bisogna sostituire interamente .value per attivare la reattività. shallowRef() è utile per ottimizzare le prestazioni con grandi strutture di dati in cui la reattività profonda non è necessaria, o per integrare sistemi di stato esterni. ## 3. Qual è il ruolo della direttiva v-once? **Risposta** La direttiva v-once renderizza un elemento e i suoi figli una sola volta durante il primo render, quindi li tratta come contenuto statico per tutti i render successivi. Ciò significa che, anche se i dati cambiano, l'elemento non verrà mai aggiornato. Questa direttiva è utile per ottimizzare le prestazioni di contenuti statici che non cambiano mai dopo il montaggio iniziale, come immagini banner, loghi o testo che non richiede alcun aggiornamento dinamico. ## Altre 19 domande disponibili - Come funziona la direttiva v-memo introdotta in Vue 3.2+? - A cosa serve markRaw() in Vue? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Vue.js / Nuxt.js - [Fondamenti di JavaScript](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/javascript-fundamentals.md): 20 domande, Junior - [JavaScript moderno (ES6+)](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/es6-modern-javascript.md): 20 domande, Junior - [Fondamenti di Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-basics.md): 22 domande, Junior - [Componenti Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-components.md): 20 domande, Junior - [Vue Router](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-router.md): 18 domande, Junior - [Pinia State Management](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/pinia-state-management.md): 20 domande, Junior - [Vuex (Legacy)](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vuex-legacy.md): 15 domande, Mid-Level - [Composition API](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/composition-api.md): 24 domande, Mid-Level - [Reattività di Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-reactivity.md): 20 domande, Mid-Level - [Fondamenti di Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-fundamentals.md): 22 domande, Mid-Level - [Data Fetching in Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-data-fetching.md): 20 domande, Mid-Level - [SSR e SSG in Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-ssr-ssg.md): 22 domande, Mid-Level - [Route server Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-server-routes.md): 20 domande, Mid-Level - [Moduli Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-modules.md): 18 domande, Mid-Level - [Composables di Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-composables.md): 20 domande, Mid-Level - [Form e validazione Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-forms-validation.md): 20 domande, Mid-Level - [Gestione dello stato in Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-state-management.md): 18 domande, Mid-Level - [Testing in Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-testing.md): 20 domande, Mid-Level - [Deployment di Nuxt e CI/CD](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-deployment-cicd.md): 22 domande, Mid-Level - [Pattern avanzati di Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-advanced-patterns.md): 24 domande, Senior - [TypeScript con Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/typescript-vue.md): 22 domande, Senior - [Autenticazione Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-auth.md): 20 domande, Senior - [SEO con Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-seo.md): 20 domande, Senior - [Internazionalizzazione in Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-i18n.md): 18 domande, Senior - [Architettura Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-architecture.md): 22 domande, Senior - [Sicurezza Nuxt](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/nuxt-security.md): 20 domande, Senior - [Ecosistema Vue](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-ecosystem.md): 18 domande, Senior - [Migrazione Vue 2→3 e Nuxt 2→3](https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/migration-vue2-vue3-nuxt2-nuxt3.md): 22 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/vue-nuxt/domande-colloquio/vue-performance