Mülakat sorusu
Belirli bir endpoint çoğu kullanıcı için hızlı, küçük bir grup için ise aşırı yavaş. Önce neyi incelersin ve güvenli bir çözüme nasıl ulaşırsın?
İlk güçlü çıkarım
En güçlü ipucu asimetridir. Aynı kod yolu farklı davranıyorsa endpoint'i hemen yeniden yazmak yerine etkilenen kullanıcıların veri hacmini, istek parametrelerini, tenant/region bilgisini ve cache davranışını karşılaştır.
Önce hangi sinyallere bakılır?
- ◆Yalnız global p95 değil, hesap veya kullanıcı bazında latency.
- ◆Hızlı ve yavaş hesapların satır sayısı ile veri yaşı.
- ◆Temsili production girdileri için farklı EXPLAIN ANALYZE planları.
- ◆Pagination limitleri, response boyutu, cache hit oranı ve downstream çağrılar.
Adım adım güçlü yaklaşım
Segmenti doğrula
Tracing ve loglarla tam olarak hangi kullanıcı, tenant, region veya istek biçiminin yavaş olduğunu belirle. Bir yavaş ve bir hızlı isteği uçtan uca karşılaştır.
Veri dağılımını ölç
Etkilenen hesapların kat kat fazla veya daha eski veriye sahip olup olmadığını kontrol et. Normalde 50 satır dönen sorgu eski bir hesapta 500.000 satır dönebilir.
Gerçek query planını incele
Production benzeri parametrelerle EXPLAIN ANALYZE çalıştır. Cardinality, index olsa bile planner'ın sequential scan veya kötü join stratejisi seçmesine yol açabilir.
Yapılan işi sınırla
Pagination, response limitleri, N+1 sorgular, serialization maliyeti ve downstream fan-out'u kontrol et. Büyük altyapı değişikliğinden önce iş yüküne üst sınır koy.
Güvenli yayınla ve doğrula
Çözümü hem normal hem worst-case hesaplarla test et, kademeli yayınla; yalnız global ortalamayı değil segment bazlı latency ve hata oranını izle.
Cevabını bu sırayla yapılandır
- 01Kullanıcıya özel ipucunu belirt
- 02Request trace ve veri cardinality'sini karşılaştır
- 03Query planını doğrula
- 04Sınırlı ve güvenli çözüm uygula
- 05Yayın ve izleme planını anlat
Zayıf cevap işaretleri
- ×Neden yalnız bazı kullanıcıların etkilendiğini bulmadan tüm sunucuları büyütmek.
- ×EXPLAIN'i küçük veya yapay bir hesapla çalıştırmak.
- ×Gerçek erişim desenini ve write maliyetini incelemeden index eklemek.
Takip soruları
- ?Yavaş kullanıcıların hepsi aynı region'daysa ne yaparsın?
- ?Bunu kullanıcı bildirmeden nasıl tespit edersin?
- ?Partitioning hangi noktada anlamlı olur?
Kısa FAQ
Bu soruda görüşmeci neyi ölçüyor?
Görüşmeci tek bir teknoloji adı değil; belirsizlik altında kanıt toplama, riski sınırlama, güvenli aksiyon seçme ve sonucu ölçme biçimini değerlendirir.
Cevap ne kadar uzun olmalı?
İlk iki dakikada hipotezini ve önceliğini belirt; ardından sinyal, teşhis, mitigation ve doğrulama sırasıyla ilerle. Ayrıntıyı görüşmecinin takip sorularına göre derinleştir.