JavaScriptは非常に小さな言語ですが、信じられないほど複雑なので、比較的基本的な質問をして、その答えに基づいて本当に優れているかどうかを確認できるはずです。たとえば、残りのインタビューを評価するための標準的な最初の質問は次のとおりです。
JavaScriptでは、どのような違いであるvar x = 1とはx = 1?必要に応じて、できるだけ詳細に回答してください。
初心者のJSプログラマーは、ローカルとグローバルについて基本的な答えがあるかもしれません。中級のJSの人は間違いなくその答えを持っているはずであり、おそらく関数レベルのスコープについて言及すべきです。自分自身を「高度な」JSプログラマと呼ぶ人は、ローカル、暗黙のグローバル、windowオブジェクト、関数スコープ、宣言ホイスト、スコープチェーンについて話す準備ができている必要があります。さらに、[[DontDelete]]優先順位の引き上げ(パラメーターvs var対function)、およびについても知りたいですundefined。
別の良い質問は、sum()任意の数の引数を受け入れ、それらの合計を返す関数を書くように依頼することです。次に、その関数を(変更せずに)使用して、配列内のすべての値を合計するように依頼します。彼らは次のような関数を書くべきです:
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
そして、彼らはこのようにあなたの配列でそれを呼び出すべきです(のコンテキストはapply何でもかまいませんnull、その場合私は通常使用します):
var data = [1,2,3];
sum.apply(null, data); // 6
それらの答えがある場合、おそらくJavaScriptを知っています。次に、テスト、ワークフロー、バージョン管理などの非JS固有のものについて彼らに尋ねて、彼らが優れたプログラマーであるかどうかを調べる必要があります。