# Core Data (iOS) > Core Data stack, NSManagedObject, fetch requests, relationships, migrations, performance - 22 interview questions - Mid-Level - [Interview Questions: iOS](https://sharpskill.dev/en/technologies/ios/interview-questions.md) ## 1. What is NSPersistentContainer in Core Data? **Answer** NSPersistentContainer encapsulates the entire Core Data stack including NSPersistentStoreCoordinator, NSManagedObjectContext, and NSPersistentStore. It simplifies initialization by automatically managing configurations and reduces boilerplate code compared to old manual approach. Using NSPersistentContainer is the recommended practice since iOS 10 for quick and thread-safe Core Data setup. ## 2. What is the main role of NSManagedObjectContext? **Answer** NSManagedObjectContext acts as an in-memory scratch pad between the application and persistent storage layer. It manages CRUD operations, tracks all changes with undo/redo, and coordinates saves to persistent store. A context is bound to a specific queue and must never be shared between threads. Use perform() for any thread-safe interaction. ## 3. What is an NSManagedObject? **Answer** NSManagedObject is the base class for all persistent objects in Core Data. It represents a unique instance of an entity defined in the data model with a unique objectID. NSManagedObject automatically manages properties via KVC, bidirectional relationships, and object state (inserted, updated, deleted) within the context. Subclassing NSManagedObject allows adding business logic. ## 19 more questions available - How to initialize an NSFetchRequest to retrieve entities? - Which object is responsible for communication with the storage layer? Sign up for free: https://sharpskill.dev/en/login ## Other iOS interview topics - [Swift Basics](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-basics.md): 25 questions, Junior - [Swift Language Essentials](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-language-essentials.md): 15 questions, Junior - [UIKit Fundamentals](https://sharpskill.dev/en/technologies/ios/interview-questions/uikit-fundamentals.md): 18 questions, Junior - [UIViewController Lifecycle](https://sharpskill.dev/en/technologies/ios/interview-questions/uiviewcontroller-lifecycle.md): 20 questions, Junior - [UserDefaults & Keychain](https://sharpskill.dev/en/technologies/ios/interview-questions/userdefaults-keychain.md): 20 questions, Junior - [Application Lifecycle](https://sharpskill.dev/en/technologies/ios/interview-questions/app-lifecycle.md): 20 questions, Junior - [Auto Layout & Constraints](https://sharpskill.dev/en/technologies/ios/interview-questions/auto-layout-constraints.md): 24 questions, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/en/technologies/ios/interview-questions/uitableview-uicollectionview.md): 25 questions, Mid-Level - [SwiftUI Basics](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-basics.md): 18 questions, Mid-Level - [SwiftUI State Management](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-state-management.md): 22 questions, Mid-Level - [SwiftUI Navigation](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-navigation.md): 18 questions, Mid-Level - [Networking & URLSession](https://sharpskill.dev/en/technologies/ios/interview-questions/networking-urlsession.md): 20 questions, Mid-Level - [Codable & JSON Parsing](https://sharpskill.dev/en/technologies/ios/interview-questions/codable-json-parsing.md): 20 questions, Mid-Level - [Protocol Oriented Programming](https://sharpskill.dev/en/technologies/ios/interview-questions/protocol-oriented-programming.md): 20 questions, Mid-Level - [MVVM Architecture](https://sharpskill.dev/en/technologies/ios/interview-questions/mvvm-architecture.md): 20 questions, Mid-Level - [Push Notifications](https://sharpskill.dev/en/technologies/ios/interview-questions/push-notifications.md): 18 questions, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/en/technologies/ios/interview-questions/unit-testing-xctest.md): 20 questions, Mid-Level - [UI Testing](https://sharpskill.dev/en/technologies/ios/interview-questions/ui-testing.md): 18 questions, Mid-Level - [Xcode & Build System](https://sharpskill.dev/en/technologies/ios/interview-questions/xcode-build-system.md): 16 questions, Mid-Level - [Swift Package Manager](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-package-manager.md): 16 questions, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/en/technologies/ios/interview-questions/memory-management-arc.md): 22 questions, Senior - [Combine Framework](https://sharpskill.dev/en/technologies/ios/interview-questions/combine-framework.md): 24 questions, Senior - [Concurrency & async/await](https://sharpskill.dev/en/technologies/ios/interview-questions/concurrency-async-await.md): 26 questions, Senior - [iOS Design Patterns](https://sharpskill.dev/en/technologies/ios/interview-questions/ios-design-patterns.md): 24 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/ios/interview-questions/performance-optimization.md): 22 questions, Senior - [Security & Encryption](https://sharpskill.dev/en/technologies/ios/interview-questions/security-encryption.md): 20 questions, Senior - [SwiftUI Advanced](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-advanced.md): 22 questions, Senior - [iOS Application Architecture](https://sharpskill.dev/en/technologies/ios/interview-questions/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/en/technologies/ios/interview-questions/core-data