[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-info":3,"article-8":4,"article-categories":15,"detail-hot":34,"article-related-8":75},null,{"id":5,"title":6,"categoryId":7,"categoryName":8,"isTop":9,"viewCount":10,"createdAt":11,"updatedAt":12,"excerpt":13,"content":14},8,"产品需求评审：把「想清楚」变成可执行的清单",4,"产品与思考",false,476,"2026-10-16T18:30:42.000Z","2026-11-14T00:34:45.000Z","需求评审最怕两种情况：讲的人觉得都讲清楚了，做的人觉得到处是坑。后来我们改成用清单驱动评审，效率提升明显。 评审清单 这个需求解决了谁的什么问题？ 主流程是什么，异常流程有哪些？ 数据从哪里来，边界情况怎么处理？ 上线后如何衡量效果？ 一个反面例子 「加一个搜索框」听起来很简单，但实际涉及：搜索范围、分词规则、空结果提…","\u003Cp>需求评审最怕两种情况：讲的人觉得都讲清楚了，做的人觉得到处是坑。后来我们改成用清单驱动评审，效率提升明显。\u003C\u002Fp>\n\u003Ch2>评审清单\u003C\u002Fh2>\n\u003Col>\n  \u003Cli>这个需求解决了谁的什么问题？\u003C\u002Fli>\n  \u003Cli>主流程是什么，异常流程有哪些？\u003C\u002Fli>\n  \u003Cli>数据从哪里来，边界情况怎么处理？\u003C\u002Fli>\n  \u003Cli>上线后如何衡量效果？\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>一个反面例子\u003C\u002Fh2>\n\u003Cp>「加一个搜索框」听起来很简单，但实际涉及：搜索范围、分词规则、空结果提示、搜索历史、埋点统计。清单能把这些问题提前暴露出来。\u003C\u002Fp>\n\u003Cblockquote>好的评审不是说服别人接受方案，而是一起发现方案里还没有想清楚的部分。\u003C\u002Fblockquote>",{"list":16,"total":32},[17,22,26,30,31],{"id":18,"name":19,"sort":18,"createdAt":20,"updatedAt":20,"articleCount":21},1,"技术笔记","2026-11-12T18:30:42.000Z",16,{"id":23,"name":24,"sort":23,"createdAt":20,"updatedAt":20,"articleCount":25},2,"前端开发",38,{"id":27,"name":28,"sort":27,"createdAt":20,"updatedAt":20,"articleCount":29},3,"后端与架构",53,{"id":7,"name":8,"sort":7,"createdAt":20,"updatedAt":20,"articleCount":18},{"id":32,"name":33,"sort":32,"createdAt":20,"updatedAt":20,"articleCount":23},5,"生活随笔",{"list":35,"total":73,"page":18,"pageSize":74},[36,43,49,55,61,67],{"id":37,"title":38,"categoryId":27,"categoryName":28,"isTop":9,"viewCount":39,"createdAt":40,"updatedAt":41,"excerpt":42},24,"深入理解 分布式锁实现",1865,"2026-11-02T03:30:42.000Z","2026-11-14T00:34:49.000Z","这是「分布式锁实现」主题下的一篇实践记录：深入理解 分布式锁实现。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，分布式锁实现往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":27,"title":44,"categoryId":23,"categoryName":24,"isTop":9,"viewCount":45,"createdAt":46,"updatedAt":47,"excerpt":48},"前端性能优化：从首屏 3.2s 到 1.1s",1852,"2026-11-07T18:30:42.000Z","2026-11-14T00:34:48.000Z","上个月接手一个后台项目，首屏加载 3.2 秒，用户反馈「点开要等一下」。经过一周优化，稳定在 1.1 秒左右。下面按收益从高到低记录。 1. 先量化，再优化 优化之前必须建立基线。我使用的是 Lighthouse + 真实用户监控两条线：实验室数据看瓶颈，真实数据看用户感受。 2. 拆包与懒加载 路由级代码分割，首屏只…",{"id":50,"title":51,"categoryId":23,"categoryName":24,"isTop":9,"viewCount":52,"createdAt":53,"updatedAt":47,"excerpt":54},37,"微前端拆分方案 实践笔记",1846,"2026-10-22T20:30:42.000Z","这是「微前端拆分方案」主题下的一篇实践记录：微前端拆分方案 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，微前端拆分方案往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑…",{"id":56,"title":57,"categoryId":18,"categoryName":19,"isTop":9,"viewCount":58,"createdAt":59,"updatedAt":41,"excerpt":60},50,"单元测试实践 实践笔记",1826,"2026-10-12T13:30:42.000Z","这是「单元测试实践」主题下的一篇实践记录：单元测试实践 实践笔记。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，单元测试实践往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方案…",{"id":62,"title":63,"categoryId":27,"categoryName":28,"isTop":9,"viewCount":64,"createdAt":65,"updatedAt":47,"excerpt":66},63,"接口幂等设计 的十个细节",1805,"2026-10-02T06:30:42.000Z","这是「接口幂等设计」主题下的一篇实践记录：接口幂等设计 的十个细节。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，接口幂等设计往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再挑选方…",{"id":68,"title":69,"categoryId":23,"categoryName":24,"isTop":9,"viewCount":70,"createdAt":71,"updatedAt":47,"excerpt":72},76,"一次 前端监控体系 的踩坑记录",1787,"2026-09-21T23:30:42.000Z","这是「前端监控体系」主题下的一篇实践记录：一次 前端监控体系 的踩坑记录。内容用于填充示例数据，方便浏览分页、搜索结果与文章详情。 为什么关注这个主题 在真实项目里，前端监控体系往往不是孤立的知识点，而是和性能、稳定性、可维护性纠缠在一起。把它单独拿出来梳理一遍，遇到问题时才有判断依据。 实践要点 先明确目标与边界，再…",110,6,[]]