前端/移动开发面试题更新 2026-08-05

如果要开发一个用于统计前端页面请求耗时的工具,你会怎么设计它的整体架构和核心功能?

前端/移动开发性能优化系统设计方案权衡

考察说明

考查候选人设计前端性能监控工具的能力,包括数据采集、上报、存储和展示。

回答思路

  1. 【回答框架 1】设计核心是采集请求耗时数据,通过Performance API或拦截XMLHttpRequest和fetch获取开始和结束时间,计算耗时并附带请求URL、方法、状态码等上下文。
  2. 【回答框架 2】数据上报采用批量异步发送,避免影响主流程,使用sendBeacon或图片打点,在页面卸载时确保数据不丢失,并考虑采样率控制上报量。
  3. 【回答框架 3】存储层可选用时序数据库或日志系统,按时间维度聚合,支持查询平均耗时、分位数(如P95)和错误率,前端展示通过图表呈现趋势和分布。
  4. 【回答框架 4】方案需权衡精度与性能,采集过多会消耗资源,需设置采样策略和上报频率,同时注意跨域和隐私问题,避免采集敏感信息。
  5. 【回答框架 5】实际部署时需考虑监控自身的稳定性,如上报失败重试、数据压缩,以及如何与现有监控体系集成,提供告警和排查链路。
  6. 【关键点 1】使用Performance API或拦截请求计算耗时,需处理异步和并发请求。
  7. 【关键点 2】批量异步上报,使用sendBeacon保证页面卸载时数据送达。
  8. 【关键点 3】存储和展示需支持分位数统计和趋势分析,便于定位性能问题。
  9. 【关键点 4】采样率控制上报量,避免影响业务性能。
  10. 【关键点 5】注意跨域、隐私和监控自身稳定性。
  11. 【易错点 1】不能直接认为拦截所有请求就能准确统计,需考虑缓存、重定向和跨域影响。
  12. 【易错点 2】上报机制若同步阻塞会拖慢页面,必须异步且轻量。
  13. 【易错点 3】忽略采样和去重会导致数据量过大,增加存储和查询成本。