# Mode API Rails (Ruby on Rails) > Aplikasi API-only, rendering JSON, serializer, CORS, autentikasi token, versioning - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Ruby on Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara.md) ## 1. Perintah mana yang membuat aplikasi Rails baru dalam mode API-only? **Jawaban** Flag --api saat membuat aplikasi Rails menghasilkan aplikasi ringan yang dioptimalkan untuk API. Konfigurasi ini mengecualikan middleware terkait view (cookies, sessions, flash), tidak menyertakan Action View dan Action Cable secara default, dan mengonfigurasi ApplicationController untuk mewarisi dari ActionController::API alih-alih ActionController::Base. Ini mengurangi ukuran aplikasi dan meningkatkan performa untuk kasus penggunaan API murni. ## 2. Dari kelas mana ApplicationController mewarisi dalam aplikasi Rails API-only? **Jawaban** Dalam aplikasi Rails API-only, ApplicationController mewarisi dari ActionController::API alih-alih ActionController::Base. Kelas ini adalah versi ringan yang tidak menyertakan modul terkait rendering HTML, sessions, cookies, dan flash messages. Ia hanya mempertahankan fungsionalitas penting untuk sebuah API seperti routing, parameter, rendering JSON, dan callback. Ini memungkinkan controller yang lebih berkinerja untuk REST API. ## 3. Metode mana yang harus digunakan untuk merender respons JSON di controller Rails? **Jawaban** Metode render dengan opsi json: adalah cara standar untuk mengembalikan JSON di Rails. Metode ini secara otomatis mengonversi objek yang diberikan menjadi JSON melalui metode to_json. Anda dapat menyesuaikan kode status HTTP dengan opsi status:, mengecualikan atribut, atau menggunakan serializer untuk kontrol yang lebih halus. Pendekatan ini sederhana dan cukup untuk sebagian besar kasus penggunaan dasar. ## 17 pertanyaan lagi tersedia - Gem mana yang direkomendasikan untuk menangani CORS (Cross-Origin Resource Sharing) dalam API Rails? - Apa peran serializer dalam API Rails? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Ruby on Rails lainnya - [Dasar-Dasar Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-basics.md): 25 pertanyaan, Junior - [Pemrograman Berorientasi Objek di Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-oop.md): 20 pertanyaan, Junior - [Dasar-Dasar Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-fundamentals.md): 18 pertanyaan, Junior - [Routing & Controllers](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/routing-controllers.md): 22 pertanyaan, Junior - [Dasar-Dasar ActiveRecord](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-basics.md): 25 pertanyaan, Junior - [Views & Template ERB](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/views-erb-templates.md): 20 pertanyaan, Junior - [Asosiasi ActiveRecord](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-associations.md): 24 pertanyaan, Mid-Level - [Kueri ActiveRecord Lanjutan](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-record-queries.md): 28 pertanyaan, Mid-Level - [Formulir Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-forms.md): 20 pertanyaan, Mid-Level - [Autentikasi & Otorisasi](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/authentication-authorization.md): 22 pertanyaan, Mid-Level - [Asset Pipeline modern & frontend](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-asset-pipeline.md): 18 pertanyaan, Mid-Level - [Pengujian dengan RSpec](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-testing-rspec.md): 24 pertanyaan, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-job-background-jobs.md): 20 pertanyaan, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/action-cable-websockets.md): 18 pertanyaan, Mid-Level - [ActionMailer](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/action-mailer.md): 18 pertanyaan, Mid-Level - [ActiveStorage](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/active-storage.md): 20 pertanyaan, Mid-Level - [Strategi Caching](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/caching-strategies.md): 20 pertanyaan, Mid-Level - [Migrasi tingkat lanjut](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/database-migrations-advanced.md): 20 pertanyaan, Mid-Level - [Rails Engines & Aplikasi Modular](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-engines-modular-apps.md): 18 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/performance-optimization.md): 26 pertanyaan, Senior - [Design Pattern Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-design-patterns.md): 22 pertanyaan, Senior - [Metaprogramming Ruby](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/ruby-metaprogramming.md): 20 pertanyaan, Senior - [Keamanan Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-security.md): 22 pertanyaan, Senior - [GraphQL dengan Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/graphql-rails.md): 20 pertanyaan, Senior - [Deployment & Produksi](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-deployment-production.md): 20 pertanyaan, Senior - [Monitoring & Logging](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/monitoring-logging.md): 20 pertanyaan, Senior - [Strategi Upgrade Rails](https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-upgrade-strategies.md): 18 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ruby-on-rails/pertanyaan-wawancara/rails-api-mode