有用なJavaScriptの質問は、記憶された文章を報いるのではなく、精神的なモデルを明らかにする必要があります。これらのグループを使用して、何が起こるのか、なぜそれが起こるのか、そしてどのようにそれを検証するかを説明する練習をします。

01

言語行動

  • lexical スコープとスコープチェーンが閉鎖にどのように影響しますか?
  • `this` はいつ呼び出し元に依存し、いつ依存しませんか?
  • 実用的なバグは、コエシオンが導入できますか?
  • プロトタイプが委任をサポートする方法は?
  • モジュールが複数回評価される場合の変更は?
  • プロパティ記述子が API にどのように影響しますか?
  • シンボルが役に立つとき?
  • 浅いコピーと深いコピーの違いは?
  • 異なる平等的な操作で2つの値が等しくなるのは?
  • 仮のデッドゾーンをどのように説明しますか?
02

JavaScriptとブラウザを同期させる

  • タスクとキュートなマイクロタスクを巻き込んだイベントループのターンを1つ記述します。
  • UIは、もはや関連しないリクエストをキャンセルする方法は?
  • 未処理の約束拒絶の原因は?
  • リクエストのバッチにコンロを制限する方法は?
  • 2つの呼び出し主が機内リクエストを共有する方法は?
  • 「Promise.allSettled」が「Promise.all」よりも有用である場合?
  • 古いレスポンスが新しいデータを上書きするのをどう防ぎますか?
  • loaderが拒否した後、キャッシュエントリに何が起こるか?
  • タイマーは、非アクティブタブでどのように動作しますか?
  • フロントエンドシステムにバックプレッシャーが表示される場所は?
03

実装と検証

  • キャンセルによる不具合の発生
  • スロットルを実装し、その主流と追跡行動を説明します。
  • 未登録のサポートでイベントエミッタを作成します。
  • TTL と機内の重複排除でキャッシュリクエストをビルドします。
  • 入力をミュートせずにネストしたデータをフラットにします。
  • 明示的な停止ポリシーで再試行ヘルパーを記述します。
  • 少々のタスクスケジューラをコンカレンスで実装します。
  • サーバデータをエンティティティティマップに正規化します。
  • メモ作成ヘルパーを作成し、無効な制限を記述します。
  • 時間に依存する機能のテストを設計します。
04

シニアレベルのディスカッション

  • 実行時間検証は、タイプされたフロントエンドに座る場所?
  • 共有クライアント API を消費者を破壊することなく進化させる方法は?
  • 要求層で観察できるものは何ですか?
  • 制作で長いタスクを調べる方法は?
  • ウェブワーカーが正当化した時?
  • バンドル境界はランタイムの動作にどのように影響しますか?
  • 障害時に段階的に機能を縮小する仕組みをどう設計しますか?
  • クライアントコードだけで保証してはいけないセキュリティ上の前提は何ですか?
  • コンテキストを非表示にすることなく、エラー処理を一貫して行う方法は?
  • どのブラウザの制約がアーキテクチャを変更しますか?
05

質問の練習方法

  • 3つのパスで回答:メカニズム、具体的な例、およびトレードオフ。
  • 契約や重要なエッジケースを押下した後にのみコードを書く。
  • 1つの成功事例、1つの境界ケースと1つの失敗パスを確認します。
  • より長いスクリプトを記憶するのではなく、練習のトピックとして弱い説明を録音します。
  • 証拠があなたの決定を変えるものの名前を付けることによって終わり。
参考文献

プライマリソース

編集レビュー
製品の請求は、現在の経験に対してチェックされていました。問題を発見しましたか? 修正を送信します。