# Architecture Symfony (Symfony) > Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts - 24 questions d'entretien - Senior - [Questions d'entretien: Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien.md) ## 1. Dans l'architecture hexagonale, quel est le rôle principal des ports ? **Réponse** Les ports sont des interfaces qui définissent les contrats entre le domaine métier et le monde extérieur. Les ports primaires (ou driving ports) permettent aux acteurs externes de déclencher des actions dans le domaine, tandis que les ports secondaires (ou driven ports) permettent au domaine d'interagir avec les infrastructures externes comme les bases de données ou les services tiers. Cette abstraction permet de changer l'implémentation sans affecter le domaine métier. ## 2. Qu'est-ce qu'un adaptateur dans l'architecture hexagonale Symfony ? **Réponse** Un adaptateur est une implémentation concrète d'un port qui fait le lien entre le monde extérieur et le domaine. Par exemple, un DoctrineUserRepository est un adaptateur qui implémente le port UserRepositoryInterface. Côté primaire, un contrôleur Symfony est un adaptateur qui adapte les requêtes HTTP vers les use cases du domaine. Cette séparation permet de tester le domaine indépendamment de l'infrastructure. ## 3. Dans le Domain-Driven Design, quelle est la caractéristique principale d'un Value Object ? **Réponse** Un Value Object est défini par ses attributs et non par une identité. Deux Value Objects avec les mêmes valeurs sont considérés comme égaux. Ils sont immutables : toute modification crée une nouvelle instance. Par exemple, un objet Email ou Money sont des Value Objects typiques. Cette immutabilité garantit la cohérence des données et facilite le raisonnement sur le code dans les systèmes complexes. ## 21 questions supplémentaires disponibles - Quel est le rôle d'un Aggregate Root en DDD ? - Qu'est-ce qu'un DTO (Data Transfer Object) et quand l'utiliser dans Symfony ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Symfony - [PHP Moderne (8.1+)](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/php-modern-features.md): 20 questions, Junior - [Les bases de Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/twig-templates.md): 20 questions, Junior - [Doctrine ORM - Les bases](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-orm-basics.md): 25 questions, Junior - [Formulaires Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/forms.md): 22 questions, Junior - [Validation de données](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Security & Authentication](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-authentication.md): 26 questions, Confirmé - [Doctrine avancé](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/doctrine-advanced.md): 24 questions, Confirmé - [API Platform](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/api-platform.md): 22 questions, Confirmé - [Serializer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/serializer.md): 20 questions, Confirmé - [Events & Event Subscribers](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/events-subscribers.md): 20 questions, Confirmé - [Console & Commands](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/console-commands.md): 18 questions, Confirmé - [Messenger Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/messenger.md): 22 questions, Confirmé - [HTTP Client](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/http-client.md): 18 questions, Confirmé - [Cache & Performance](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/cache.md): 20 questions, Confirmé - [Workflow Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/workflow.md): 18 questions, Confirmé - [Testing Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/testing.md): 22 questions, Confirmé - [Mailer Component](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/mailer.md): 16 questions, Confirmé - [Translations & i18n](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/translations.md): 16 questions, Confirmé - [EasyAdmin Bundle](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/easyadmin.md): 18 questions, Confirmé - [Performance & Optimisation](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité avancée](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/security-advanced.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/custom-bundles.md): 20 questions, Senior - [Microservices avec Symfony](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/fr/technologies/symfony/questions-entretien/deployment-devops.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/symfony/questions-entretien/architecture-patterns