yoklateknik mülakat

JavaScript Frontend Mülakat Soruları

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

Gerçek simülasyonu dene →

Örnek sorular

Javascript Async ConcurrencyZorluk 1
Bir JavaScript Promise'i üç durumdan birinde olabilir. Bu durumları doğru adlandıran seçenek hangisi?
  • abaşladı, bekliyor, bitti
  • bpending, fulfilled, rejected
  • caçık, çözüldü, kapalı
  • dkuyrukta, çalışıyor, bitti
Açıklama:Bir Promise pending olarak başlar, sonra tam olarak bir kez fulfilled (bir değer mevcut) ya da rejected (bir hata oluştu) durumuna geçer. Bir kez sonuçlandıktan sonra durumu bir daha değişmez.
Javascript Async ConcurrencyZorluk 1
Bir async function çağrıldığında, gövdesi ne return ederse etsin her zaman ne döner?
  • areturn'den gelen ham değeri, sarmalanmamış olarak
  • bAçıkça bir Promise return etmedikçe undefined
  • cReturn edilen değere resolve olan bir Promise
  • dHiçbir şey — dönüş değeri için bir callback bağlaman gerekir
Açıklama:Bir async function çağırmak her zaman bir Promise üretir. Gövde düz bir değer return ederse, bu değer dönen Promise'in resolve değeri olur; bir Promise return ederse, dıştaki Promise onun durumunu benimser.
Javascript Async ConcurrencyZorluk 2
console.log('start');
setTimeout(() => console.log('timeout'), 0);
Promise.resolve().then(() => console.log('promise'));
console.log('end');

Sırasıyla ne loglanır?
  • astart, end, promise, timeout
  • bstart, promise, end, timeout
  • cstart, end, timeout, promise
  • dstart, timeout, end, promise
Açıklama:Önce tüm senkron kod çalışır (start, end). Ardından event loop macrotask kuyruğuna geçmeden önce microtask kuyruğu (.then callback'i) tamamen boşalır, bu yüzden setTimeout daha önce zamanlanmış olsa bile promise, timeout'tan önce loglanır.
Javascript Async ConcurrencyZorluk 2
console.log('a');
Promise.resolve(42).then((v) => console.log('b', v));
console.log('c');

Sırasıyla ne loglanır?
  • aa, b 42, c
  • bb 42, a, c
  • ca, c, b, sonra 42 ayrı
  • da, c, b 42
Açıklama:Promise.resolve(42) zaten fulfilled durumdadır ama .then callback'i yine de bir microtask olarak zamanlanır — asla senkron çalışmaz. Bu yüzden kalan senkron satır (console.log('c')) önce çalışır, b 42 ise mevcut script bittikten sonra loglanır.
Javascript Async ConcurrencyZorluk 1
await anahtar kelimesi bir fonksiyon gövdesinin en üst seviyesinde nerede kullanılabilir?
  • aBir Promise söz konusu olduğu sürece herhangi bir fonksiyon içinde
  • bYalnızca async olarak tanımlanmış bir fonksiyon içinde (ya da top-level await destekleyen bir modülün en üstünde)
  • cYalnızca .then() callback'leri içinde
  • dHer yerde, varsayılan olarak senkron bir anahtar kelime gibi çalışır
Açıklama:await, yalnızca async işaretli bir fonksiyon içinde ya da top-level await destekleyen bir ES modülünün en üst seviyesinde geçerlidir. Sıradan bir fonksiyonda kullanmak syntax hatasıdır.
Javascript Async ConcurrencyZorluk 2
Promise.resolve(1)
  .then((v) => v + 1)
  .then((v) => v * 10)
  .then((v) => console.log(v));

Ne loglanır?
  • a1
  • b2
  • c20
  • d11
Açıklama:Her .then, bir öncekinin döndürdüğü değeri alır: 1 → (1+1)=2 → (2*10)=20 → loglanır. .then'den düz bir değer return etmek, o değeri zincirdeki bir sonraki .then'e iletir.

2925 soruluk Frontend bankasında kendini sına.

Mülakata başla