yoklateknik mülakat

Backend Caching Mülakat Soruları

75 doğrulanmış Backend Caching mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

CachingZorluk 1
Yavaş bir veri kaynağının önüne cache koymanın temel amacı nedir?
  • aSık erişilen veriyi şifreleyerek daha güvenli sunmak
  • bSık erişilen veriyi hızlı bir depoda tutarak gecikmeyi ve kaynağın üzerindeki yükü azaltmak
  • cCache'lenen verinin kalıcı biçimde saklanıp process restart'larından ve makine çökmelerinden sağ çıkmasını garanti etmek
  • dUygulamanın çalışma anındaki toplam bellek tüketimini azaltmak
Açıklama:Cache, hız için bellek harcar: sık istenen veri yeniden hesaplanmak ya da kaynaktan okunmak yerine hızlı depodan sunulur; bu hem yanıt süresini hem kaynak yükünü düşürür. Kalıcılık (c) cache'in sunduğunun tersidir — cache verisi tipik olarak volatile'dır — ve cache belleği azaltmaz, ek bellek tüketir (d).
CachingZorluk 1
Cache terminolojisinde cache hit nedir?
  • aİstenen verinin cache'te bulunması ve oradan sunulması
  • bİstenen verinin cache'te olmaması ve kaynağın sorgulanmak zorunda kalması
  • cCache'in dolması ve mevcut bir kaydın eviction ile çıkarılması gerekmesi
  • dCache'teki bir kaydın kaynak veriyle tutarsız hale gelmesi
Açıklama:Hit, aramanın başarılı olması ve isteğin cache'ten sunulması demektir. (b) cache miss'i, (c) eviction'ı, (d) ise staleness'ı tarif eder — ilişkili ama ayrı üç kavram.
CachingZorluk 1
Bir cache %95 hit ratio raporluyor. Bu metrik ne anlama gelir?
  • aCache, ayrılan belleğin %95'ini kullanıyor
  • bCache'teki kayıtların %95'i hâlâ kaynakla tutarlı
  • cOkuma isteklerinin %95'i cache'ten yanıtlandı
  • dYazma işlemlerinin %95'i cache üzerinden geçti
Açıklama:Hit ratio = hit / toplam arama; %95, okumaların yalnızca %5'inin kaynağa ulaşmak zorunda kaldığı anlamına gelir. Metrik, bellek kullanımı (a) ya da kayıtların tazeliği (b) hakkında bir şey söylemez.
CachingZorluk 2
Cache kayıtları için TTL (time-to-live) seçerken temel trade-off nedir?
  • aUzun TTL hit ratio'yu yükseltir ama stale veri penceresini genişletir
  • bUzun TTL veriyi daha taze yapar ama bellek kullanımını artırır
  • cKısa TTL hem tazeliği hem hit ratio'yu aynı anda iyileştirir
  • dTTL sadece yazma throughput'unu etkiler, okuma davranışını etkilemez
Açıklama:Uzun yaşayan kayıt cache'te daha sık bulunur (yüksek hit ratio) ama kaynaktan daha uzun süre geri kalabilir (staleness). Kısa TTL, tazeliği daha çok miss pahasına satın alır — ikisi aynı anda maksimize edilemez; (c) bu yüzden yanlıştır.
CachingZorluk 2
value = cache.get(key)
if value == null:
    value = db.query(key)
    cache.set(key, value, ttl=300)
return value

Bu kod hangi caching desenini uygular?
  • aWrite-through: yazmalar cache ve veritabanını birlikte günceller
  • bRead-through: eksik değeri cache kütüphanesinin kendisi veritabanından yükler
  • cCache-aside: uygulama cache'e bakar, miss durumunda yükleyip cache'i doldurur
  • dWrite-behind: yazmalar cache'te biriktirilip veritabanına sonradan yazılır
Açıklama:Miss'i uygulama kodunun kendisi ele alıyor: veritabanını sorgulayıp cache'i dolduruyor. Bu, cache-aside'dır (lazy loading). Read-through'da (b) yüklemeyi uygulama değil cache bileşeni yapar; (a) ve (d) yazma yollarını tarif eder, buradaki kod ise bir okuma yoludur.
CachingZorluk 2
Write-through caching stratejisinde uygulama veri yazdığında ne olur?
  • aYazma sadece cache'e gider; veritabanı daha sonra asenkron güncellenir
  • bYazma sadece veritabanına gider; cache yeni değeri bir sonraki okumada alır
  • cTutarsızlık olmasın diye yazma tüm cache'i temizler
  • dYazma aynı işlemin parçası olarak cache'e uygulanır ve veritabanına iletilir
Açıklama:Write-through, ikisine de senkron yazarak cache ile kaynağı tutarlı tutar. (a) write-behind'ı (write-back) tarif eder; (b) ise cache-aside kurulumunun yazmadaki tipik davranışıdır.

3300 soruluk Backend bankasında kendini sına.

Mülakata başla