System Design mülakat sorusuZorML / Kişiselleştirme

Bir öneri (recommendation) sistemi tasarla

Öneri sistemi tasarla: kullanıcıya hızlı kişiselleştirilmiş öğe önerileri dön (feed/home/related).

Mülakat kapsamı

Sunum: Client → Gateway/LB → App → Cache (+ DB). Train/ingest: App → Message Queue → worker → DB/Object Storage. Client → Queue/DB yok.

Fonksiyonel gereksinimler

  • Kullanıcı olaylarını (görüntüleme, tıklama, satın alma) async topla.
  • Aday önerileri offline/nearline üret.
  • Top-N öneriyi düşük gecikmeyle sun.

Kalite ve ölçek hedefleri

  • Sunum yolu cache dostu ve hızlı olmalı.
  • Ağır model/feature işi istek yolunun dışında (kuyruk/worker).
  • Kullanıcı/öğe metadata’sı kalıcı depoda olmalı.

Kapasite varsayımı

Bu ölçeğe göre tasarla

Günde ~100M öneri isteği varsay (ortalama ~1.160 RPS) + büyük async olay akışı.

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