Appearance
手写题方法论:先定边界,再定数据结构和不变量
主题边界
- 这类主题讨论的是手写题的技术建模方法,而不是答题话术。
- 高质量实现通常都先明确输入输出、约束、状态和不变量。
机制与流程
- 先判断题目属于哪一类:遍历、缓存、调度、字符串处理、链表/树结构还是异步控制。
- 再选择最小可行数据结构,并明确核心不变量,例如链表头尾关系、运行池容量、引用映射唯一性。
- 最后再扩展边界能力,如错误处理、取消、循环引用、稳定顺序等。
关键差异
- 会写代码不等于会解题;很多题目败在没有先建模,导致代码越写越补洞。
- 基础题关注主链正确,高阶题更关注复杂度、边界和可维护性。
边界条件
- 不要一上来就追求“覆盖所有情况”,先完成主链再讨论扩展边界。
- 也不要只写 happy path 而完全不说明约束,否则实现很难落地。
工程落点
- 这种建模能力会直接迁移到组件设计、状态管理和系统架构讨论中。
- 真正好的工程师在写代码前,先知道自己要维持哪些不变量。