JavaScript çok küçük bir dil olduğu için, yine de inanılmaz karmaşıklığa sahip olduğundan, nispeten basit sorular sorabilmeli ve cevaplarına göre gerçekten bu kadar iyi olup olmadıklarını öğrenebilmelisiniz. Örneğin, görüşmenin geri kalanını ölçmek için standart ilk sorum şudur:
JavaScript'te var x = 1ve arasındaki fark x = 1nedir? Kendinizi rahat hissettiğiniz kadar çok veya az ayrıntıyla yanıt verin.
Acemi JS programcılarının yereller ve küreseller hakkında temel bir cevabı olabilir . Orta düzey JS çalışanları kesinlikle bu cevaba sahip olmalı ve muhtemelen işlev düzeyinde kapsamdan bahsetmelidir. Kendisine "gelişmiş" JS programcısı diyen herkes, yereller, dolaylı küreseller, windownesne, işlev kapsamı, bildirim kaldırma ve kapsam zincirleri hakkında konuşmaya hazır olmalıdır . Ayrıca, [[DontDelete]]öncelik yükseltme (parametreler vs varvs function) ve hakkında duymak isterim undefined.
Bir başka iyi soru da, sum()herhangi bir sayıda argümanı kabul eden ve toplamlarını döndüren bir işlev yazmalarını istemektir . Ardından, bir dizideki tüm değerleri toplamak için bu işlevi (değişiklik yapmadan) kullanmalarını isteyin. Şöyle görünen bir işlev yazmaları gerekir:
function sum() {
var i, l, result = 0;
for (i = 0, l = arguments.length; i < l; i++) {
result += arguments[i];
}
return result;
}
sum(1,2,3); // 6
Ve bunu sizin dizinizde applyşu şekilde çağırmaları gerekir (bağlamı ne olursa olsun, genellikle nullbu durumda kullanırım):
var data = [1,2,3];
sum.apply(null, data); // 6
Bu cevaplara sahiplerse, muhtemelen JavaScript'lerini biliyorlardır. Daha sonra, iyi bir programcı olup olmadıklarını öğrenmek için testler, iş akışları, sürüm kontrolü vb. Gibi JS'ye özgü olmayan şeyleri sormaya devam etmelisiniz .