前端系统设计面试是合作建模工作。 最强的候选人在让责任、数据移动和失败行为明显可见的同时,将讨论定位在用户和限制之下。

01

从产品合同开始

  • 识别主要用户和关键旅程。
  • 明确尺度,耐久性,可用性,离线性,设备,浏览器,可访问性,本地化,以及安全约束.
  • 将硬性要求与可以修改的假设分开。
  • 命名将驱动架构决定的质量属性 。
02

绘制责任和流动

  • 从浏览器表面和主要产品域开始.
  • 仅在相关时添加数据源,边缘或后端前端边界,存储,实时通道,以及第三方系统.
  • 标记与移动到它们之间的数据或事件的重要连接 。
  • 穿过一条读道,一条写道,一条失败道.
03

覆盖前端特定深度

  • 渲染战略和导航
  • 状态归属、服务器状态和缓存失效
  • 网络恢复能力、复试能力、自理能力和离线行为
  • 组合交付、绩效预算、图像和长期任务
  • 无障碍、国际化、安全界限、分析、可观察性
04

交流权衡

  • 宣布决定。
  • 说出限制,使其合理。
  • 解释它引入的成本或失败模式.
  • 描述会令你重温的信号.
  • 避免将库选项作为架构本身显示 。
05

有力的结束性审查

  • 重写关键路径和质量属性 。
  • 查明尚存的最大风险。
  • 解释你如何测试和观察系统。
  • 如果要求或规模发生变化,可有意延长一次。
参考资料

主要来源

编辑审查
产品申报是根据目前的经验加以核实的。 发一更正.