Karena JavaScript adalah bahasa yang sangat kecil, namun dengan kompleksitas yang luar biasa, Anda harus dapat mengajukan pertanyaan yang relatif mendasar dan mencari tahu apakah mereka benar-benar bagus berdasarkan jawaban mereka. Misalnya, pertanyaan pertama standar saya untuk mengukur sisa wawancara adalah:
Dalam JavaScript, apa perbedaan antara var x = 1dan x = 1? Jawab sedetail atau sesedikit mungkin Anda merasa nyaman.
Pemrogram JS pemula mungkin memiliki jawaban dasar tentang penduduk lokal vs global. Orang-orang JS menengah pasti memiliki jawaban itu, dan mungkin harus menyebutkan ruang lingkup tingkat fungsi. Siapa pun yang menyebut diri mereka seorang programmer JS "maju" harus siap untuk berbicara tentang penduduk lokal, global tersirat, windowobjek, fungsi-lingkup, pengangkat deklarasi, dan rantai cakupan. Selain itu, saya ingin mendengar tentang [[DontDelete]], mengangkat prioritas (parameter vs varvs function), dan undefined.
Pertanyaan bagus lainnya adalah meminta mereka untuk menulis sum()fungsi yang menerima sejumlah argumen, dan mengembalikan jumlah mereka. Kemudian, minta mereka untuk menggunakan fungsi itu (tanpa modifikasi) untuk menjumlahkan semua nilai dalam array. Mereka harus menulis fungsi yang terlihat seperti ini:
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
Dan mereka harus memanggilnya pada array Anda seperti ini (konteks untuk apply bisa apa saja, biasanya saya gunakan nulldalam kasus itu):
var data = [1,2,3];
sum.apply(null, data); // 6
Jika mereka sudah mendapat jawaban itu, mereka mungkin tahu JavaScript mereka. Anda kemudian harus melanjutkan untuk bertanya kepada mereka tentang hal-hal khusus non-JS seperti pengujian, alur kerja, kontrol versi, dll. Untuk mengetahui apakah mereka adalah programmer yang baik .