# Arquitetura Symfony (Symfony) > Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts - 24 perguntas de entrevista - Senior - [Perguntas de entrevista: Symfony](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista.md) ## 1. Na hexagonal architecture, qual é o papel principal dos ports? **Resposta** Os ports são interfaces que definem os contratos entre o domínio de negócio e o mundo exterior. Os primary ports (ou driving ports) permitem que atores externos disparem ações no domínio, enquanto os secondary ports (ou driven ports) permitem que o domínio interaja com infraestruturas externas como bancos de dados ou serviços de terceiros. Essa abstração permite mudar a implementação sem afetar o domínio de negócio. ## 2. O que é um adapter na hexagonal architecture do Symfony? **Resposta** Um adapter é uma implementação concreta de um port que faz a ponte entre o mundo exterior e o domain. Por exemplo, um DoctrineUserRepository é um adapter que implementa o port UserRepositoryInterface. No lado primário, um controller do Symfony é um adapter que adapta as requisições HTTP para os use cases do domain. Essa separação permite testar o domain de forma independente da infrastructure. ## 3. No Domain-Driven Design, qual é a característica principal de um Value Object? **Resposta** Um Value Object é definido por seus atributos e não por uma identidade. Dois Value Objects com os mesmos valores são considerados iguais. Eles são imutáveis: qualquer modificação cria uma nova instância. Por exemplo, um objeto Email ou Money são Value Objects típicos. Essa imutabilidade garante a consistência dos dados e facilita o raciocínio sobre o código em sistemas complexos. ## Mais 21 perguntas disponiveis - Qual é o papel de um Aggregate Root no DDD? - O que é um DTO (Data Transfer Object) e quando usá-lo no Symfony? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Symfony - [PHP Moderno (8.1+)](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/php-modern-features.md): 20 perguntas, Junior - [Fundamentos do Symfony](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/symfony-basics.md): 25 perguntas, Junior - [Routing & Controllers](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/routing-controllers.md): 20 perguntas, Junior - [Twig & Templates](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/twig-templates.md): 20 perguntas, Junior - [Fundamentos do Doctrine ORM](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/doctrine-orm-basics.md): 25 perguntas, Junior - [Formulários Symfony](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/forms.md): 22 perguntas, Junior - [Validação de dados](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/validation.md): 18 perguntas, Junior - [Dependency Injection & Services](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/dependency-injection.md): 24 perguntas, Mid-Level - [Security & Authentication](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/security-authentication.md): 26 perguntas, Mid-Level - [Doctrine avançado](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/doctrine-advanced.md): 24 perguntas, Mid-Level - [API Platform](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/api-platform.md): 22 perguntas, Mid-Level - [Serializer Component](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/serializer.md): 20 perguntas, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/events-subscribers.md): 20 perguntas, Mid-Level - [Console & Commands](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/console-commands.md): 18 perguntas, Mid-Level - [Messenger Component](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/messenger.md): 22 perguntas, Mid-Level - [HTTP Client](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/http-client.md): 18 perguntas, Mid-Level - [Cache e Desempenho](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/cache.md): 20 perguntas, Mid-Level - [Workflow Component](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/workflow.md): 18 perguntas, Mid-Level - [Testing Symfony](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/testing.md): 22 perguntas, Mid-Level - [Mailer Component](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/mailer.md): 16 perguntas, Mid-Level - [Traduções e i18n](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/translations.md): 16 perguntas, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/easyadmin.md): 18 perguntas, Mid-Level - [Desempenho e otimização](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Segurança avançada](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/security-advanced.md): 22 perguntas, Senior - [Bundles Personalizados](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/custom-bundles.md): 20 perguntas, Senior - [Microservices com Symfony](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/microservices.md): 22 perguntas, Senior - [Real-time & WebSockets](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/real-time.md): 18 perguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/deployment-devops.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/symfony/perguntas-entrevista/architecture-patterns