
Optimasi Performa
Database indexing, optimasi query, gem Bullet, rack-mini-profiler, konkurensi/Puma, thread-safety, connection pool
1Apa tujuan utama menambahkan index pada kolom database?
Apa tujuan utama menambahkan index pada kolom database?
Jawaban
Sebuah index mempercepat query pencarian dengan membuat struktur data yang dioptimalkan (biasanya B-tree) yang menghindari pemindaian semua baris dalam tabel. Tanpa index, database melakukan sequential scan yang bisa sangat lambat pada tabel besar. Kolom yang sering digunakan dalam klausa WHERE, ORDER BY atau join adalah kandidat ideal untuk pengindeksan.
2Bagaimana cara membuat index komposit pada kolom user_id dan created_at dalam migration Rails?
Bagaimana cara membuat index komposit pada kolom user_id dan created_at dalam migration Rails?
Jawaban
Metode add_index menerima sebuah array kolom untuk membuat index komposit. Urutan kolom penting: index akan efisien untuk query yang memfilter pertama pada user_id, lalu created_at, tetapi tidak untuk query yang hanya memfilter pada created_at. Index komposit optimal untuk query yang menggunakan kolom dari kiri ke kanan.
3Apa itu masalah N+1 dalam konteks ActiveRecord?
Apa itu masalah N+1 dalam konteks ActiveRecord?
Jawaban
Masalah N+1 terjadi ketika sebuah query awal mengambil N record, lalu N query tambahan dijalankan untuk memuat asosiasi setiap record. Misalnya, memuat 100 posts lalu membuat 100 query individual untuk para penulis. Pola ini melipatgandakan jumlah query dan menurunkan performa secara signifikan. Solusinya adalah menggunakan includes, preload atau eager_load untuk memuat asosiasi dalam satu atau dua query.
Metode ActiveRecord mana yang digunakan untuk menyelesaikan masalah N+1 dengan memuat asosiasi terlebih dahulu?
Apa peran gem Bullet dalam optimasi performa Rails?
+23 pertanyaan wawancara
Topik wawancara Ruby on Rails lainnya
Dasar-Dasar Ruby
Pemrograman Berorientasi Objek di Ruby
Dasar-Dasar Rails
Routing & Controllers
Dasar-Dasar ActiveRecord
Views & Template ERB
Asosiasi ActiveRecord
Kueri ActiveRecord Lanjutan
Formulir Rails
Autentikasi & Otorisasi
Asset Pipeline modern & frontend
Mode API Rails
Pengujian dengan RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategi Caching
Migrasi tingkat lanjut
Rails Engines & Aplikasi Modular
Design Pattern Rails
Metaprogramming Ruby
Keamanan Rails
GraphQL dengan Rails
Deployment & Produksi
Monitoring & Logging
Strategi Upgrade Rails
Kuasai Ruby on Rails untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis