一方
- 一言で言うならクロスドメイン
- それは、クロスドメインの原因とクロスドメインを解決する方法の観点から言うことができます。
- 1.1クロスドメインは、主にブラウザの同一起源のポリシーが原因で、クロスドメインの応答を傍受することです。
- 1.2クロスドメインの解決策は、具体的には、JSONP、CORS、リバースプロキシなどです。
- URLを入力するとどうなるか
- ストロングキャッシュの検索 -> リクエストの構築 -> DNS解決 -> TCP接続の確立 -> HTTPリクエストの送信 -> レスポンス -> DOMツリーの構築 -> CSSOMツリーの構築 -> レイアウトツリーの主張 -> レイヤーツリーの構築 -> 描画リストの生成 -> ブロックの生成 -> 表示の監視
- 再描画とリフローについて一言
- 再描画とリフローのトリガー条件とプロセス、そしてそのための最適化戦略。
- new 演算子による操作
- constructor.prototypeをプロトタイプとして空のオブジェクトを作成し、作成した空のオブジェクトにコンストラクタのthisをバインドして実行し、結果が参照データ型であればその結果を返し、そうでなければ作成したオブジェクトを返します。
- CommonJSとESのモジュール性の違いについて一言
アルゴリズムに関する3つの質問
- バージョン番号順
// ['1.1.1.1.1.1', '6', '5.4.3', '2.3.1', '2.3.1.1']
バージョン番号の大きいものから小さいものまでの配列を返す
- リンクされたテーブルにリングがあるかどうかの判定
- 皆さんが希望するオファーを得られることを祈っています。
- あるクラスの add メソッドを実装して、並列要求が同時に 2 つだけ発生し、並列要求が完了すると、すべての並列要求が完了するまで次のタスクが自動的に実行されるようにします。
class Scheduler {
async add(promiseFunc) {
}
}
const scheduler = new Scheduler()
const timeout = (time) => {
return new Promise(r => setTimeout(r, time))
}
const addTask = (time, order) => {
scheduler.add(() => timeout(time)).then((res) => console.log(res))
}
addTask(1000, 1)
addTask(500, 2)
addTask(300, 3)
addTask(400, 4)
- Koaによるリクエスト・レスポンス時間のリスニング
二次面接
2つの質問が出ました:
- O(n)の時間複雑度を必要とする配列の重複排除のES5実装。 [1, 2, 2, '1', 'test'] => [1, '1', 'test'] 1と'1'を区別できることが必要です。
- Promise
[promiseGenerator]
promiseGenerator => Promise
dispatch(arr, n) {
}
// 派遣方法を実施する
前回とほぼ同じ路線。
次のステップは、履歴書に従って、プロジェクトについて、プロジェクトで行ったことのハイライトについて尋ねることです。
それから基本的な質問をしました:
- HTTPSはHTTPに対して何をするのですか?
- SSL+デジタル署名の観点から
- HTTP 2.0の最適化?
- ヘッダ圧縮、多重化、サーバプッシュの3つの分野について詳しくお答えします。
- HTTP1にキューヘッドブロッキングの問題がある理由を教えてください。
- HTTP2.0は、サーバー側のファイルが変更されていない場合は、この時点ではまだアクティブなPUSHされますので、サーバー起動PUSHを実装して、どのようにこの問題を解決するには?
- Reactの方がお詳しそうですが、それについて教えてください。
- 解決した問題、利点、原理について少し教えてください。
- このソースコードを見て、何が印象的だったか教えてください。
- 仮想DOMの利点
- 機能的なUIプログラミング、クロスプラットフォーム。
- webpackの原理について一言
- それは依存関係グラフを構築するプロセスです。
- webpackはローダーやプラグインを実装したことがありますか?
- webpack loader希望のオファーが来ることを祈っています。
三次面接
3回目のインタビューは比較的短時間で行われ、プロジェクトに関する質問から始まり、少し長く続きました。その後は何も聞かれず、いきなり2つの質問:
非常に長い減らない配列で、ある数の出現回数を求めます。
[1, 2, 3, 3, 4, ......, 45, 45, 69, ......, 1000]
例:80が出現する回数を求めます。- バイナリ・ルックアップを使って、この数字が出現するインデックスを見つけ、それを左から右に展開します。
フラッシュトランプの問題 トランプのキングのサイズを削除し、残りの1〜13スペード、ハート、クラブ、ダイヤモンド、1〜13スペードは1〜13、1〜13ハートは14〜26、1つずつ5枚のカードを取り出すための解決策を解決するために類似した番号を付けロイヤルフラッシュです。
- 解決方法は簡単で、まず最大値と最小値の合計を4でソートし、次に最小値と最大値が指定された区間内にあるかどうかを判断します。
3回目のインタビューは、プロジェクトが中心で、アルゴリズムも非常にシンプルで短時間で行われました。
hrインタビュー
HRの顔の日についての3つの顔の後、私はバイト効率を言わなければならない、HRの顔は素敵な若い女性です〜主にいくつかの仕事、インターンシップ、学校、それを学ぶことを伝えました。
- なぜインターンシップを辞めずに、転校したのですか?
- 自分の強みは何だと思いますか?
- 自分の欠点は何だと思いますか?
- 給与条件は?
- あなたの中で、給与はどこで、どのようなウェイトを占めていますか?
- インターンシップ中の会社の労働時間についてどう思いましたか?許容範囲ですか?
- 残業についてどう思いますか?
- 今後2、3年のキャリアプランは?
- バックエンドを学ぶのか、AIを学ぶのか、それともフロントエンドに集中するのか。
- 普通の勉強法ですか?
おそらくこういう質問もあったでしょうし、当時は思い出せないような質問もあったでしょうし、40分ほどやりとりして、プロセスはかなりOKでした。
私が、最近インドがジッターバグの海外版をブロックしたことについてどう思うかと聞いたところ、彼女は笑って、この点について会社が何をしているかを説明し、3営業日後にオファーが来ると教えてくれました。
意向表明書が届いてから1週間が経とうとしていますが、希望のオファーが届くことを祈っています~!