# Events & Event Subscribers (Symfony) > EventDispatcher, event subscribers, listeners, kernel events, custom events, priorities - 20 interview questions - Mid-Level - [Interview Questions: Symfony](https://sharpskill.dev/en/technologies/symfony/interview-questions.md) ## 1. What is the main role of the EventDispatcher component in Symfony? **Answer** The EventDispatcher component implements the Observer pattern and allows decoupling different parts of an application. It centralizes event management by enabling listeners to react to dispatched events without components knowing each other directly. This promotes a modular and extensible architecture where new features can be added without modifying existing code. ## 2. What is the main difference between an Event Listener and an Event Subscriber in Symfony? **Answer** An Event Subscriber implements EventSubscriberInterface and defines listened events via the static getSubscribedEvents() method. A Listener is a class or callable configured via services.yaml or the #[AsEventListener] attribute. Subscribers are self-descriptive and more portable, while Listeners offer more flexibility in external configuration. ## 3. How to declare an Event Subscriber in Symfony with the appropriate interface? **Answer** An Event Subscriber must implement EventSubscriberInterface and define the static getSubscribedEvents() method returning an associative array. Keys are event names and values can be the method name, an array with method and priority, or an array of arrays for multiple methods on the same event. ## 17 more questions available - Which kernel event is triggered first when processing an HTTP request in Symfony? - How does the event priority system work in Symfony? 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 - [Console & Commands](https://sharpskill.dev/en/technologies/symfony/interview-questions/console-commands.md): 18 questions, Mid-Level - [Messenger Component](https://sharpskill.dev/en/technologies/symfony/interview-questions/messenger.md): 22 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/events-subscribers