Appearance
TypeScript 高频题清单与追问树
高频题清单
1. 泛型:参数化类型、约束与类型推导链路
- 题型:对比型
- 考察点:泛型的价值不是“写个 T”,而是把类型关系延迟到使用点再具体化
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
2. interface 与 type:开放扩展、组合表达与工具类型兼容
- 题型:对比型
- 考察点:两者都能描述对象结构,但设计意图、扩展方式和表达能力并不完全重合
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
3. TypeScript 工程实践:strict、边界校验与类型债务控制
- 题型:对比型
- 考察点:TS 价值能否落地,取决于工程边界是否把类型信息真正接住
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
4. 值空间与类型空间:同名标识符为什么有时能共存
- 题型:对比型
- 考察点:TypeScript 同时维护值空间和类型空间,很多 import、enum、class 问题都来自两者混淆
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
5. 类型守卫:控制流分析如何把宽类型缩窄
- 题型:对比型
- 考察点:TypeScript 的缩窄依赖控制流分析,而不是运行时真的改变了值的类型
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
6. unknown、any 与 never:顶层类型和底层类型的分工
- 题型:对比型
- 考察点:这三个类型分别代表放弃检查、延迟确认和不可能到达,含义完全不同
- 易混点:题型没分清时,很容易把 类型表达、缩窄推导、工程约束 混成一个层级。
- 串讲顺序:先回答核心问题,再补边界、代价和项目映射。
每题考察点
- TypeScript 模块的高频题,通常不是单点记忆,而是在看你能否把 类型表达、缩窄推导、工程约束 连起来讲
- 同一题连续被深挖时,往往是在验证你是不是只会背第一层结论
- 真正稳定的回答,必须包含边界、代价和实际落地
易混点与串讲顺序
- 先分题型,再定讲法,不要所有题都用同一套口径
- 对比型题先拆对象,机制型题先讲参与者和流程,治理型题先讲症状和闭环
- 一开口就急着给结论,通常说明上下文还没搭起来
模拟追问树
- 第一层通常会追到 类型表达
- 第二层会继续追到 缩窄推导 的内部细节
- 第三层往往回到 工程约束、项目经验和权衡依据
使用建议
- 优先挑 3 到 5 个最高频问题练成稳定串讲,再逐步扩充
- 复习时把同题型问题放在一起,会比按目录顺序硬刷更有效
- 项目面准备时,先看本页,再回到对应单篇文档准备项目映射