# Android MVVM Architecture (Android) > สถาปัตยกรรม MVVM ด้วย Jetpack: ViewModel, LiveData, Data Binding, Separation of Concerns, Unidirectional Data Flow - 18 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Android](https://sharpskill.dev/th/technologies/android/interview-questions.md) ## 1. ViewModel ใน Android คืออะไร? **คำตอบ** ViewModel คือคอมโพเนนต์ Jetpack ที่จัดเก็บและจัดการข้อมูลที่เกี่ยวข้องกับ UI ในแบบ lifecycle-aware มันอยู่รอดจากการเปลี่ยนแปลงการกำหนดค่า (การหมุนหน้าจอ) และช่วยแยกตรรกะทางธุรกิจออกจาก UI ## 2. วิธีสร้าง instance ViewModel ใน Activity ทำอย่างไร? **คำตอบ** ใช้ ViewModelProvider เพื่อสร้างหรือดึง instance ViewModel ViewModelProvider(this).get(MyViewModel.class) รับประกันว่าคุณจะได้รับ instance เดิมแม้หลังจากหมุนหน้าจอ ## 3. ทำไมจึงไม่ควรส่ง Context ของ Activity หรือ View เข้าไปใน ViewModel? **คำตอบ** ViewModel อยู่รอดจากการเปลี่ยนแปลงการกำหนดค่าและมีชีวิตอยู่นานกว่า Activity การเก็บการอ้างอิง Activity Context จะทำให้เกิดการรั่วไหลของหน่วยความจำ ใช้ AndroidViewModel พร้อม Application Context หากจำเป็น ## มีอีก 15 คำถาม - LiveData คืออะไร? - ความแตกต่างระหว่าง LiveData และ MutableLiveData คืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Android อื่นๆ - [พื้นฐาน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-fundamentals.md): 24 คำถาม, Junior - [UI และทรัพยากร Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-ui-and-resources.md): 30 คำถาม, Junior - [Lifecycle ของ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-lifecycle.md): 30 คำถาม, Junior - [การนำทาง Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-navigation.md): 26 คำถาม, Junior - [การจัดการข้อมูล Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-data-management.md): 29 คำถาม, Junior - [Networking Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking.md): 29 คำถาม, Junior - [การทดสอบ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-testing.md): 28 คำถาม, Junior - [Android Gradle](https://sharpskill.dev/th/technologies/android/interview-questions/android-gradle.md): 26 คำถาม, Junior - [พื้นฐานภาษา Kotlin สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-language-essentials.md): 24 คำถาม, Junior - [Room Database](https://sharpskill.dev/th/technologies/android/interview-questions/android-room-database.md): 25 คำถาม, Mid-Level - [การทำงานเบื้องหลัง](https://sharpskill.dev/th/technologies/android/interview-questions/android-background-work.md): 18 คำถาม, Mid-Level - [Jetpack Compose](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose.md): 28 คำถาม, Mid-Level - [สิทธิ์และฟีเจอร์ของอุปกรณ์](https://sharpskill.dev/th/technologies/android/interview-questions/android-permissions-and-device.md): 21 คำถาม, Mid-Level - [Firebase สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-firebase.md): 23 คำถาม, Mid-Level - [เครือข่าย Android ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking-advanced.md): 13 คำถาม, Mid-Level - [Collections และ Operators ใน Kotlin](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-collections-operators.md): 20 คำถาม, Mid-Level - [Kotlin Coroutines และ Flow](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-coroutines-flow.md): 20 คำถาม, Mid-Level - [การฉีด Dependency ใน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-dependency-injection.md): 15 คำถาม, Mid-Level - [Android MVI Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-mvi-architecture.md): 17 คำถาม, Mid-Level - [Android Clean Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-clean-architecture.md): 21 คำถาม, Senior - [Android Compose ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose-advanced.md): 17 คำถาม, Senior - [Android Performance and Monitoring](https://sharpskill.dev/th/technologies/android/interview-questions/android-performance-monitoring.md): 13 คำถาม, Senior - [Android Security and Privacy](https://sharpskill.dev/th/technologies/android/interview-questions/android-security-privacy.md): 18 คำถาม, Senior - [Android CI/CD and Release](https://sharpskill.dev/th/technologies/android/interview-questions/android-cicd-release.md): 15 คำถาม, Senior - [Android UX and Form Factors](https://sharpskill.dev/th/technologies/android/interview-questions/android-ux-form-factors.md): 18 คำถาม, Senior - [Android Testing Advanced](https://sharpskill.dev/th/technologies/android/interview-questions/android-testing-advanced.md): 18 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/android/interview-questions/android-mvvm-architecture