01 · JavaScript 与 TypeScript
事件循环是怎么运作的?宏任务、微任务与浏览器/Node 的区别
闭包是什么?原理、应用场景与内存泄漏
原型、原型链与继承的几种方式
this 的指向规则,call / apply / bind 的区别
Promise 的状态机、链式调用与错误处理(含 A+ 规范)
async/await 的原理,和 Generator 是什么关系?
作用域、作用域链、变量提升与 TDZ
var、let、const 有什么区别?
深拷贝与浅拷贝的区别?如何实现深拷贝
如何判断 JS 的数据类型?typeof / instanceof / toString 的区别
== 与 === 的区别?隐式类型转换规则
JS 的垃圾回收机制(标记清除、引用计数)
JS 模块化的演进?CommonJS / ESM / UMD 的差异与 tree-shaking
防抖与节流的原理与区别?(手写见 05)
柯里化、函数组合与函数式编程概念
前端常用设计模式有哪些?单例/工厂/观察者/发布订阅/策略/代理怎么用?
JS 输出预测题精选:this / 闭包 / 类型转换 / 事件循环 会输出什么?
interface 和 type 有什么区别?该用哪个
TypeScript 泛型与泛型约束怎么用?
TS 类型体操:keyof / typeof / 索引访问 / 条件类型 / infer / 映射类型
常用内置工具类型(Partial/Pick/Omit/Record…)及手写实现
协变与逆变、类型收窄(narrowing)与类型断言
any、unknown、never 有什么区别?