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

请解释 React Fiber 架构的核心概念,并说明它旨在解决哪些关键问题?

前端/移动开发技术原理React

考察说明

考察对 React 核心调度机制的理解,以及是否能说出其设计动机与解决的问题。

回答思路

  1. 【回答框架 1】Fiber 是 React 16 开始引入的协调引擎的重新实现,核心是“可中断的渲染”。它将渲染工作拆分成一个个小的单元(Fiber 节点),每个节点对应一个虚拟 DOM 节点,并带有链表指针(child、sibling、return),从而构成一棵 Fiber 树。
  2. 【回答框架 2】Fiber 架构解决的关键问题是旧架构(栈协调)的不可中断性:当虚拟 DOM 树很大时,同步递归遍历会长时间占用主线程,导致动画、输入等交互卡顿。Fiber 通过将工作拆分成可中断的单元,配合调度器(Scheduler),可以暂停、继续或优先处理高优更新。
  3. 【回答框架 3】在双缓冲机制下,Fiber 会构建一棵新树(workInProgress),当所有更新完成后,将 current 指针切换,避免直接修改已渲染的树,从而提高一致性并支持并发特性。
  4. 【回答框架 4】Fiber 还通过链表结构实现增量渲染和任务优先级,支持时间切片(time slicing),每次执行的更新量由帧预算决定。
  5. 【关键点 1】Fiber 是 React 的并发机制基础,核心是可中断的增量渲染。
  6. 【关键点 2】Fiber 树由链表构成,支持暂停、恢复和复用。
  7. 【关键点 3】旧架构无法中断,导致复杂应用下主线程阻塞;Fiber 解决了渲染阻塞问题。
  8. 【关键点 4】双缓冲与时间切片技术保障了高优任务的响应。
  9. 【易错点 1】注意:Fiber 本身并不保证一定不卡顿,只是通过优先级调度与时间切片优化体验。
  10. 【易错点 2】不能简单回答为“解决性能问题”,需要准确描述为“解决渲染不可中断导致的交互延迟”问题。