フロントエンドのシステム設計の面接は、共同モデリング演習です。 最強の候補は、責任、データの動き、および失敗の行動を目に見える間、ユーザーと制約に固定された議論を維持します。
製品契約からスタート
- プライマリユーザーと重要な旅を特定します。
- スケール、レイテンシ、可用性、オフライン、デバイス、ブラウザ、アクセシビリティ、ローカリゼーション、セキュリティ制約を明確化します。
- 修正できる前提から、ハードな要件を分離します。
- アーキテクチャの決定を駆動する品質属性の名前。
責任と流れを引き出します
- ブラウザの表面および主要なプロダクト ドメインから始めて下さい。
- データソース、エッジ、またはバックエンドの境界、ストレージ、リアルタイムチャネル、およびサードパーティのシステムのみ関連する場合に追加します。
- データやイベントで重要なコネクションをラベル化します。
- 1つの読み取りパス、1つの書き込みパス、および1つの失敗パスを1つ通過します。
カバー フロントエンド固有の深さ
- 戦略とナビゲーションのレンダリング
- 状態の管理責任、サーバー状態、キャッシュの無効化
- ネットワークのレジリエンス、レトリー、潜在能力、およびオフライン動作
- 配達、性能の予算、イメージおよび長いタスクを束ねて下さい
- アクセシビリティ、国際化、セキュリティ境界、分析、および保守性
トレードオフの通信
- 決定を述べます。
- 制約の名前をつけて、それを合理的にします。
- 導入する費用や故障モードを説明します。
- あなたがそれを見直しる原因となる信号を記述します。
- ライブラリの選択をアーキテクチャそのものとして説明しないでください。
強力なクローズレビュー
- 重要なパスと品質属性をクリアします。
- 最大の残留リスクを特定します。
- システムをテストし、観察する方法を説明してください。
- 要件やスケール変更がある場合、または拡張機能が1つ用意されています。
プライマリソース
編集レビュー
製品の請求は、現在の経験に対してチェックされていました。問題を発見しましたか? 修正を送信します。