# SwiftUI Advanced (iOS) > Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder - 22 perguntas de entrevista - Senior - [Perguntas de entrevista: iOS](https://sharpskill.dev/pt/technologies/ios/perguntas-entrevista.md) ## 1. O que é o protocolo Layout no SwiftUI? **Resposta** O protocolo Layout permite criar contêineres de visualização personalizados definindo como as subvisualizações são posicionadas e dimensionadas. Ele substitui as abordagens manuais com GeometryReader para layouts complexos, oferecendo uma API declarativa e componível para construir arranjos de visualização sofisticados. ## 2. Como implementar um layout personalizado conformando ao protocolo Layout? **Resposta** Implementar Layout requer definir dois métodos principais: sizeThatFits, que retorna o tamanho total do contêiner, e placeSubviews, que posiciona cada subview usando propostas de posicionamento. Esses métodos trabalham juntos para criar um sistema de layout coerente e previsível. ## 3. Qual é a principal vantagem de usar o protocolo Layout em vez de GeometryReader? **Resposta** O protocolo Layout oferece uma abordagem componível e reutilizável para layouts, enquanto GeometryReader frequentemente exige código imperativo em cada view. Layout separa a lógica de posicionamento da lógica de renderização, melhorando a testabilidade e a manutenibilidade dos componentes. ## Mais 19 perguntas disponiveis - Como passar parâmetros de configuração para um layout personalizado? - Quando usar GeometryReader em vez do protocolo Layout? 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 - [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 - [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/swiftui-advanced