yoklateknik mülakat

Frontend Javascript Runtime Apis Mülakat Soruları

75 doğrulanmış Frontend Javascript Runtime Apis 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 Runtime ApisZorluk 1
Non-string (string olmayan) değerleri key olarak kullanman gerektiğinde Map'in düz nesneye (object) göre temel avantajı nedir?
  • aMap, tıpkı nesneler gibi key'leri otomatik olarak string'e çevirir
  • bMap, herhangi bir değeri (nesne, fonksiyon, sayı) hiçbir dönüşüm yapmadan key olarak kabul eder
  • cMap yalnızca sayısal key kabul eder, bu da lookup'ı hızlandırır
  • dMap key'leri dahili olarak her zaman Symbol'e çevrilir
Açıklama:Düz bir nesne her key'i string'e (ya da Symbol'e) zorlar, yani obj[{}] ile obj[1] ikisi de string key olarak biter. Map ise key'leri olduğu gibi tutar — nesne referansı, sayı, boolean, hatta NaN — hiçbir dönüşüm yapılmaz. (a) object davranışını tarif eder, Map'in avantajını değil. (c) ve (d) basitçe yanlıştır.
Javascript Runtime ApisZorluk 1
const user = { name: 'Ada', address: { city: 'London' } };
console.log(user.address?.city);
console.log(user.contact?.email);

Bu ne yazdırır?
  • aundefined sonra undefined
  • bLondon sonra TypeError fırlatır
  • cLondon sonra undefined
  • dilk satırda TypeError fırlatır
Açıklama:user.address var olduğu için ?.city normal şekilde city'yi okur → 'London'. user.contact undefined olduğu için ?.email hata fırlatmak yerine kısa devre yapar ve undefined döner — optional chaining tam olarak bunun içindir: elle user.contact && user.contact.email kontrolü yazmaktan kurtarır.
Javascript Runtime ApisZorluk 1
function getPort(config) {
  return config.port ?? 8080;
}
console.log(getPort({ port: 0 }));
console.log(getPort({}));

Bu ne yazdırır?
  • a0 sonra 8080
  • b8080 sonra 8080
  • c0 sonra undefined
  • d8080 sonra undefined
Açıklama:?? (nullish coalescing) yalnızca sol taraf null veya undefined olduğunda sağ tarafa döner — 0 bunlardan biri değil, bu yüzden config.port ?? 8080 ilk çağrıda doğru şekilde 0 döner. {} için config.port undefined'dır, dolayısıyla 8080'e düşer. Bu, || kullanılsaydı hata olacak klasik bir durumdur çünkü 0 || 8080 yanlışlıkla 8080 üretirdi.
Javascript Runtime ApisZorluk 1
const original = [1, 2, 3];
const copy = [...original];
copy.push(4);
console.log(original.length, copy.length);

Bu ne yazdırır?
  • a4 4
  • b3 3
  • c4 3
  • d3 4
Açıklama:Spread operatörü [...original], elemanları kopyalayarak yeni bir dizi oluşturur — bundan sonra copy ile original ayrı dizilerdir. copy'e push yapmak yalnızca copy'nin uzunluğunu değiştirir (4), original 3 uzunluğunda dokunulmamış kalır.
Javascript Runtime ApisZorluk 1
JavaScript'te Set'in tanımlayıcı özelliği nedir?
  • aMap gibi key-value çiftleri saklar, ama daha hızlı lookup yapar
  • bYalnızca benzersiz (unique) değerler saklar ve iterasyonda ekleme sırasını korur
  • cDeğerlerini otomatik olarak artan sırada sıralar
  • dYalnızca primitive değer tutabilir, nesne tutamaz
Açıklama:Set, benzersiz değerlerin bir koleksiyonudur — yinelenen bir değer eklemek hiçbir şey yapmaz — ve üzerinde iterasyon (for...of, spread ya da .forEach ile) ekleme sırasına göre değer verir. Değerleri sıralamaz, hem nesne hem primitive tutabilir, bu yüzden (c) ve (d) yanlıştır. (a) Set'i Map ile karıştırıyor.
Javascript Runtime ApisZorluk 1
const point = { x: 1, y: 2, z: 3 };
const { x, ...rest } = point;
console.log(x, rest);

Bu ne yazdırır?
  • a1 { x: 1, y: 2, z: 3 }
  • bundefined { y: 2, z: 3 }
  • c1 { y: 2, z: 3 }
  • d{ x: 1 } { y: 2, z: 3 }
Açıklama:Nesne destructuring'de x, x property'sini çeker (1), ...rest ise henüz destructure edilmemiş her şeyi yeni bir düz nesnede ({ y: 2, z: 3 }) toplar. x'in kendisi 1 primitive değerine bağlanır, bir nesneye değil.

2925 soruluk Frontend bankasında kendini sına.

Mülakata başla