闭卷重建异常语义与传播层次的对象、状态、事件、不变量与一个失败反例。
程序设计 II:抽象、内存与并发 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建上下文管理器与清理的对象、状态、事件、不变量与一个失败反例。
闭卷重建失败原子性与回滚的对象、状态、事件、不变量与一个失败反例。
闭卷重建重试、幂等与退避边界的对象、状态、事件、不变量与一个失败反例。
闭卷重建错误聚合与可观察性的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:事务式批更新的对象、状态、事件、不变量与一个失败反例。
闭卷重建实验:资源生命周期记录的对象、状态、事件、不变量与一个失败反例。
核心机制:上下文管理器与清理必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕上下文管理器与清理先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:上下文管理器与清理不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:异常语义与传播层次必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕异常语义与传播层次先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:异常语义与传播层次不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:重试、幂等与退避边界必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕重试、幂等与退避边界先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:重试、幂等与退避边界不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:失败原子性与回滚必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕失败原子性与回滚先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:失败原子性与回滚不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:事务式批更新必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:事务式批更新先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:事务式批更新不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:错误聚合与可观察性必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕错误聚合与可观察性先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:错误聚合与可观察性不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。
核心机制:实验:资源生命周期记录必须声明公开接口、隐藏状态、所有权或资源责任、允许的并发交错、失败后的不变量以及可替换实现;实验入口:围绕实验:资源生命周期记录先画对象与资源关系,再运行正常、边界、失败和确定性交错四组实验,保存状态轨迹;边界:实验:资源生命周期记录不能靠全局可变状态、无限重试或偶然调度正确;别名、清理、取消、锁顺序和性能退化必须显式处理。