フロントエンドのシステム設計の面接は、共同モデリング演習です。 最強の候補は、責任、データの動き、および失敗の行動を目に見える間、ユーザーと制約に固定された議論を維持します。

01

製品契約からスタート

  • プライマリユーザーと重要な旅を特定します。
  • スケール、レイテンシ、可用性、オフライン、デバイス、ブラウザ、アクセシビリティ、ローカリゼーション、セキュリティ制約を明確化します。
  • 修正できる前提から、ハードな要件を分離します。
  • アーキテクチャの決定を駆動する品質属性の名前。
02

責任と流れを引き出します

  • ブラウザの表面および主要なプロダクト ドメインから始めて下さい。
  • データソース、エッジ、またはバックエンドの境界、ストレージ、リアルタイムチャネル、およびサードパーティのシステムのみ関連する場合に追加します。
  • データやイベントで重要なコネクションをラベル化します。
  • 1つの読み取りパス、1つの書き込みパス、および1つの失敗パスを1つ通過します。
03

カバー フロントエンド固有の深さ

  • 戦略とナビゲーションのレンダリング
  • 状態の管理責任、サーバー状態、キャッシュの無効化
  • ネットワークのレジリエンス、レトリー、潜在能力、およびオフライン動作
  • 配達、性能の予算、イメージおよび長いタスクを束ねて下さい
  • アクセシビリティ、国際化、セキュリティ境界、分析、および保守性
04

トレードオフの通信

  • 決定を述べます。
  • 制約の名前をつけて、それを合理的にします。
  • 導入する費用や故障モードを説明します。
  • あなたがそれを見直しる原因となる信号を記述します。
  • ライブラリの選択をアーキテクチャそのものとして説明しないでください。
05

強力なクローズレビュー

  • 重要なパスと品質属性をクリアします。
  • 最大の残留リスクを特定します。
  • システムをテストし、観察する方法を説明してください。
  • 要件やスケール変更がある場合、または拡張機能が1つ用意されています。
参考文献

プライマリソース

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