Appearance
JavaScript 高频题清单与追问树
高频题清单
1. Promise 与 async/await:状态机、错误传播与并发组织
- 题型:机制型
- 考察点:Promise 不是“异步结果容器”这么简单,它更像一个受控状态机
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
2. 数据类型与值语义:primitive、reference 与隐式转换
- 题型:机制型
- 考察点:数据类型题的关键不是列表,而是值如何存储、比较和转换
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
3. 浅拷贝与深拷贝:引用共享、结构复制与边界
- 题型:对比型
- 考察点:拷贝题真正难的不是递归,而是对象图边界、可序列化限制和性能代价
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
4. 事件循环:task、microtask、渲染机会与异步时序
- 题型:机制型
- 考察点:事件循环不是一句“宏任务先执行、微任务后执行”就能讲明白。它真正讨论的是:宿主环境如何安排同步执行栈、任务队列、微任务队列、渲染机会以及输入处理顺序。很多前端异步问题之所以讲不清,就是因为把这些层级压成了一句口号
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
5. 原型链:对象委托、属性查找与 class 语法基础
- 题型:机制型
- 考察点:原型链题的重点是对象查找和委托机制,而不是只分 prototype 和 proto
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
6. 作用域与闭包:词法环境、变量生命周期与封装边界
- 题型:机制型
- 考察点:闭包不是函数套函数,而是函数与其创建时词法环境之间的持续绑定
- 易混点:题型没分清时,很容易把 执行模型、对象语义、异步调度 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
每题考察点
- JavaScript 模块的高频题,通常不是单点记忆,而是在看你能否把 执行模型、对象语义、异步调度 连起来讲
- 同一题连续被深挖时,往往是在验证你是不是只会背第一层结论
- 真正稳定的回答,必须包含边界、代价和实际落地
易混点与串讲顺序
- 先分题型,再定讲法,不要所有题都用同一套口径
- 对比型题先拆对象,机制型题先讲参与者和流程,治理型题先讲症状和闭环
- 一开口就急着给结论,通常说明上下文还没搭起来
模拟追问树
- 第一层通常会追到 执行模型
- 第二层会继续追到 对象语义 的内部细节
- 第三层往往回到 异步调度、项目经验和权衡依据
使用建议
- 优先挑 3 到 5 个最高频问题练成稳定串讲,再逐步扩充
- 复习时把同题型问题放在一起,会比按目录顺序硬刷更有效
- 项目面准备时,先看本页,再回到对应单篇文档准备项目映射