拼多多前端面试题解析(上)
拼多多作为国内知名电商平台,其前端技术栈和面试题常涉及React、Vue、性能优化等核心领域。以下为常见面试题及参考答案,包含代码示例和详细解析。
面试题1:React Fiber架构的原理
React Fiber是React 16引入的协调算法重构,核心目标是实现增量渲染和任务调度。其关键点包括:
- 可中断与恢复:将渲染任务拆分为多个小任务单元(Fiber节点),通过
requestIdleCallback实现时间分片。 - 优先级调度:不同交互事件(如动画、用户输入)对应不同优先级,高优先级任务可打断低优先级任务。
代码示例:Fiber节点结构
function createFiber(vnode, returnFiber) {
return {
type: vnode.type,
key: vnode.key,
props: vnode.props,
stateNode: null, // 对应的真实DOM
return: returnFiber,
child: null,
sibling: null,
alternate: null, // 指向旧Fiber
effectTag: 'PLACEMENT', // 标记增删改
};
}
面试题2:Vue3响应式原理对比Vue2
Vue3使用Proxy替代Object.defineProperty,解决了Vue2的以下痛点:
- 数组监听:无需重写数组方法,直接通过
Proxy拦截push、pop等操作。 - 动态属性:自动响应新增属性,无需
Vue.set。
代码示例:Vue3响应式实现
const reactive = (target) => {
return new Proxy(target, {
get(obj, key) {
track(obj, key); // 依赖收集
return Reflect.get(obj, key);
},
set(obj, key, value) {
Reflect.set(obj, key, value);
trigger(obj, key); // 触发更新
},
});
};
900

被折叠的 条评论
为什么被折叠?



