标签题目
React相关面试题
为什么 useState 是数组结构的形式返回的,能不能以 Object 的形式返回?
这题考察 Hook API 设计和 React 状态匹配机制。useState 返回数组不是技术限制,而是固定二元返回值更方便调用方自由命名。
React.forwardRef 知道么?
这题考察 React ref 穿透和命令式能力封装。回答要说明 forwardRef 解决什么问题、如何转发、什么时候配合 useImperativeHandle 限制暴露面。
React Hooks 能用在 for 循环中么?为什么?条件语句呢?为什么?
这题考察 React Hooks 的调用顺序规则。Hooks 不能放在循环、条件和嵌套函数里,因为 React 依赖稳定调用顺序匹配内部状态槽位。
memo, useMemo, useCallback 分别是干什么的?
这题考察 React 记忆化优化边界。回答要区分组件跳过渲染、值缓存和函数引用稳定,并说明命中条件和成本。
我把所有的组件都用 memo 包起来有什么问题?
这题考察 React 过度优化判断。回答要说明 memo 的比较成本、命中条件、引用稳定性、依赖复杂度和 Profiler 驱动优化。
Vite 和 Next.js 都用过,你会做 SSR 吗?
这题考察 SSR 全链路理解。回答要说明服务端渲染、数据获取、HTML 注水、客户端 hydration、构建产物和 Next.js 与 Vite 的职责差异。
虚拟 DOM 和 diff 算法
这题考察虚拟 DOM 的抽象目的、diff 的启发式假设、key 的节点身份作用和最终 patch 到真实 DOM 的过程。不要把虚拟 DOM 说成一定比直接操作 DOM 快。