ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の面接の 7 つの質問を分析して、偽りの質問を削除し、本物の質問を残します。

JavaScript の面接の 7 つの質問を分析して、偽りの質問を削除し、本物の質問を残します。

黄舟
黄舟オリジナル
2017-03-11 15:17:281399ブラウズ

JavaScript の面接の 7 つの質問を分析して、偽物を取り除き、真実を保ちましょう

非常に多くの人が仕事を求めて面接に来ますが、その履歴書はどれも非常に素晴らしいものであることに驚かれるでしょう。しかし、それについて彼らに尋ねると、彼らはそれについて何も知らないことがわかります。これらの履歴書が本物なのか、それともただの見せかけなのかはわかりません。そのため、他の面接官と同じように、私も、面接対象者が面接に値する人物であるかどうかを最初に確認する独自の方法を持っています。電話で 30 分で完了します。

ということで、私の 7 つの質問に含まれていない、尋ねるべきだと思われる質問がある場合、それは私が面接の後半に置いたからかもしれません。

あと、技術面接ではプログラマーが本当に優秀かどうかは分からないと思っている人にも言いたいです…

その通りです。私が若いプログラマーだったとき、技術的な質問の面接を受けているとき、同じように感じました。しかし、私が面接官になった今、この方法は、少なくとも技術面接に合格した人は、不合格だった人よりも優れたプログラマーである可能性がはるかに高いことを証明できると思います。

最後に、私が言いたいのは、3~2問間違えたり、予想通りに答えなかったからといって合格することはありません。ただし、相手がほとんどの質問に答えられない場合は、心の中で赤信号を灯します!

面接前に尋ねるべき次の 7 つの JavaScript 面接の質問。そうしないと、時間が無駄になる可能性が高くなります。

1. JavaScript オブジェクトを作成する 2 つの方法は何ですか?

JavaScript を使用したことがある方にとって、これは非常に簡単な質問です。少なくとも 1 つの方法を知っておく必要があります。しかし、それにもかかわらず、私の経験では、JavaScript プログラマーを自称する人々の中にも、この質問にどう答えればよいかわからないと言う人もたくさんいます。

  • 関数を呼び出すには、「new」キーワードを使用します。

  • 中括弧を開閉します。

var o = {};

「新しいキーワードを使用して、オブジェクトはどのような状況で作成されますか?」と質問を続けることもできます。ただし、私は何人かを排除したいだけなので、これらの質問は実際のインタビューまで待ってください。

2. 配列を作成するには?

これは「オブジェクトの作成方法」と同じレベルの質問です。ただし、最初の質問は答えられるけど、この質問は答えられないという人もいます。

次のコードを使用して配列を簡単に作成します:

var myArray = new Array();

配列の作成は非常に複雑なプロセスです。ただし、角括弧を使用して候補者からの回答を聞きたいです。

var myArray = [];

もちろん、JavaScript 配列内の重複要素を効率的に削除する方法など、他の質問を続けることもできますが、候補がさらに観察する価値があるかどうかを知る必要があるだけなので、ここで終了します。配列の質問を使用します。

3. 変数ホイスティングとは何ですか?

この質問は少し難しいので、相手に答える必要はありません。ただし、この質問は候補者の技術的熟練度を判断する簡単な方法です。つまり、候補者はプログラミング言語を自分で言っているほど本当に理解していますか?

変数のプロモーションとは、変数がスコープ内のどこで宣言されても、JavaScript エンジンがこの宣言をスコープの先頭に移動することを意味します。関数の途中で変数を宣言した場合、たとえば特定の行で変数を代入すると、

function foo()
{
    // 此处省略若干代码
    var a = "abc";
}

は実際に次のようなコードを実行します:

function foo()
{
    var a;
    // 此处省略若干代码
    a = "abc";
}

4. グローバル変数のリスクとその保護方法干渉によるコード?

グローバル変数の危険性は、他の誰かが同じ名前の変数を作成し、あなたが使用している変数を上書きできることです。これはどの言語においても頭の痛い問題です。

それを防ぐ方法はたくさんあります。最も一般的な方法の 1 つは、他のすべての変数を含むグローバル変数を作成することです:

var applicationName = {};

その後、グローバル変数を作成する必要がある場合は、それをオブジェクトにアタッチするだけです。

applicationName.myVariable = "abc";

もう 1 つの方法は、すべてのコードを自動的に実行される関数にカプセル化し、宣言されたすべての変数が関数のスコープ内で宣言されるようにすることです。

(function(){
   var a = "abc";
})();

実際には、両方の方法を使用できます。

5. JavaScript オブジェクトのメンバー変数を反復処理するにはどうすればよいですか?

for(var prop in obj){
    // bonus points for hasOwnProperty
    if(obj.hasOwnProperty(prop)){
        // do something here
    }
}

6. クロージャー(クロージャー)とは何ですか?

クロージャを使用すると、別の外部関数のスコープ内で定義された関数は、スコープ内の他のすべてが消えた場合でも、その外部関数内の変数に引き続きアクセスできます。受験者が、反復変数の現在値を保持する変数を宣言せずに for/next ループ内でクロージャを使用するリスクの一部を説明できればボーナス点。

7. あなたが経験したJavaScript単体テストについて説明してください。

この質問に関しては、実際には候補者が実際に JavaScript 単体テストを行ったかどうかを確認したいだけです。これは特定の正解がない自由回答の質問ですが、その人はプロセスについて少なくとも何かを伝えることができなければなりません。

皆さんもぜひ追加してください。

以上がJavaScript の面接の 7 つの質問を分析して、偽りの質問を削除し、本物の質問を残します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。