面试真题

前端 · 中等 · 腾讯

Diff 算法怎么操作的?

中等 前端 🎤 腾讯
参考答案
结论:前端Diff算法对比新旧虚拟DOM树,以最小代价更新真实DOM,核心是同层比较与key优化。操作:以React为例,1.Tree Diff:跨层移动极少,直接按层级比较,不同层则销毁重建;2.Component Diff:同类型组件递归diff,异类型直接替换;3.Element Diff:同层节点对比,通过key标识节点身份,支持插入、移动、删除。Vue2采用双端比较:头头、尾尾、头尾、尾头交叉对比复用节点。原理:避免O(n^3)全量比对,降至O(n),仅处理可能变更点;列表加key可避免错误复用。
题目整理自公开面经,答案由校招宝自研生成,仅供参考