# Kiến trúc Symfony (Symfony) > Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts - 24 câu hỏi phỏng vấn - Senior - [Câu hỏi phỏng vấn: Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van.md) ## 1. Trong hexagonal architecture, vai trò chính của ports là gì? **Câu trả lời** Ports là các interface định nghĩa hợp đồng giữa business domain và thế giới bên ngoài. Primary ports (hay driving ports) cho phép các tác nhân bên ngoài kích hoạt các hành động trong domain, trong khi secondary ports (hay driven ports) cho phép domain tương tác với hạ tầng bên ngoài như cơ sở dữ liệu hoặc dịch vụ bên thứ ba. Sự trừu tượng này cho phép thay đổi cách triển khai mà không ảnh hưởng đến business domain. ## 2. Adapter trong hexagonal architecture của Symfony là gì? **Câu trả lời** Adapter là một triển khai cụ thể của một port, làm cầu nối giữa thế giới bên ngoài và domain. Ví dụ, DoctrineUserRepository là một adapter triển khai port UserRepositoryInterface. Ở phía primary, một controller Symfony là một adapter chuyển đổi các request HTTP thành các use case của domain. Sự tách biệt này cho phép kiểm thử domain độc lập với infrastructure. ## 3. Trong Domain-Driven Design, đặc điểm chính của một Value Object là gì? **Câu trả lời** Một Value Object được định nghĩa bằng các thuộc tính của nó, không phải bằng một định danh. Hai Value Object có cùng giá trị được coi là bằng nhau. Chúng là bất biến: bất kỳ thay đổi nào cũng tạo ra một instance mới. Ví dụ, một đối tượng Email hoặc Money là các Value Object điển hình. Tính bất biến này đảm bảo tính nhất quán của dữ liệu và giúp suy luận về mã dễ dàng hơn trong các hệ thống phức tạp. ## Còn 21 câu hỏi nữa - Vai trò của một Aggregate Root trong DDD là gì? - DTO (Data Transfer Object) là gì và khi nào sử dụng nó trong Symfony? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Symfony khác - [PHP Hiện Đại (8.1+)](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/php-modern-features.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/symfony-basics.md): 25 câu hỏi, Junior - [Routing & Controllers](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/routing-controllers.md): 20 câu hỏi, Junior - [Twig & Templates](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/twig-templates.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Doctrine ORM](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/doctrine-orm-basics.md): 25 câu hỏi, Junior - [Biểu mẫu Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/forms.md): 22 câu hỏi, Junior - [Xác thực dữ liệu](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/validation.md): 18 câu hỏi, Junior - [Dependency Injection & Services](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/dependency-injection.md): 24 câu hỏi, Mid-Level - [Security & Authentication](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/security-authentication.md): 26 câu hỏi, Mid-Level - [Doctrine Nâng cao](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/doctrine-advanced.md): 24 câu hỏi, Mid-Level - [API Platform](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/api-platform.md): 22 câu hỏi, Mid-Level - [Serializer Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/serializer.md): 20 câu hỏi, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/events-subscribers.md): 20 câu hỏi, Mid-Level - [Console & Commands](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/console-commands.md): 18 câu hỏi, Mid-Level - [Messenger Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/messenger.md): 22 câu hỏi, Mid-Level - [HTTP Client](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/http-client.md): 18 câu hỏi, Mid-Level - [Cache & Hiệu năng](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/cache.md): 20 câu hỏi, Mid-Level - [Workflow Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/workflow.md): 18 câu hỏi, Mid-Level - [Testing Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/testing.md): 22 câu hỏi, Mid-Level - [Mailer Component](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/mailer.md): 16 câu hỏi, Mid-Level - [Bản dịch & i18n](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/translations.md): 16 câu hỏi, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/easyadmin.md): 18 câu hỏi, Mid-Level - [Hiệu năng & Tối ưu hóa](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Bảo mật nâng cao](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/security-advanced.md): 22 câu hỏi, Senior - [Custom Bundle](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/custom-bundles.md): 20 câu hỏi, Senior - [Microservices với Symfony](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/microservices.md): 22 câu hỏi, Senior - [Real-time & WebSockets](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/real-time.md): 18 câu hỏi, Senior - [Deployment & DevOps](https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/deployment-devops.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/symfony/cau-hoi-phong-van/architecture-patterns