yoklateknik mülakat

Backend Nodejs Error Handling Mülakat Soruları

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

Gerçek simülasyonu dene →

Örnek sorular

Nodejs Error HandlingZorluk 1
Node.js'de bir try/catch bloğunun temel amacı nedir?
  • aBekleyen tüm I/O işlemleri bittikten sonra çalışacak bir callback kaydetmek
  • bBaşarısız bir fonksiyon çağrısını otomatik olarak üç kere yeniden denemek
  • ctry bloğu içinde senkron olarak fırlatılan hataları yakalayıp yönetmek
  • dawait kullanmadan bir Promise sonuçlanana kadar çalışmayı durdurmak
Açıklama:try/catch, try bloğu içindeki kodun çalışması sırasında senkron olarak fırlatılan istisnaları yakalar ve bunları programı çökertip propagasyona bırakmak yerine catch bloğunda yönetmenizi sağlar. Özel bir yeniden deneme ya da I/O zamanlama davranışı yoktur.
Nodejs Error HandlingZorluk 1
try {
  throw new Error('something failed');
} catch (e) {
  console.log(e.message);
}

Bu ne yazdırır?
  • a"something failed"
  • b"Error: something failed"
  • c"undefined"
  • dProgram herhangi bir şey yazdırmadan çöker
Açıklama:e.message yalnızca Error constructor'ına verilen mesaj metnini ('something failed') tutar. e'yi doğrudan yazdırmak ya da e.toString() çağırmak 'Error: ' önekini de eklerdi, ama tek başına e.message eklemez.
Nodejs Error HandlingZorluk 2
Klasik Node.js callback konvansiyonunu kullanarak asenkron bir dosya işlemi için callback yazıyorsunuz. Bu callback'in ilk parametresi neyi temsil etmeli?
  • aO ana kadar işlenen byte sayısını
  • bHatayı (hata yoksa null), ilk argüman olarak ayrılmış şekilde
  • cİşlemin tamamlanıp tamamlanmadığını belirten bir boolean bayrağı
  • dSonuç verisini, çünkü Node hataları içeride her zaman kendisi çözer
Açıklama:Node'un error-first callback konvansiyonu ilk parametreyi bir hata nesnesi için ayırır (hata yoksa null); gerçek sonuç ikinci parametre olarak geçirilir, örn. (err, data) => {...}. Bu konvansiyon sayesinde callback tabanlı her API aynı şekilde başarısızlık kontrolüne tabi tutulabilir.
Nodejs Error HandlingZorluk 2
const fs = require('fs');

fs.readFile('data.txt', 'utf8', (err, contents) => {
  if (err) {
    console.error('failed to read file:', err.message);
    return;
  }
  console.log(contents.toUpperCase());
});

data.txt mevcut değilse ne olur?
  • acontents.toUpperCase() süreci çökerten bir TypeError fırlatır
  • bNode dosyayı okumayı vazgeçmeden önce otomatik olarak yeniden dener
  • cerr null olur ve contents boş string olur
  • dHata dalı çalışır, başarısızlığı loglar ve contents'e dokunmadan return eder
Açıklama:Dosya mevcut olmadığında fs.readFile, err ayarlanmış (örn. bir ENOENT hatası) ve contents undefined olacak şekilde geri çağırır. Handler önce if (err) kontrolü yapıp return ettiği için asla contents.toUpperCase()'e ulaşmaz, bu da çökmeyi engeller.
Nodejs Error HandlingZorluk 2
function parseAge(input) {
  throw new Error(`invalid age: ${input}`);
}

console.log('start');
parseAge('abc');
console.log('end');

Bu script çalıştığında ne olur?
  • a"start" yazdırır, ardından süreç hatayla çöker ve asla "end" yazdırmaz
  • b"start" yazdırır, sonra "end", sonra hata loglanır
  • cFırlatılan hatayı yok sayarak "start" ve "end" yazdırır
  • dparseAge hiçbir değer döndürmediği için derlenmez
Açıklama:Çağrı zincirinde hiçbir yerde try/catch yoktur, bu yüzden fırlatılan Error tüm yığını kat eder, Node stack trace'i yazdırır ve süreç sıfır olmayan bir kodla sonlanır. console.log('end') asla çalışmaz çünkü çalışma throw noktasında durur.
Nodejs Error HandlingZorluk 1
Standart bir JavaScript Error nesnesi her zaman hangi üç özelliğe sahiptir?
  • acode, errno ve syscall
  • bstatus, headers ve body
  • cmessage, name ve stack
  • dtype, value ve cause
Açıklama:Her Error örneğinde message (verdiğiniz açıklama), name (varsayılan 'Error', alt sınıflarda değiştirilir) ve stack (trace içeren bir string) bulunur. code/errno/syscall, Node'un fs gibi belirli sistem hatalarına eklediği ek özelliklerdir, temel Error yapısının parçası değildir.

3300 soruluk Backend bankasında kendini sına.

Mülakata başla