# Core Data (iOS) > Core Data stack, NSManagedObject, fetch requests, relationships, migrations, performance - 22 questions d'entretien - Confirmé - [Questions d'entretien: iOS](https://sharpskill.dev/fr/technologies/ios/questions-entretien.md) ## 1. Qu'est-ce que NSPersistentContainer dans Core Data ? **Réponse** NSPersistentContainer encapsule l'ensemble du stack Core Data incluant le NSPersistentStoreCoordinator, NSManagedObjectContext et NSPersistentStore. Il simplifie l'initialisation en gérant automatiquement les configurations et réduit le boilerplate de code par rapport à l'ancienne approche manuelle. Utiliser NSPersistentContainer est la pratique recommandée depuis iOS 10 pour configurer Core Data rapidement et de manière thread-safe. ## 2. Quel est le rôle principal de NSManagedObjectContext ? **Réponse** NSManagedObjectContext agit comme un tampon en mémoire (scratch pad) entre l'application et la couche de stockage persistant. Il gère les opérations CRUD, suit toutes les modifications avec undo/redo et coordonne les sauvegardes vers le persistent store. Un contexte est lié à une queue spécifique et ne doit jamais être partagé entre threads. Utiliser perform() pour toute interaction thread-safe. ## 3. Qu'est-ce qu'un NSManagedObject ? **Réponse** NSManagedObject est la classe de base pour tous les objets persistants dans Core Data. Il représente une instance unique d'une entité définie dans le modèle de données avec un objectID unique. NSManagedObject gère automatiquement les propriétés via KVC, les relations bidirectionnelles et l'état de l'objet (inserted, updated, deleted) au sein du contexte. Sous-classer NSManagedObject permet d'ajouter de la logique métier. ## 19 questions supplémentaires disponibles - Comment initialiser une NSFetchRequest pour récupérer des entités ? - Quel est l'objet responsable de la communication avec la couche de stockage ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien iOS - [Les bases de Swift](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swift-basics.md): 25 questions, Junior - [Essentiels du langage Swift](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swift-language-essentials.md): 15 questions, Junior - [Fondamentaux UIKit](https://sharpskill.dev/fr/technologies/ios/questions-entretien/uikit-fundamentals.md): 18 questions, Junior - [Cycle de vie UIViewController](https://sharpskill.dev/fr/technologies/ios/questions-entretien/uiviewcontroller-lifecycle.md): 20 questions, Junior - [UserDefaults & Keychain](https://sharpskill.dev/fr/technologies/ios/questions-entretien/userdefaults-keychain.md): 20 questions, Junior - [Cycle de vie de l'application](https://sharpskill.dev/fr/technologies/ios/questions-entretien/app-lifecycle.md): 20 questions, Junior - [Auto Layout & Constraints](https://sharpskill.dev/fr/technologies/ios/questions-entretien/auto-layout-constraints.md): 24 questions, Confirmé - [UITableView & UICollectionView](https://sharpskill.dev/fr/technologies/ios/questions-entretien/uitableview-uicollectionview.md): 25 questions, Confirmé - [Les bases de SwiftUI](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swiftui-basics.md): 18 questions, Confirmé - [Gestion d'état SwiftUI](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swiftui-state-management.md): 22 questions, Confirmé - [Navigation SwiftUI](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swiftui-navigation.md): 18 questions, Confirmé - [Networking & URLSession](https://sharpskill.dev/fr/technologies/ios/questions-entretien/networking-urlsession.md): 20 questions, Confirmé - [Codable & Parsing JSON](https://sharpskill.dev/fr/technologies/ios/questions-entretien/codable-json-parsing.md): 20 questions, Confirmé - [Programmation orientée protocoles](https://sharpskill.dev/fr/technologies/ios/questions-entretien/protocol-oriented-programming.md): 20 questions, Confirmé - [Architecture MVVM](https://sharpskill.dev/fr/technologies/ios/questions-entretien/mvvm-architecture.md): 20 questions, Confirmé - [Notifications Push](https://sharpskill.dev/fr/technologies/ios/questions-entretien/push-notifications.md): 18 questions, Confirmé - [Tests unitaires & XCTest](https://sharpskill.dev/fr/technologies/ios/questions-entretien/unit-testing-xctest.md): 20 questions, Confirmé - [Tests d'interface utilisateur](https://sharpskill.dev/fr/technologies/ios/questions-entretien/ui-testing.md): 18 questions, Confirmé - [Xcode & Système de build](https://sharpskill.dev/fr/technologies/ios/questions-entretien/xcode-build-system.md): 16 questions, Confirmé - [Swift Package Manager](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swift-package-manager.md): 16 questions, Confirmé - [Memory Management & ARC](https://sharpskill.dev/fr/technologies/ios/questions-entretien/memory-management-arc.md): 22 questions, Senior - [Combine Framework](https://sharpskill.dev/fr/technologies/ios/questions-entretien/combine-framework.md): 24 questions, Senior - [Concurrency & async/await](https://sharpskill.dev/fr/technologies/ios/questions-entretien/concurrency-async-await.md): 26 questions, Senior - [iOS Design Patterns](https://sharpskill.dev/fr/technologies/ios/questions-entretien/ios-design-patterns.md): 24 questions, Senior - [Performance Optimization](https://sharpskill.dev/fr/technologies/ios/questions-entretien/performance-optimization.md): 22 questions, Senior - [Security & Encryption](https://sharpskill.dev/fr/technologies/ios/questions-entretien/security-encryption.md): 20 questions, Senior - [SwiftUI Advanced](https://sharpskill.dev/fr/technologies/ios/questions-entretien/swiftui-advanced.md): 22 questions, Senior - [iOS Application Architecture](https://sharpskill.dev/fr/technologies/ios/questions-entretien/ios-app-architecture.md): 22 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/ios/questions-entretien/core-data