System Design mülakat sorusuOrtaProximity / Trie

Arama otomatik tamamlama sistemi tasarla

Arama autocomplete tasarla: kullanıcı yazdıkça önek (prefix) önerilerini hızlı döndür.

Mülakat kapsamı

Client → LB/Gateway → App → Cache (sıcak önekler) + DB (sözlük doğruluk kaynağı). Client → DB/Cache yok.

Fonksiyonel gereksinimler

  • Bir önek verilince küçük bir öneri listesi (top-k) dön.
  • Sorgu uzadıkça öneriler güncellensin.
  • Opsiyonel popülerliğe göre sıralama (yüksek seviye).

Kalite ve ölçek hedefleri

  • Gecikme anlık hissettirmeli (onlarca ms ideal).
  • Okuma ağır: tuş başına birçok sorgu.
  • Sıcak önekler kenar/app katmanında cache’lenmeli.

Kapasite varsayımı

Bu ölçeğe göre tasarla

~10M DAU, günde ~20 sorgu, sorgu başı ~5 tuş → kocaman okuma QPS; cache isabetine göre tasarla.

Diyagramdan fazlasını pratik et

Froquiz tuvalinde bileşenleri yerleştir, veri akışını bağla ve senaryoya özel incelemede eksik kararları gör. Ayrıntılı çözüm ve değerlendirme Premium ile açılır.

Premium'u incele