# Bundles Personalizados (Symfony) > Creación de bundles, configuración de extensiones, compiler passes, bundles reutilizables, mejores prácticas - 20 preguntas de entrevista - Senior - [Preguntas de entrevista: Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista.md) ## 1. ¿Qué clase debe extender la clase principal de un bundle de Symfony? **Respuesta** La clase principal de un bundle Symfony debe extender AbstractBundle (Symfony 6.1+) o Bundle. AbstractBundle es recomendable porque simplifica la configuración y permite definir la configuración directamente en la clase del bundle a través del método configure(). Bundle sigue disponible por retrocompatibilidad, pero AbstractBundle ofrece una API más moderna. ## 2. ¿Cuál es el rol de la clase Extension en un bundle de Symfony? **Respuesta** La clase Extension (que hereda de ConfigurableExtension o Extension) se encarga de cargar la configuración del bundle y registrar los servicios en el contenedor. Lee los archivos de configuración del bundle, procesa los parámetros de la aplicación y configura los servicios a través del ContainerBuilder. Implementa el método load(), que se invoca durante la compilación del contenedor. ## 3. ¿Cuál es la convención de nomenclatura para la clase principal de un bundle llamado AcmePaymentBundle? **Respuesta** Por convención de Symfony, la clase principal del bundle debe tener el mismo nombre que el bundle. Para AcmePaymentBundle, la clase principal será AcmePaymentBundle y deberá estar en el namespace correspondiente, generalmente Acme\PaymentBundle. Por lo tanto, el archivo será AcmePaymentBundle.php en la carpeta src/ del bundle. ## 17 preguntas más disponibles - ¿Qué es un Compiler Pass en Symfony y cuándo se debe usar? - ¿Cómo definir una configuración semántica para un bundle con validación de parámetros? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Symfony - [PHP Moderno (8.1+)](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/php-modern-features.md): 20 preguntas, Junior - [Fundamentos de Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/symfony-basics.md): 25 preguntas, Junior - [Routing & Controllers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/routing-controllers.md): 20 preguntas, Junior - [Twig & Templates](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/twig-templates.md): 20 preguntas, Junior - [Fundamentos de Doctrine ORM](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-orm-basics.md): 25 preguntas, Junior - [Formularios Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/forms.md): 22 preguntas, Junior - [Validación de datos](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/validation.md): 18 preguntas, Junior - [Dependency Injection & Services](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/dependency-injection.md): 24 preguntas, Mid-Level - [Security & Authentication](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-authentication.md): 26 preguntas, Mid-Level - [Doctrine avanzado](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/doctrine-advanced.md): 24 preguntas, Mid-Level - [API Platform](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/api-platform.md): 22 preguntas, Mid-Level - [Serializer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/serializer.md): 20 preguntas, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/events-subscribers.md): 20 preguntas, Mid-Level - [Console & Commands](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/console-commands.md): 18 preguntas, Mid-Level - [Messenger Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/messenger.md): 22 preguntas, Mid-Level - [HTTP Client](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/http-client.md): 18 preguntas, Mid-Level - [Cache y Rendimiento](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/cache.md): 20 preguntas, Mid-Level - [Workflow Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/workflow.md): 18 preguntas, Mid-Level - [Testing Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/testing.md): 22 preguntas, Mid-Level - [Mailer Component](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/mailer.md): 16 preguntas, Mid-Level - [Traducciones e i18n](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/translations.md): 16 preguntas, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/easyadmin.md): 18 preguntas, Mid-Level - [Arquitectura Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/architecture-patterns.md): 24 preguntas, Senior - [Rendimiento y optimización](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Seguridad avanzada](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/security-advanced.md): 22 preguntas, Senior - [Microservices con Symfony](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/microservices.md): 22 preguntas, Senior - [Real-time & WebSockets](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/real-time.md): 18 preguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/deployment-devops.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/symfony/preguntas-entrevista/custom-bundles