帆软软件面试题更新 2026-08-05

为什么setTimeout有时候不准确?

帆软软件前端/移动开发专业服务技术原理问题排查JavaScript

考察说明

考察对JavaScript事件循环、宏任务与定时器实现机制的理解

回答思路

  1. 说明setTimeout是基于事件循环的宏任务,受任务队列阻塞影响
  2. 解释最小延迟与嵌套限制,如Chrome对嵌套定时器的4ms钳制
  3. 讨论主线程长时间运行任务、渲染、其他宏任务对定时器回调的延迟影响
  4. 提到后台标签页节流(throttling)导致定时器被延迟或合并
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。