巨大なインタビューを覚えておいてください

次回は非常に不快なああです地下鉄駅へのオフィスで五角場のインタビューの場所、。

オフィスエリアレセプション妹を入力した後、すぐに(実際にはメーカーの色...本当にリッチ)ペンの質問のセットを与えました。

書かれた部分

45分、実際の解答時間近くに疑問ください。

質問転送IDのINT64タイプのフロントエンドの問題へのバックエンドがどうなりますか?どのように解決するには?

サイトを復元します。無知の力を見て。その後、突然、アルゴリズムの前に書かれた質問を考え、私たちは、例えば、文字列を掛け、関数を書くように頼ま'12' * '40' = '480'タイトルはアルゴリズムを書いていないが、しかし、Number型は、JSの長さの制限であることを知っています。ああ、標準の答えは、この質問は、IDの文字列に変換する必要があります!

正解:JS数は2 ^ 53まで入力 - 1、および前部を越えて広がっInt64の長い長い整数の後に失われます。解決策は、遠位IDに、文字列に入れています。


質問2つの簡単にブラウザのキャッシュメカニズムは何?自分の長所と短所について話しています。

サイトを復元:ちょうど書き、強力なバッファキャッシュからストレージと相談クッキーに、質問のファンダメンタルズに属しています。

正解:少し。今、私が追加されるべきだと思うことserviceWorkerではないでしょうか?


質問3はそれができなかった、と考えることはできません。


質問4 CSS、次のプログレスバーを引くと(図はオンラインで見つける、中央の数字を無視します)

サイトを復元:この質問は最後に書かれている、それは時間のうち、すでにだった、と誰もが私を呼びません。最後に、実際には考えていない、では少し急いで両手を書きます。

正解:クリップリングプログレスバーを達成するために


5つの質問まで2つの同時タスクに、ディスパッチャのJSを使用するように設計されています。

// 以下是场景,凭记忆写的,不一定正确
let promiseCreator = (task) =>{
    // do something
}
let scheduler = new Scheduler()
let runTask = (task, price) => {
    scheduler.add(promiseCreator(task))
    .then(()=> console.log(price))
}
runTask(task, 10)
复制代码

サイトを復元します。一見する前にこの問題を見て、アイデアがまだそこにある、クラスのコンストラクタを作成し、内部タスクキューを達成するために、その後、新しいタスクがあり、すべてのキュー、次のタスクへの通知後のタスクの実行については、更新されているで来ます。ことに留意すべきscheduler.add()メソッドがオブジェクトを返すためにその約束を示し、その後、呼び出すことができます。

正解:ように書くと。

インタビューパート

ペンの質問は、後の質問は前にペンを中心に展開し、開始後2回の技術的な面接、簡単な自己紹介を終えました。書くためにもっと面白いのいくつかを選んで、時間をインタビュー:

Q:バックエンドのパスint64型と何が問題なのですか?だから、何が起こるかint64モードでチュアンチュアン番号5であれば?図5は、すべて0または5つすべての背後にありますか?

:JS Number型では最大を超えて残る、長さの制限を持っているので、バックエンドは、文字列は[OK]を渡します。問題の背後に明確ではありません。

Q:あなたが本当にそのINT64何を理解していませんか?しかし、私はこの質問が間違っている必要があります知っていますか?

A:はい。(ブラッシング経験の問題は前に少しも敏感だと思う、言及する勇気により求められたブラシアルゴリズム質問の恐怖に、インタビュアーはあなたの問題解決のアイデアを聞いてより喜んかもしれ

Q:それはのは、この質問は最後のスケジューラを見てみましょう、重要ではありません、あなたはあなたの考えについて話すことができますか?

:2つのタスクキュー、メモリタスク、預金のタスクスケジューリングを作成し、現在、次のタスクを実行する記録の保留中の変数を設定します。

Q:私はそれを書くためにキューを使用することはできますか?あなたは状態が何保留定義する必要がありますか?

瞬間:()キューの考えはできません保留中の、最適化することができます。

Q:実際には、保留状態されていません。タスクがうまく次のタスクを完了した後に直接実行ので。

インタビューの最後にインタビュアーが、それは意図的に間違っているかもしれないと思う後:(心は、右ではありませんインタビュアーを感じ、非常に混乱しているが、反論するのは良いアイデアを終えていません。)

Q:ネストされた配列、数字のみと2の配列があり、どのように描画しますか?

A:再帰。typeof演算と判断。

Q:データの場合。今回は私がでIsArrayと答えます。本当に遅く、私はインタビュアーがそう尋ねたことを聞いていませんでした。答えてはいけません

Q:useState、このような安定したフック(コンポーネントアップデートステータスの後には変更されません)方法は?

これは未解決の問題である、インタビュアーは、私が何かを理解していないが、彼は、私と一緒に議論するために、ソースコードを読んでいないと述べました。定義された自己閉鎖特性を利用したが、それをフック

要約します

インタビュアーが移動するので、その後、答えが最も重要であるときのアイデアを明確に、(応答しない)絶食する必要はありませんが、真剣にあなたのヒントや答えを与えるために面接を考え、信頼を維持する必要があります良い技術者だけでなく、 、だけでなく、人々と彼らの問題を解決することができます。

インタビュアーはあなたに我々はそれが間違っている場合でも、自分のアイデアについて話すべきである考える時間を与えているので、あきらめることを急いではありません対象は発生しません。

ます。https://juejin.im/post/5d05d856e51d45773d468605で再現

おすすめ

転載: blog.csdn.net/weixin_33874713/article/details/93173340