yoklateknik mülakat

Backend Mülakat Soruları

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

Gerçek simülasyonu dene →

Örnek sorular

API TasarımıZorluk 1
HTTP'de GET, safe metod olarak sınıflandırılır. Bu ne anlama gelir?
  • aİstek, browser tarafından otomatik olarak şifrelenir; onu safe yapan da budur
  • bSadece veri okumak içindir; sunucu state'ini değiştirmesi beklenmez
  • cSunucu, isteğin asla hata döndürmeyeceğini garanti eder
  • dSadece authentication gerektirmeyen endpoint'lere gönderilebilir
Açıklama:Safe, istemcinin herhangi bir state değişikliği talep etmemesi demektir — bu sayede GET'ler rahatça cache'lenir, prefetch edilir ve retry edilir. "Safe" güvenlikle değil semantikle ilgilidir (a): şifreleme metoddan değil HTTPS'ten gelir.
API TasarımıZorluk 2
Hangi HTTP metodu idempotent DEĞİLDİR?
  • aGET
  • bDELETE
  • cPOST
  • dPUT
Açıklama:Idempotent, aynı isteğin tekrarlanmasının sunucuyu bir kez gönderilmişle aynı state'te bırakması demektir. POST tipik olarak her çağrıda yeni bir resource yaratır; tekrar etkiyi çoğaltır. DELETE, tekrar 404 dönse bile idempotent kalır — resource iki durumda da silinmiştir.
API TasarımıZorluk 1
Bir POST isteği yeni bir resource'u başarıyla oluşturuyor. Bunu en isabetli anlatan status code hangisidir?
  • a200 OK
  • b204 No Content
  • c201 Created
  • d202 Accepted
Açıklama:201 Created, yeni bir resource'un artık var olduğunu söyler; genellikle ona işaret eden bir Location header ile döner. 200 genel bir başarıdır, 204 body'siz başarıdır; 202 (d) ise isteğin yalnızca sonra işlenmek üzere kuyruğa alındığını belirtir — oluşturma henüz gerçekleşmemiş olabilir.
API TasarımıZorluk 2
401 Unauthorized ile 403 Forbidden arasındaki fark nedir?
  • a401 kullanıcının o resource için yetkisi olmadığını, 403 istekte geçerli kimlik bilgisi bulunmadığını belirtir
  • b401 kimlik bilgisi eksik/geçersiz demektir; 403 kimliği doğrulanmış kullanıcının yetkisi yok demektir
  • cBirbirlerinin yerine kullanılabilirler; seçim ekip tercihine kalmıştır
  • d401 sadece süresi dolmuş session'lar, 403 sadece banlanmış hesaplar içindir
Açıklama:401 "kim olduğunu kanıtla" der (authentication problemi); 403 ise "kim olduğunu biliyorum ama bunu yapamazsın" der (authorization problemi). (a) şıkkı bunu tam tersinden anlatır — en klasik karıştırma budur.
API TasarımıZorluk 3
Aynı DELETE isteği iki kez gönderiliyor:
DELETE /orders/42   ->  204 No Content
DELETE /orders/42   ->  404 Not Found

İki çağrı farklı status code döndürüyor. DELETE'in idempotency'si ihlal edilmiş midir?
  • aHayır — idempotency sunucu state'iyle ilgilidir; iki çağrıdan sonra da sipariş eşit derecede silinmiştir
  • bEvet — idempotent bir metod her tekrarda aynı status code'u döndürmek zorundadır; yalnızca aynı son state'e ulaşmak yetmez
  • cEvet — istemci retry'ı bırakana kadar sunucu 204 döndürmeye devam etmeliydi
  • dHayır — çünkü DELETE zaten hiçbir zaman idempotent bir metod olmadı
Açıklama:Idempotency, isteğin tekrarının sunucuyu aynı state'te bırakacağını vadeder; response'un birebir aynı olacağını değil. İki çağrıdan sonra da sipariş yoktur; 404 sadece artık var olmadığını raporlar. Aynı status code beklemek (b), tanımın en sık yanlış okunma biçimidir.
API TasarımıZorluk 1
PUT ile PATCH arasındaki fark nedir?
  • aPUT kısmi değişiklik uygular; PATCH resource'un tamamını değiştirir
  • bPUT sadece resource oluşturabilir; PATCH sadece günceller
  • cAynı davranırlar; PATCH, PUT'un daha yeni adıdır
  • dPUT resource'un tamamını yenisiyle değiştirir; PATCH kısmi değişiklik uygular
Açıklama:PUT, resource'un tam halini gönderir ve sunucu resource'u onunla değiştirir — bu PUT'u aynı zamanda idempotent yapar. PATCH ise yalnızca uygulanacak değişiklikleri gönderir. (a) şıkkı aynı bilginin tersten anlatımıdır ve ikisi arasındaki en yaygın karışıklıktır.

3300 soruluk Backend bankasında kendini sına.

Mülakata başla