nodejs面接のまとめ

3448 ワード

今回は、最近面接したいくつかの会社の面接問題(本人のプロジェクトの内容は紹介しないかもしれません.)をメモします.
一つのhttp要求は、クライアントからサービスまでどのようなステップが必要ですか?
簡単な説明は以下の通りです
1.ドメイン名解析(DNSサーバ)
2.Tcp接続
3.http要求を送信する(要求行、要求ヘッダ、要求情報)
4.サーバ応答要求
5.Tcp切断接続は具体的に見てください.転送ゲート
二、jsスタックとスタックに対する理解を話してください.(元の問い方は引用の種類と値の種類を通して説明されています)
三、
①原型に属性や方法を追加するにはどうすればいいですか?
function person(){} 
person.prototype.say = function(){}
②形参でpersonに属性nameを追加し、zhangsanというオブジェクトを作成して、personの属性を継承します.
function Person(name){
       this.name = name;
}
Person.prototype.say(){
console.log(this.name);
}

const zhangsan = new Person(‘zhangsan’);
③lisiを作成するオブジェクトです.
  const lisi = new Person(‘lisi’);
④李四に張三のsay関数を継承させるにはどうすればいいですか?(どのようにthisの方向を変えて、zhangsanのthisをlisiにさせるか)説明:lisi.sayを呼び出します.プリントzhangさん
  es5     bind()    。    :
コンベヤー?ドア
四、論理演算が複雑なプログラムブロック(例えば億)があると、運転時に何が発生しますか?このような状況に遭遇したら通常どう解決しますか?process.nextTick()は分かりますか?ご理解をお願いします.
五、
①プロモーションを宣言し、5秒後にハロルドを出力する
②promiseで実行している内容は呼び出し前ですか?それとも呼び出し前ですか?thenは実行しますか?
六、
const p1 = function(){
return new promise(resolve=>{});
};
const p2 = function(){
return new promise(resolve=>{});
};

async function f1(){
   //      p1 p2            ?         p1( p2)          p2( p1)。
}
七、相手に向かってどう理解しているかを話してください.
八、あなた達のプロジェクトの中のapiは通常どのように決めますか?簡単にレスアプリを説明します.
9、Nodeが熟知している枠組みについて、expressはどのように中間部品から次の中間部品まで実行するかを話します.
十、Expressとkoaまたはeggの違い?
十一、あなたが作ったライブラリの分類表の例をいくつか挙げます.
十二、あなたは普通どうやってmysqlの検索を最適化しますか?
十三、あなた達のプロジェクトではredisの方法を使いました.setとmsetの違いは?
十四、Mysqlのインデックスはどうやって実現されますか?
十五、たとえば一つのMysql貯蔵過程と一つの事務を書き出します.
十六、Es 5の普通関数とs 6の矢印関数はどう違いますか?まだthisの指向があります.
十七、開発の過程で、どのような解決しにくい問題に出会いましたか?(ほとんどの会社が聞きます)
十八、よく使うシステムは何がありますか?Dockerはどのように配置されていますか?
イベントloop、libuv、イベントサイクルは分かりますか?あなたの理解を話してください.
最後に一枚、面接の筆記試験問題です.