
Performans Optimizasyonu
Database indexing, sorgu optimizasyonu, Bullet gem, rack-mini-profiler, eşzamanlılık/Puma, thread-safety, connection pool
1Bir veritabanı sütununa index eklemenin temel amacı nedir?
Bir veritabanı sütununa index eklemenin temel amacı nedir?
Cevap
Bir index, tablodaki tüm satırları taramayı önleyen optimize edilmiş bir veri yapısı (genellikle bir B-tree) oluşturarak arama sorgularını hızlandırır. Index olmadan veritabanı, büyük tablolarda çok yavaş olabilen bir sequential scan gerçekleştirir. WHERE koşullarında, ORDER BY veya join'lerde sıkça kullanılan sütunlar, indeksleme için ideal adaylardır.
2Rails migration'ında user_id ve created_at sütunları üzerinde bileşik bir index nasıl oluşturulur?
Rails migration'ında user_id ve created_at sütunları üzerinde bileşik bir index nasıl oluşturulur?
Cevap
add_index metodu, bir bileşik index oluşturmak için bir sütun dizisi kabul eder. Sütun sırası önemlidir: index, önce user_id'ye, ardından created_at'a göre filtreleyen sorgular için verimli olacak, ancak yalnızca created_at'a göre filtreleyen sorgular için olmayacaktır. Bileşik bir index, sütunları soldan sağa kullanan sorgular için en uygun olanıdır.
3ActiveRecord bağlamında N+1 problemi nedir?
ActiveRecord bağlamında N+1 problemi nedir?
Cevap
N+1 problemi, ilk bir sorgunun N kayıt getirmesi, ardından her kaydın ilişkilerini yüklemek için N ek sorgunun çalıştırılmasıyla ortaya çıkar. Örneğin, 100 posts yüklemek ve ardından yazarlar için 100 ayrı sorgu yapmak. Bu desen sorgu sayısını katlar ve performansı ciddi şekilde düşürür. Çözüm, ilişkileri bir veya iki sorguda yüklemek için includes, preload veya eager_load kullanmaktır.
İlişkileri önceden yükleyerek N+1 problemini çözmek için hangi ActiveRecord metodu kullanılır?
Rails performans optimizasyonunda Bullet gem'inin rolü nedir?
+23 mülakat soruları
Diğer Ruby on Rails mülakat konuları
Ruby Temelleri
Ruby'de Nesne Yönelimli Programlama
Rails Temelleri
Routing & Controllers
ActiveRecord Temelleri
Views ve ERB Şablonları
ActiveRecord İlişkileri
Gelişmiş ActiveRecord Sorguları
Rails Formları
Kimlik Doğrulama ve Yetkilendirme
Modern Asset Pipeline ve frontend
Rails API Modu
RSpec ile Test
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching Stratejileri
Gelişmiş migrasyonlar
Rails Engines ve Modüler Uygulamalar
Rails Tasarım Desenleri
Ruby Metaprogramlama
Rails Güvenliği
Rails ile GraphQL
Dağıtım ve Üretim
Monitoring & Logging
Rails Yükseltme Stratejileri
Bir sonraki mülakatın için Ruby on Rails'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla