# Core Data (iOS) > Core Data stack, NSManagedObject, fetch request, relasi, migrasi, performa - 22 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara.md) ## 1. Apa itu NSPersistentContainer dalam Core Data? **Jawaban** NSPersistentContainer mengenkapsulasi seluruh Core Data stack termasuk NSPersistentStoreCoordinator, NSManagedObjectContext, dan NSPersistentStore. Ini menyederhanakan inisialisasi dengan mengelola konfigurasi secara otomatis dan mengurangi kode boilerplate dibandingkan pendekatan manual lama. Menggunakan NSPersistentContainer adalah praktik yang direkomendasikan sejak iOS 10 untuk pengaturan Core Data yang cepat dan thread-safe. ## 2. Apa peran utama NSManagedObjectContext? **Jawaban** NSManagedObjectContext bertindak sebagai scratch pad in-memory antara aplikasi dan lapisan penyimpanan persisten. Ia mengelola operasi CRUD, melacak semua perubahan dengan undo/redo, dan mengoordinasikan penyimpanan ke persistent store. Sebuah context terikat pada queue tertentu dan tidak boleh dibagikan antar thread. Gunakan perform() untuk setiap interaksi thread-safe. ## 3. Apa itu NSManagedObject? **Jawaban** NSManagedObject adalah kelas dasar untuk semua objek persisten di Core Data. Ia merepresentasikan instance unik dari sebuah entity yang didefinisikan dalam model data dengan objectID unik. NSManagedObject secara otomatis mengelola properti melalui KVC, relasi dua arah, dan status objek (inserted, updated, deleted) dalam context. Membuat subclass NSManagedObject memungkinkan penambahan logika bisnis. ## 19 pertanyaan lagi tersedia - Bagaimana cara menginisialisasi NSFetchRequest untuk mengambil entity? - Objek mana yang bertanggung jawab atas komunikasi dengan lapisan penyimpanan? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara iOS lainnya - [Dasar-Dasar Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-basics.md): 25 pertanyaan, Junior - [Dasar-Dasar Bahasa Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar UIKit](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uikit-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup UIViewController](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uiviewcontroller-lifecycle.md): 20 pertanyaan, Junior - [UserDefaults & Keychain](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/userdefaults-keychain.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/app-lifecycle.md): 20 pertanyaan, Junior - [Auto Layout & Constraints](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/auto-layout-constraints.md): 24 pertanyaan, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uitableview-uicollectionview.md): 25 pertanyaan, Mid-Level - [Dasar-Dasar SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-basics.md): 18 pertanyaan, Mid-Level - [Manajemen State SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-state-management.md): 22 pertanyaan, Mid-Level - [Navigasi SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-navigation.md): 18 pertanyaan, Mid-Level - [Networking & URLSession](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/networking-urlsession.md): 20 pertanyaan, Mid-Level - [Codable & Parsing JSON](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/codable-json-parsing.md): 20 pertanyaan, Mid-Level - [Pemrograman Berorientasi Protokol](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/protocol-oriented-programming.md): 20 pertanyaan, Mid-Level - [Arsitektur MVVM](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/mvvm-architecture.md): 20 pertanyaan, Mid-Level - [Notifikasi Push](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/push-notifications.md): 18 pertanyaan, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/unit-testing-xctest.md): 20 pertanyaan, Mid-Level - [Pengujian UI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ui-testing.md): 18 pertanyaan, Mid-Level - [Xcode & Sistem Build](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/xcode-build-system.md): 16 pertanyaan, Mid-Level - [Swift Package Manager](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-package-manager.md): 16 pertanyaan, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/memory-management-arc.md): 22 pertanyaan, Senior - [Combine Framework](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/combine-framework.md): 24 pertanyaan, Senior - [Concurrency & async/await](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/concurrency-async-await.md): 26 pertanyaan, Senior - [iOS Design Patterns](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan dan Enkripsi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/security-encryption.md): 20 pertanyaan, Senior - [SwiftUI Advanced](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-advanced.md): 22 pertanyaan, Senior - [Arsitektur Aplikasi iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-app-architecture.md): 22 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/core-data