# Arquitectura Symfony (Symfony) > Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts - 24 preguntas de entrevista - Senior - [Preguntas de entrevista: Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista.md) ## 1. En la hexagonal architecture, ¿cuál es el rol principal de los ports? **Respuesta** Los ports son interfaces que definen los contratos entre el dominio de negocio y el mundo exterior. Los primary ports (o driving ports) permiten que los actores externos desencadenen acciones en el dominio, mientras que los secondary ports (o driven ports) permiten que el dominio interactúe con infraestructuras externas como bases de datos o servicios de terceros. Esta abstracción permite cambiar la implementación sin afectar al dominio de negocio. ## 2. ¿Qué es un adapter en la hexagonal architecture de Symfony? **Respuesta** Un adapter es una implementación concreta de un port que conecta el mundo exterior con el domain. Por ejemplo, un DoctrineUserRepository es un adapter que implementa el port UserRepositoryInterface. Del lado primario, un controller de Symfony es un adapter que adapta las peticiones HTTP hacia los use cases del domain. Esta separación permite probar el domain de forma independiente de la infrastructure. ## 3. En el Domain-Driven Design, ¿cuál es la característica principal de un Value Object? **Respuesta** Un Value Object se define por sus atributos y no por una identidad. Dos Value Objects con los mismos valores se consideran iguales. Son inmutables: cualquier modificación crea una nueva instancia. Por ejemplo, un objeto Email o Money son Value Objects típicos. Esta inmutabilidad garantiza la coherencia de los datos y facilita razonar sobre el código en sistemas complejos. ## 21 preguntas más disponibles - ¿Cuál es el rol de un Aggregate Root en DDD? - ¿Qué es un DTO (Data Transfer Object) y cuándo usarlo en Symfony? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Symfony - [PHP Moderno (8.1+)](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/php-modern-features.md): 20 preguntas, Junior - [Fundamentos de Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/symfony-basics.md): 25 preguntas, Junior - [Routing & Controllers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/routing-controllers.md): 20 preguntas, Junior - [Twig & Templates](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/twig-templates.md): 20 preguntas, Junior - [Fundamentos de Doctrine ORM](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-orm-basics.md): 25 preguntas, Junior - [Formularios Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/forms.md): 22 preguntas, Junior - [Validación de datos](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/validation.md): 18 preguntas, Junior - [Dependency Injection & Services](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/dependency-injection.md): 24 preguntas, Mid-Level - [Security & Authentication](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-authentication.md): 26 preguntas, Mid-Level - [Doctrine avanzado](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-advanced.md): 24 preguntas, Mid-Level - [API Platform](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/api-platform.md): 22 preguntas, Mid-Level - [Serializer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/serializer.md): 20 preguntas, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/events-subscribers.md): 20 preguntas, Mid-Level - [Console & Commands](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/console-commands.md): 18 preguntas, Mid-Level - [Messenger Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/messenger.md): 22 preguntas, Mid-Level - [HTTP Client](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Cache y Rendimiento](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/cache.md): 20 preguntas, Mid-Level - [Workflow Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/workflow.md): 18 preguntas, Mid-Level - [Testing Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Mailer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/mailer.md): 16 preguntas, Mid-Level - [Traducciones e i18n](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/translations.md): 16 preguntas, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/easyadmin.md): 18 preguntas, Mid-Level - [Rendimiento y optimización](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad avanzada](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-advanced.md): 22 preguntas, Senior - [Bundles Personalizados](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/custom-bundles.md): 20 preguntas, Senior - [Microservices con Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/microservices.md): 22 preguntas, Senior - [Real-time & WebSockets](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/real-time.md): 18 preguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/deployment-devops.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/architecture-patterns