# SwiftUI Advanced (iOS) > Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder - 22 preguntas de entrevista - Senior - [Preguntas de entrevista: iOS](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista.md) ## 1. ¿Qué es el protocolo Layout en SwiftUI? **Respuesta** El protocolo Layout permite crear contenedores de vistas personalizados al definir cómo se posicionan y dimensionan las subvistas. Reemplaza los enfoques manuales con GeometryReader para layouts complejos, ofreciendo una API declarativa y componible para construir disposiciones de vistas sofisticadas. ## 2. ¿Cómo implementar un layout personalizado conformando al protocolo Layout? **Respuesta** Implementar Layout requiere definir dos métodos principales: sizeThatFits, que devuelve el tamaño total del contenedor, y placeSubviews, que posiciona cada subvista usando propuestas de ubicación. Estos métodos trabajan juntos para crear un sistema de layout coherente y predecible. ## 3. ¿Cuál es la principal ventaja de usar el protocolo Layout en lugar de GeometryReader? **Respuesta** El protocolo Layout ofrece un enfoque componible y reutilizable para los layouts, mientras que GeometryReader a menudo requiere código imperativo en cada vista. Layout separa la lógica de disposición de la lógica de renderizado, mejorando la testabilidad y la mantenibilidad de los componentes. ## 19 preguntas más disponibles - ¿Cómo pasar parámetros de configuración a un layout personalizado? - ¿Cuándo usar GeometryReader en lugar del protocolo Layout? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista iOS - [Fundamentos de Swift](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swift-basics.md): 25 preguntas, Junior - [Fundamentos del lenguaje Swift](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swift-language-essentials.md): 15 preguntas, Junior - [Fundamentos de UIKit](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/uikit-fundamentals.md): 18 preguntas, Junior - [Ciclo de vida de UIViewController](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/uiviewcontroller-lifecycle.md): 20 preguntas, Junior - [UserDefaults & Keychain](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/userdefaults-keychain.md): 20 preguntas, Junior - [Ciclo de vida de la aplicación](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/app-lifecycle.md): 20 preguntas, Junior - [Auto Layout & Constraints](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/auto-layout-constraints.md): 24 preguntas, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/uitableview-uicollectionview.md): 25 preguntas, Mid-Level - [Fundamentos de SwiftUI](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swiftui-basics.md): 18 preguntas, Mid-Level - [Gestión de estado en SwiftUI](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swiftui-state-management.md): 22 preguntas, Mid-Level - [Navegación SwiftUI](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swiftui-navigation.md): 18 preguntas, Mid-Level - [Networking & URLSession](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/networking-urlsession.md): 20 preguntas, Mid-Level - [Codable y parsing JSON](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/codable-json-parsing.md): 20 preguntas, Mid-Level - [Core Data](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/core-data.md): 22 preguntas, Mid-Level - [Programación orientada a protocolos](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/protocol-oriented-programming.md): 20 preguntas, Mid-Level - [Arquitectura MVVM](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/mvvm-architecture.md): 20 preguntas, Mid-Level - [Notificaciones Push](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/push-notifications.md): 18 preguntas, Mid-Level - [Pruebas unitarias & XCTest](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/unit-testing-xctest.md): 20 preguntas, Mid-Level - [Pruebas de interfaz de usuario](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/ui-testing.md): 18 preguntas, Mid-Level - [Xcode y sistema de build](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/xcode-build-system.md): 16 preguntas, Mid-Level - [Swift Package Manager](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swift-package-manager.md): 16 preguntas, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/memory-management-arc.md): 22 preguntas, Senior - [Combine Framework](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/combine-framework.md): 24 preguntas, Senior - [Concurrency & async/await](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/concurrency-async-await.md): 26 preguntas, Senior - [iOS Design Patterns](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/ios-design-patterns.md): 24 preguntas, Senior - [Optimización de rendimiento](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad y cifrado](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/security-encryption.md): 20 preguntas, Senior - [Arquitectura de aplicaciones iOS](https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/ios-app-architecture.md): 22 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/ios/preguntas-entrevista/swiftui-advanced