~/zafer
Tüm yazılara dön
2 dk okuma

Ağ / Performans

1. HTTP/1.1 vs HTTP/2 vs HTTP/3

  • HTTP/1.1: Her istek ayrı bir TCP bağlantısı gerektirebilir (ya da sınırlı sayıda paralel bağlantı), "head-of-line blocking" sorunu vardır.
  • HTTP/2: Tek TCP bağlantısı üzerinden çoklu istek (multiplexing), header sıkıştırma, sunucu push.
  • HTTP/3: TCP yerine QUIC (UDP tabanlı) kullanır, bağlantı kurulumu daha hızlı, paket kaybında daha dayanıklı.

2. CDN ve Cache-Control

CDN (Content Delivery Network), statik içeriği kullanıcıya coğrafi olarak yakın sunuculardan sunar, gecikmeyi (latency) azaltır. Cache-Control header'ı tarayıcıya ve ara sunuculara içeriğin ne kadar süre cache'lenebileceğini söyler (max-age, no-cache, must-revalidate gibi direktiflerle).

3. Lazy Loading, Code Splitting, Bundle Optimizasyonu

  • Lazy loading: Bileşenleri/kaynakları ihtiyaç duyulduğunda yüklemek (örn. React.lazy)
  • Code splitting: Uygulamayı tek büyük bundle yerine küçük parçalara ayırmak, sadece gerekli parçanın indirilmesini sağlamak
  • Tree shaking: Kullanılmayan kodu bundle'dan çıkarmak

4. Web Vitals

  • LCP (Largest Contentful Paint): Sayfadaki en büyük görsel/metin elemanının ne kadar sürede göründüğü
  • FID / INP (First Input Delay / Interaction to Next Paint): Kullanıcı etkileşimine tepki hızı
  • CLS (Cumulative Layout Shift): Sayfa yüklenirken elemanların ne kadar "zıpladığı"

Sık Sorulan Mülakat Soruları

  • HTTP/1.1, HTTP/2 ve HTTP/3 arasındaki temel farklar nelerdir?
  • "Head-of-line blocking" nedir, hangi protokolde sorun yaratır?
  • HTTP/2'nin multiplexing özelliği ne işe yarar?
  • CDN kullanmanın avantajları nelerdir?
  • Cache-Control header'ındaki max-age, no-cache, must-revalidate direktifleri ne anlama gelir?
  • Lazy loading ile code splitting arasındaki ilişki nedir?
  • Tree shaking nasıl çalışır?
  • LCP, FID/INP ve CLS neyi ölçer, neden önemlidir?
  • Bir web sayfasının yüklenme performansını nasıl iyileştirirsin?