# Serializer Component (Symfony) > Normalizer, Denormalizer, grup serialisasi, referensi sirkular, konteks, Normalizer kustom, Encoder - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara.md) ## 1. Apa peran utama komponen Serializer di Symfony? **Jawaban** Komponen Serializer mengonversi objek PHP ke berbagai format (JSON, XML, CSV, YAML) dan sebaliknya. Komponen ini memainkan peran sentral dalam REST API dengan mengubah entitas menjadi respons terstruktur dan menghidrasi objek dari permintaan yang masuk. Prosesnya terdiri dari dua langkah: normalisasi (objek ke array) dan encoding (array ke format akhir). ## 2. Apa dua langkah utama dari proses serialisasi di Symfony? **Jawaban** Serialisasi di Symfony terjadi dalam dua langkah yang berbeda. Normalisasi pertama-tama mengubah objek PHP menjadi array asosiatif menggunakan Normalizer yang sesuai dengan tipe objek. Encoding kemudian mengonversi array ini ke format akhir seperti JSON atau XML melalui sebuah Encoder. Pemisahan ini memungkinkan fleksibilitas dan kemampuan penggunaan ulang komponen yang tinggi. ## 3. Normalizer mana yang sebaiknya digunakan secara default untuk menserialisasi objek PHP standar di Symfony? **Jawaban** ObjectNormalizer adalah normalizer paling serbaguna dan direkomendasikan untuk objek PHP standar. Ia menggunakan komponen PropertyAccess untuk mengakses properti melalui getters/setters, properti publik, atau metode magic. Ia juga mendukung grup serialisasi, callback, dan penanganan referensi sirkular, menjadikannya pilihan default dalam sebagian besar kasus. ## 17 pertanyaan lagi tersedia - Bagaimana cara mendefinisikan grup serialisasi pada sebuah entitas Symfony? - Bagaimana cara mengaktifkan grup serialisasi saat memanggil Serializer? 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 - [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 - [Custom Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/custom-bundles.md): 20 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/serializer