# Custom Bundle (Symfony) > Pembuatan bundle, konfigurasi extension, compiler pass, bundle yang dapat digunakan kembali, praktik terbaik - 20 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara.md) ## 1. Class apa yang harus di-extend oleh class utama bundle di Symfony? **Jawaban** Class utama bundle Symfony harus meng-extend AbstractBundle (Symfony 6.1+) atau Bundle. AbstractBundle direkomendasikan karena menyederhanakan konfigurasi dan memungkinkan pendefinisian konfigurasi langsung di class bundle melalui method configure(). Bundle tetap tersedia untuk kompatibilitas mundur, tetapi AbstractBundle menawarkan API yang lebih modern. ## 2. Apa peran class Extension dalam bundle Symfony? **Jawaban** Class Extension (yang meng-extend ConfigurableExtension atau Extension) bertanggung jawab memuat konfigurasi bundle dan mendaftarkan service ke dalam container. Class ini membaca file konfigurasi bundle, memproses parameter aplikasi, dan mengonfigurasi service melalui ContainerBuilder. Class ini mengimplementasikan method load() yang dipanggil saat kompilasi container. ## 3. Apa konvensi penamaan untuk class utama bundle bernama AcmePaymentBundle? **Jawaban** Berdasarkan konvensi Symfony, class utama bundle harus memiliki nama yang sama dengan bundle-nya. Untuk AcmePaymentBundle, class utamanya adalah AcmePaymentBundle dan harus berada di namespace yang sesuai, biasanya Acme\PaymentBundle. Jadi, file-nya adalah AcmePaymentBundle.php di folder src/ bundle. ## 17 pertanyaan lagi tersedia - Apa itu Compiler Pass di Symfony dan kapan harus digunakan? - Bagaimana cara mendefinisikan konfigurasi semantik untuk bundle dengan validasi parameter? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Symfony lainnya - [PHP Modern (8.1+)](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/php-modern-features.md): 20 pertanyaan, Junior - [Dasar-dasar Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/symfony-basics.md): 25 pertanyaan, Junior - [Routing & Controllers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/routing-controllers.md): 20 pertanyaan, Junior - [Twig & Templates](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/twig-templates.md): 20 pertanyaan, Junior - [Dasar-dasar Doctrine ORM](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-orm-basics.md): 25 pertanyaan, Junior - [Formulir Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/forms.md): 22 pertanyaan, Junior - [Validasi Data](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/validation.md): 18 pertanyaan, Junior - [Dependency Injection & Services](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Security & Authentication](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-authentication.md): 26 pertanyaan, Mid-Level - [Doctrine Tingkat Lanjut](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-advanced.md): 24 pertanyaan, Mid-Level - [API Platform](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/api-platform.md): 22 pertanyaan, Mid-Level - [Serializer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/serializer.md): 20 pertanyaan, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/events-subscribers.md): 20 pertanyaan, Mid-Level - [Console & Commands](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/console-commands.md): 18 pertanyaan, Mid-Level - [Messenger Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/messenger.md): 22 pertanyaan, Mid-Level - [HTTP Client](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/http-client.md): 18 pertanyaan, Mid-Level - [Cache & Performa](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/cache.md): 20 pertanyaan, Mid-Level - [Workflow Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/workflow.md): 18 pertanyaan, Mid-Level - [Testing Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/testing.md): 22 pertanyaan, Mid-Level - [Mailer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/mailer.md): 16 pertanyaan, Mid-Level - [Terjemahan & i18n](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/translations.md): 16 pertanyaan, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/easyadmin.md): 18 pertanyaan, Mid-Level - [Arsitektur Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/architecture-patterns.md): 24 pertanyaan, Senior - [Performa & Optimasi](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan Lanjutan](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-advanced.md): 22 pertanyaan, Senior - [Microservices dengan Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/microservices.md): 22 pertanyaan, Senior - [Real-time & WebSockets](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/real-time.md): 18 pertanyaan, Senior - [Deployment & DevOps](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/deployment-devops.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/custom-bundles