# 底层程序逻辑设计与工程优化项 这一节是底层程序逻辑、运行模型、性能模型、并发模型、数据模型和工程交付优化的检查清单。用于代码实现、重构、性能排查和 AI 编程验收前的系统性自检。 ```text CPU 事务 缓存 并发 内存 IO 网络 数据结构 算法 抽象 接口 函数 递归 循环 条件分支 顺序性 副作用 状态 数据流 控制流 进程模型 线程模型 协程模型 用户态线程 vs 内核线程 同步模型 异步模型 事件驱动模型 批处理模型 流式处理模型 计算模型 调度模型 内存模型 并发模型 数据模型 状态模型 错误模型 性能模型 成本模型 容量模型 CPU cache 友好设计 CPU 使用优化 CPU 亲和性 上下文切换成本 分支预测意识 分支预测友好设计 流水线友好设计 指令级并行意识 SIMD 思维 向量化计算 GPU 计算设计 GPU 内存访问优化 算子融合 计算图优化 数值稳定性设计 浮点误差控制 近似计算 增量计算 重复计算消除 预计算与查表 延迟计算 懒加载 即时计算 vs 预计算 本地计算 vs 远程调用 计算复杂度优化 时间复杂度优化 空间复杂度优化 空间换时间设计 数据局部性优化 内存访问优化 内存分配优化 栈/堆使用判断 逃逸分析意识 GC 友好设计 JIT/解释执行理解 内联优化意识 对象生命周期设计 内存生命周期管理 内存泄漏控制 内存碎片控制 堆外内存管理 引用计数 弱引用 内存对齐 结构体 padding TLB 命中率意识 页缓存理解 缺页中断意识 内存分页 NUMA 感知设计 内存屏障理解 happens-before 关系 可见性 有序性 原子性 false sharing 避免 原子操作与 CAS ABA 问题 锁粒度设计 锁竞争优化 读写锁适用性 可重入锁风险 锁顺序约束 无锁数据结构 锁自由设计 等待自由设计 死锁 活锁 饥饿 优先级反转 条件变量 信号量 屏障同步 并发安全设计 并发正确性设计 并发测试 竞态检测 任务拆分策略 工作队列设计 优先级调度 调度公平性 线程池设计 线程池饱和处理 队列积压处理 背压机制 超时传播 取消传播 异步上下文传播 异步异常处理 同步/异步边界设计 阻塞式等待识别 阻塞 IO 非阻塞 IO IO 多路复用 select / poll / epoll / kqueue io_uring 理解 Reactor 模型 Proactor 模型 事件循环设计 事件队列设计 事件优先级 事件饥饿 系统调用成本意识 文件描述符管理 句柄泄漏控制 资源释放 资源隔离 资源配额 资源池化 对象池设计 连接池设计 缓冲区设计 零拷贝思路 DMA 理解 mmap 使用判断 sendfile 使用判断 IO 合并 批处理与合并请求 网络调用优化 DNS 解析成本 DNS 缓存策略 TCP 连接建立成本 TCP 慢启动 TCP 拥塞控制 Nagle 算法影响 KeepAlive 策略 连接复用 连接泄漏控制 Socket buffer 调优 HTTP/1.1 vs HTTP/2 vs HTTP/3 TLS 握手成本 证书校验成本 长连接管理 半开连接处理 请求队头阻塞 网络超时设计 网络抖动处理 网络分区处理 MTU / 分片意识 带宽与延迟权衡 序列化优化 反序列化成本控制 压缩策略选择 压缩率 vs CPU 成本权衡 数据编码选择 数据格式选择 Schema 设计 Schema 演进 字段兼容性 枚举扩展风险 默认值策略 数据结构选择 缓存结构选择 队列与堆选择 索引结构选择 概率数据结构 布隆过滤器 HyperLogLog Count-Min Sketch LRU / LFU / FIFO 选择 树结构选择 哈希结构选择 跳表选择 B+Tree 理解 LSM Tree 理解 图结构建模 排序策略选择 查找策略选择 贪心策略判断 动态规划建模 图算法选择 分治策略选择 回溯策略选择 启发式算法选择 算法策略选择 算法稳定性 算法可解释性 循环结构优化 递归深度控制 尾递归优化判断 无边界递归避免 数据预聚合 数据分片与分区 数据倾斜处理 MapReduce 思维 并行计算设计 批处理设计 流式处理设计 冷热路径拆分 冷路径隔离 热路径优化 性能瓶颈识别 性能指标定义 Profiling 能力 火焰图分析 慢查询分析 Trace 分析 日志埋点设计 结构化日志 日志等级设计 Trace ID 传播 Span 设计 Metrics 设计 高基数指标控制 Dashboard 设计 告警规则设计 告警降噪 SLO / SLA / SLI 错误预算 黑盒监控 白盒监控 用户体验监控 业务指标监控 容量水位监控 Benchmark 设计 压测设计 容量评估 峰值流量模型 流量预测 性能回归测试 优化验证 优化收益评估 优化 ROI 评估 过早优化识别 伪优化识别 缓存层级设计 分层缓存 本地缓存 分布式缓存 页面缓存 对象缓存 查询缓存 结果复用 缓存对象选择 缓存 key 设计 缓存一致性 缓存失效策略 缓存淘汰策略 缓存预热机制 缓存穿透处理 缓存击穿处理 缓存雪崩处理 热点缓存处理 缓存污染控制 缓存容量控制 缓存命中率评估 数据访问优化 数据访问方式选择 数据访问路径设计 查询路径设计 写入路径优化 索引设计 覆盖索引 索引下推 回表成本控制 分页优化 游标分页 N+1 查询消除 查询计划理解 执行计划稳定性 统计信息维护 慢查询治理 锁等待分析 死锁分析 事务范围控制 事务边界 事务隔离级别 MVCC 理解 WAL 理解 Redo / Undo 日志 Checkpoint Buffer Pool 页分裂控制 Compaction 分区裁剪 分库分表 读写分离 冷热数据分层 数据归档 TTL 策略 CDC 变更捕获 数据回放 数据修复 数据血缘 数据质量校验 范式化 vs 反范式化 数据冗余与同步 热点数据处理 数据生命周期设计 数据流路径设计 数据转换链路设计与优化 数据校验位置 数据一致性设计 顺序性与版本控制 版本冲突解决 逻辑时钟 向量时钟 时钟偏移处理 读己之写 单调读 强一致性 最终一致性 CAP 理解 PACELC 理解 分布式事务 Saga 模式 TCC 模式 Outbox 模式 Inbox 模式 幂等性设计 幂等键设计 去重设计 请求唯一 ID 消息可靠投递 至少一次语义 至多一次语义 恰好一次语义 消息重复处理 消息乱序处理 消息积压处理 消费位点管理 分布式锁 租约机制 Fencing Token Leader 选举 Raft / Paxos 理解 脑裂处理 服务发现 负载均衡 一致性哈希 分片迁移 数据再均衡 纯逻辑与 IO 分离 数据流与控制流分离 副作用控制 状态管理方式选择 状态一致性 状态机设计 状态机 vs 条件分支 状态流转设计 中间状态设计 数据不变量 前置条件与后置条件 顺序依赖设计 短路逻辑设计 分支条件设计 早返回设计 控制流扁平化 执行路径设计 主流程与分支流程设计 代码路径可读性 复杂度控制 依赖方向设计 模块边界设计 包依赖治理 循环依赖检测 接口语义设计 API 契约设计 接口版本管理 向前兼容 向后兼容 错误码规范 错误语义稳定性 部分响应设计 批量接口设计 限流响应协议 请求签名 契约测试 函数职责设计 逻辑拆分粒度 抽象层次选择 组合方式选择 处理模式选择 策略模式 vs switch-case 管道模式 vs 单体函数 事件驱动 vs 直接调用 同步处理 vs 异步处理 批处理 vs 实时处理 配置化 vs 硬编码 配置化 vs 代码化 通用化 vs 专用化 规则引擎 vs 硬编码 通用框架 vs 专用实现 可替换性 规则隔离 扩展点设计 变更影响范围 技术债识别 技术债偿还策略 迁移策略 废弃策略 兼容窗口 文档化 ADR 决策记录 设计评审 接口评审 性能评审 安全评审 输入合法性校验 边界条件覆盖 异常分类 错误传播 错误封装 错误恢复 部分成功处理 流程中断与恢复 中断、回滚、重试流程 重试策略 指数退避 重试抖动 jitter 重试风暴防护 失败降级策略 限流设计 熔断器设计 舱壁隔离 过载保护 请求排队策略 丢弃策略 快速失败 故障隔离 故障注入 混沌工程 降级开关 灰度降级 超时预算 Deadline 传播 服务健康检查 自愈机制 优雅降级 优雅关闭 启动预热 冷启动控制 灾难恢复 备份与恢复 RPO / RTO 认证设计 授权设计 权限模型 最小权限原则 权限边界 身份冒用防护 输入注入防护 SQL 注入 命令注入 XSS CSRF SSRF 反序列化风险 路径穿越 敏感信息脱敏 日志脱敏 密钥管理 Token 生命周期 加密存储 传输加密 签名校验 重放攻击防护 多租户隔离 安全审计 依赖漏洞治理 供应链安全 单元测试设计 集成测试设计 端到端测试 回归测试 稳定性测试 兼容性测试 模糊测试 Fuzzing 属性测试 Property-based Testing 测试数据构造 Mock 边界 测试隔离 可测性设计 确定性测试 时间依赖测试 随机性控制 灰度发布 蓝绿发布 金丝雀发布 滚动发布 回滚策略 配置发布 特性开关 Feature Flag 数据库变更发布 兼容性发布 双写切换 流量切换 影子流量 压测环境隔离 生产变更风险评估 变更审计 发布前检查 发布后验证 Runbook 应急预案 值班机制 资源成本评估 CPU 成本 内存成本 存储成本 网络成本 第三方 API 成本 云资源成本 成本预算 弹性伸缩 扩容策略 缩容策略 成本收益权衡 反模式识别 大锁 大事务 全局状态污染 重复 IO 重复计算 过深嵌套 隐式控制流 过度通用化 过早抽象 过早优化 伪优化 缺少退路 缺少幂等 缺少超时 缺少取消 缺少隔离 缺少限流 缺少监控 缺少回滚 缺少兼容 缺少验证 缺少容量评估 ```