# Programação orientada a protocolos (iOS) > Protocols, extensions, default implementations, PATs, protocol composition, type erasure - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: iOS](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista.md) ## 1. O que é um protocol no Swift? **Resposta** Um protocol define um conjunto de propriedades e métodos que um tipo deve implementar. Ele atua como um contrato entre o protocol e os tipos conformes. Os protocols permitem definir interfaces sem impor hierarquias de herança, favorecendo a composição e a reutilização do código. ## 2. O que é a conformidade com um protocol? **Resposta** A conformidade significa que um tipo (classe, struct ou enum) implementa todas as propriedades e métodos exigidos por um protocol. Um tipo pode se conformar a vários protocols simultaneamente. A conformidade estabelece uma relação de tipo independente da herança. ## 3. O que é uma protocol extension? **Resposta** Uma protocol extension permite fornecer implementações padrão para os métodos do protocol. Todos os tipos conformes recebem essas implementações automaticamente, sem precisar redefini-las. Isso favorece a reutilização de código e reduz o boilerplate de forma significativa. ## Mais 17 perguntas disponiveis - Como definir um protocol com uma propriedade obrigatória? - O que é a herança de protocols? 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 - [Core Data](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista/core-data.md): 22 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/protocol-oriented-programming