# Vue のパフォーマンス (Vue.js / Nuxt.js) > Virtual DOM、リアクティビティの最適化、v-once、v-memo、lazy loading、code splitting、bundle サイズ - 22 面接問題 - Senior - [面接問題: Vue.js / Nuxt.js](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions.md) ## 1. Vue における Virtual DOM とは何ですか? **回答** Virtual DOM は、実際の DOM ツリーの軽量な JavaScript 表現です。Vue は Virtual DOM を使用して、パフォーマンス面でコストの高い直接的な DOM 操作を最小限に抑えます。状態が変化すると、Vue は新しい Virtual DOM を作成し、それを古いものと比較し(差分アルゴリズム)、その後実際の DOM に必要な変更だけを適用します。このアプローチは DOM 操作の回数を大幅に削減し、特に更新が多い複雑なアプリケーションでパフォーマンスを向上させます。 ## 2. ref() と shallowRef() の主な違いは何ですか? **回答** ref() はすべてのネストされたプロパティもリアクティブになる深いリアクティブ参照を作成しますが、shallowRef() は .value プロパティ自体だけをリアクティブにします。shallowRef() では、オブジェクト内部の深い変更は更新をトリガーしません。リアクティビティをトリガーするには .value 全体を置き換える必要があります。shallowRef() は、深いリアクティビティが不要な大きなデータ構造でパフォーマンスを最適化する場合や、外部の状態管理システムを統合する場合に役立ちます。 ## 3. v-once ディレクティブの役割は何ですか? **回答** v-once ディレクティブは、要素とその子要素を最初のレンダリング時に一度だけレンダリングし、その後のすべてのレンダリングでは静的なコンテンツとして扱います。これは、データが変化しても要素が決して更新されないことを意味します。このディレクティブは、バナー画像、ロゴ、動的な更新を必要としないテキストなど、初回マウント後に決して変化しない静的コンテンツのパフォーマンスを最適化するのに役立ちます。 ## さらに19問利用可能 - Vue 3.2+ で導入された v-memo ディレクティブはどのように動作しますか? - Vue における markRaw() の目的は何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のVue.js / Nuxt.js面接トピック - [JavaScript の基礎](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/javascript-fundamentals.md): 20問, Junior - [モダンな JavaScript (ES6+)](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/es6-modern-javascript.md): 20問, Junior - [Vue の基礎](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-basics.md): 22問, Junior - [Vue コンポーネント](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-components.md): 20問, Junior - [Vue Router](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-router.md): 18問, Junior - [Pinia State Management](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/pinia-state-management.md): 20問, Junior - [Vuex (Legacy)](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vuex-legacy.md): 15問, Mid-Level - [Composition API](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/composition-api.md): 24問, Mid-Level - [Vue のリアクティビティ](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-reactivity.md): 20問, Mid-Level - [Nuxt の基礎](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-fundamentals.md): 22問, Mid-Level - [Nuxt のデータフェッチング](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-data-fetching.md): 20問, Mid-Level - [Nuxt の SSR と SSG](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-ssr-ssg.md): 22問, Mid-Level - [Nuxt サーバールート](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-server-routes.md): 20問, Mid-Level - [Nuxt モジュール](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-modules.md): 18問, Mid-Level - [Vue のコンポーザブル](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-composables.md): 20問, Mid-Level - [Vue フォームとバリデーション](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-forms-validation.md): 20問, Mid-Level - [Nuxt の状態管理](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-state-management.md): 18問, Mid-Level - [Vue のテスト](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-testing.md): 20問, Mid-Level - [Nuxt のデプロイと CI/CD](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-deployment-cicd.md): 22問, Mid-Level - [Vue の高度なパターン](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-advanced-patterns.md): 24問, Senior - [VueでのTypeScript](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/typescript-vue.md): 22問, Senior - [Nuxt認証](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-auth.md): 20問, Senior - [Nuxt での SEO](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-seo.md): 20問, Senior - [Nuxt の国際化](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-i18n.md): 18問, Senior - [Vue アーキテクチャ](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-architecture.md): 22問, Senior - [Nuxt セキュリティ](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/nuxt-security.md): 20問, Senior - [Vue エコシステム](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-ecosystem.md): 18問, Senior - [Vue 2→3 & Nuxt 2→3 の移行](https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/migration-vue2-vue3-nuxt2-nuxt3.md): 22問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/vue-nuxt/interview-questions/vue-performance