Q1正确率 44%
手写 Promise.all 的要点?
核心要点有四处:一是返回新Promise并在入参为空时立即resolve空数组;二是维护计数器和结果数组,通过下标赋值确保返回结果顺序与入参一致;三是必须用Promise.resolve包裹入参元素以兼容非Promise值;四是任一子项reject时立即触发整体reject。
解析
考点:异步与边界处理。要点是计数器判完成、保持结果顺序、任一失败立即 reject,并兼容非 Promise 值。常见失分:用 push 导致结果乱序。
JS 手写、框架原理、性能优化与工程化,附高频手写题参考实现。
核心要点有四处:一是返回新Promise并在入参为空时立即resolve空数组;二是维护计数器和结果数组,通过下标赋值确保返回结果顺序与入参一致;三是必须用Promise.resolve包裹入参元素以兼容非Promise值;四是任一子项reject时立即触发整体reject。
考点:异步与边界处理。要点是计数器判完成、保持结果顺序、任一失败立即 reject,并兼容非 Promise 值。常见失分:用 push 导致结果乱序。
先用LCP/FCP拆解网络传输、资源解析和DOM渲染三大阶段。网络侧做CDN加速、HTTP/2与路由懒加载分包;数据侧做接口聚合与预请求;渲染侧做骨架屏、图片WebP懒加载及SSR预渲染。答题时最好给出优化前后的具体指标,比如LCP从3.2秒降到1.1秒,更有说服力。
考点:性能优化体系。按网络(CDN、缓存、压缩)、资源(分包、懒加载、预加载)、渲染(SSR、骨架屏、关键 CSS)三层展开并给出指标。常见失分:只答图片压缩。