# Core Data (iOS) > Core Data stack, NSManagedObject, fetch requests, relacionamentos, migrações, desempenho - 22 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: iOS](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista.md) ## 1. O que é NSPersistentContainer no Core Data? **Resposta** NSPersistentContainer encapsula todo o stack do Core Data incluindo NSPersistentStoreCoordinator, NSManagedObjectContext e NSPersistentStore. Ele simplifica a inicialização gerenciando automaticamente as configurações e reduz o código boilerplate em comparação com a antiga abordagem manual. Usar NSPersistentContainer é a prática recomendada desde o iOS 10 para configurar o Core Data de forma rápida e thread-safe. ## 2. Qual é o papel principal do NSManagedObjectContext? **Resposta** NSManagedObjectContext atua como um buffer em memória (scratch pad) entre a aplicação e a camada de armazenamento persistente. Ele gerencia as operações CRUD, rastreia todas as mudanças com undo/redo e coordena os saves para o persistent store. Um context está vinculado a uma fila específica e nunca deve ser compartilhado entre threads. Use perform() para qualquer interação thread-safe. ## 3. O que é um NSManagedObject? **Resposta** NSManagedObject é a classe base para todos os objetos persistentes no Core Data. Ele representa uma instância única de uma entidade definida no modelo de dados com um objectID único. NSManagedObject gerencia automaticamente as propriedades via KVC, os relacionamentos bidirecionais e o estado do objeto (inserted, updated, deleted) dentro do context. Criar subclasses de NSManagedObject permite adicionar lógica de negócio. ## Mais 19 perguntas disponiveis - Como inicializar uma NSFetchRequest para recuperar entidades? - Qual objeto é responsável pela comunicação com a camada de armazenamento? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista iOS - [Fundamentos de Swift](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swift-basics.md): 25 perguntas, Junior - [Fundamentos da linguagem Swift](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swift-language-essentials.md): 15 perguntas, Junior - [Fundamentos do UIKit](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/uikit-fundamentals.md): 18 perguntas, Junior - [Ciclo de vida do UIViewController](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/uiviewcontroller-lifecycle.md): 20 perguntas, Junior - [UserDefaults & Keychain](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/userdefaults-keychain.md): 20 perguntas, Junior - [Ciclo de vida do aplicativo](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/app-lifecycle.md): 20 perguntas, Junior - [Auto Layout & Constraints](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/auto-layout-constraints.md): 24 perguntas, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/uitableview-uicollectionview.md): 25 perguntas, Mid-Level - [Fundamentos de SwiftUI](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swiftui-basics.md): 18 perguntas, Mid-Level - [Gerenciamento de estado no SwiftUI](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swiftui-state-management.md): 22 perguntas, Mid-Level - [Navegação SwiftUI](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swiftui-navigation.md): 18 perguntas, Mid-Level - [Networking & URLSession](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/networking-urlsession.md): 20 perguntas, Mid-Level - [Codable e parsing JSON](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/codable-json-parsing.md): 20 perguntas, Mid-Level - [Programação orientada a protocolos](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/protocol-oriented-programming.md): 20 perguntas, Mid-Level - [Arquitetura MVVM](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/mvvm-architecture.md): 20 perguntas, Mid-Level - [Notificações Push](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/push-notifications.md): 18 perguntas, Mid-Level - [Testes unitários & XCTest](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/unit-testing-xctest.md): 20 perguntas, Mid-Level - [Testes de interface de usuário](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/ui-testing.md): 18 perguntas, Mid-Level - [Xcode e sistema de build](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/xcode-build-system.md): 16 perguntas, Mid-Level - [Swift Package Manager](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swift-package-manager.md): 16 perguntas, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/memory-management-arc.md): 22 perguntas, Senior - [Combine Framework](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/combine-framework.md): 24 perguntas, Senior - [Concurrency & async/await](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/concurrency-async-await.md): 26 perguntas, Senior - [iOS Design Patterns](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/ios-design-patterns.md): 24 perguntas, Senior - [Otimização de desempenho](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Segurança e criptografia](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/security-encryption.md): 20 perguntas, Senior - [SwiftUI Advanced](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/swiftui-advanced.md): 22 perguntas, Senior - [Arquitetura de aplicativos iOS](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/ios-app-architecture.md): 22 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/core-data