# Messenger Component (Symfony) > Message bus, handlers, transports, async messages, middleware, retries, failed messages - 22 interview questions - Mid-Level - [Interview Questions: Symfony](https://sharpskill.dev/en/technologies/symfony/interview-questions.md) ## 1. What is the main purpose of the Messenger component in Symfony? **Answer** The Messenger component allows dispatching messages to handlers, either synchronously or asynchronously via transports like RabbitMQ, Redis, or Doctrine. It facilitates building decoupled architectures by separating message emission from processing, improving application scalability and maintainability. ## 2. How to define a message in Symfony Messenger? **Answer** A message in Symfony Messenger is simply a plain PHP class (POPO) containing the data needed for processing. No interface or parent class is required. The convention is to name messages with descriptive suffixes like Notification or Command, and make them immutable with readonly properties to ensure data integrity. ## 3. How to create a handler to process a message in Symfony Messenger? **Answer** A handler is a class with an __invoke() method that receives the message as a parameter. The #[AsMessageHandler] attribute automatically registers the handler. Symfony detects the message type to handle via the parameter type-hint. This approach uses autowiring and avoids manual configuration in services.yaml. ## 19 more questions available - Which interface should be injected to dispatch a message in Symfony Messenger? - What is an Envelope in the context of Symfony Messenger? Sign up for free: https://sharpskill.dev/en/login ## Other Symfony interview topics - [Modern PHP (8.1+)](https://sharpskill.dev/en/technologies/symfony/interview-questions/php-modern-features.md): 20 questions, Junior - [Symfony Basics](https://sharpskill.dev/en/technologies/symfony/interview-questions/symfony-basics.md): 25 questions, Junior - [Routing & Controllers](https://sharpskill.dev/en/technologies/symfony/interview-questions/routing-controllers.md): 20 questions, Junior - [Twig & Templates](https://sharpskill.dev/en/technologies/symfony/interview-questions/twig-templates.md): 20 questions, Junior - [Doctrine ORM Basics](https://sharpskill.dev/en/technologies/symfony/interview-questions/doctrine-orm-basics.md): 25 questions, Junior - [Symfony Forms](https://sharpskill.dev/en/technologies/symfony/interview-questions/forms.md): 22 questions, Junior - [Data Validation](https://sharpskill.dev/en/technologies/symfony/interview-questions/validation.md): 18 questions, Junior - [Dependency Injection & Services](https://sharpskill.dev/en/technologies/symfony/interview-questions/dependency-injection.md): 24 questions, Mid-Level - [Security & Authentication](https://sharpskill.dev/en/technologies/symfony/interview-questions/security-authentication.md): 26 questions, Mid-Level - [Doctrine Advanced](https://sharpskill.dev/en/technologies/symfony/interview-questions/doctrine-advanced.md): 24 questions, Mid-Level - [API Platform](https://sharpskill.dev/en/technologies/symfony/interview-questions/api-platform.md): 22 questions, Mid-Level - [Serializer Component](https://sharpskill.dev/en/technologies/symfony/interview-questions/serializer.md): 20 questions, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/en/technologies/symfony/interview-questions/events-subscribers.md): 20 questions, Mid-Level - [Console & Commands](https://sharpskill.dev/en/technologies/symfony/interview-questions/console-commands.md): 18 questions, Mid-Level - [HTTP Client](https://sharpskill.dev/en/technologies/symfony/interview-questions/http-client.md): 18 questions, Mid-Level - [Cache & Performance](https://sharpskill.dev/en/technologies/symfony/interview-questions/cache.md): 20 questions, Mid-Level - [Workflow Component](https://sharpskill.dev/en/technologies/symfony/interview-questions/workflow.md): 18 questions, Mid-Level - [Testing Symfony](https://sharpskill.dev/en/technologies/symfony/interview-questions/testing.md): 22 questions, Mid-Level - [Mailer Component](https://sharpskill.dev/en/technologies/symfony/interview-questions/mailer.md): 16 questions, Mid-Level - [Translations & i18n](https://sharpskill.dev/en/technologies/symfony/interview-questions/translations.md): 16 questions, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/en/technologies/symfony/interview-questions/easyadmin.md): 18 questions, Mid-Level - [Symfony Architecture](https://sharpskill.dev/en/technologies/symfony/interview-questions/architecture-patterns.md): 24 questions, Senior - [Performance & Optimization](https://sharpskill.dev/en/technologies/symfony/interview-questions/performance-optimization.md): 22 questions, Senior - [Security Advanced](https://sharpskill.dev/en/technologies/symfony/interview-questions/security-advanced.md): 22 questions, Senior - [Custom Bundles](https://sharpskill.dev/en/technologies/symfony/interview-questions/custom-bundles.md): 20 questions, Senior - [Microservices with Symfony](https://sharpskill.dev/en/technologies/symfony/interview-questions/microservices.md): 22 questions, Senior - [Real-time & WebSockets](https://sharpskill.dev/en/technologies/symfony/interview-questions/real-time.md): 18 questions, Senior - [Deployment & DevOps](https://sharpskill.dev/en/technologies/symfony/interview-questions/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/en/technologies/symfony/interview-questions/messenger