System Design mülakat sorusuZorİşbirliği Sistemi
Dropbox benzeri dosya depolama servisi tasarla
Dropbox benzeri dosya depolama tasarla: yükle/indir, klasör listele, cihazlar arası metadata senkronu.
Mülakat kapsamı
Metadata ile baytı ayır: metadata için App + DB; dosyalar için Object Storage; indirme için CDN; istemci DB/object’e appsiz/imzasız konuşmasın.
Fonksiyonel gereksinimler
- Dosya yükle ve indir.
- Kullanıcı için klasör / dosya metadata listele.
- Temel paylaşım linki veya izin (yüksek seviye yeterli).
Kalite ve ölçek hedefleri
- Dosya baytları object storage’da — büyük dosyalar için birincil SQL BLOB’u değil.
- Metadata (ad, yol, sahip, versiyon) veritabanında.
- Yükleme/indirme mümkünse kenar/CDN ile ölçeklensin.
Kapasite varsayımı
Bu ölçeğe göre tasarla
~10M kullanıcı, kullanıcı başı ortalama ~15 GB → toplam ~150 PB mertebesi (kabaca). Tepe yüklemeler app yolu için önemli.
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 →