面试知识

旧模板映射、事实边界与口述训练路线

93-架构设计口述模板 面试知识整理。

旧模板映射、事实边界与口述训练路线

本册只迁移和训练旧根 架构设计口述模板,不改写旧根。旧模板是表达骨架,不是生产经历证明;所有项目数字、个人职责和线上结果都必须先标事实等级,再进入三分钟、五分钟或十分钟版本。

架构设计口述模板训练路线

图解读:正式图从旧根盘点进入事实分级,再按时间选择表达密度,最终经过诚实收束、项目套用和追问树回到证据校准。任何模板都不能跳过事实分级直接变成“我做过”;可编辑源见 PlantUML(开源建模工具)路线图

1. 旧根迁移账本

1.1 二十四个标题与十八套模板如何一一落位

热门面试题

  1. 问题:为什么保留旧根而新增训练册?
    • 考点:兼容边界、单一职责和可追溯性。
    • 回答思路:先区分原始模板与训练增强,再说明不覆盖旧材料的原因。
    • 详细答案:旧根保存最短可复述骨架,训练册负责标题映射、事实等级、时间盒、项目证据和追问树。两者分离后,旧材料仍可按原路径复习,新训练规则也能独立审计;若直接重写旧根,历史模板数量和原始措辞会失去可核对基线。
    • 进阶追问:两份材料内容不一致时以谁为准?
    • 进阶回答:模板原文以旧根为准,事实等级和训练动作以本册为准;项目事实仍回到简历、代码、需求、发布或事故证据。
  2. 问题:十八套模板是怎样统计出来的?
    • 考点:迁移计数、边界识别和防漏机制。
    • 回答思路:按代码块而不是标题数量统计,并解释组成。
    • 详细答案:十八套模板由通用、选型、分布式事务、高可用四套,库存、支付、履约、告警四套项目模板,六套稳定性与容量模板,以及四套业务指标与埋点模板组成。标题有二十四个,是因为目录标题还包含分组和训练要求,不能把标题数等同于模板数。
    • 进阶追问:四条反问算模板吗?
    • 进阶回答:不计入十八套代码块模板,单独作为面试末尾的岗位约束探针保留。
  3. 问题:迁移账本怎样避免漏掉旧标题?
    • 考点:完整性校验和映射粒度。
    • 回答思路:按标题层级编号,记录原用途、训练动作和事实风险。
    • 详细答案:先按九个二级标题和十五个三级标题建立二十四项清单,再把每项归入“骨架、项目、容量、指标、反问、训练要求”六类。每类都必须有训练去向;没有代码块的分组标题也要保留,因为它决定模板上下文和追问入口。
    • 进阶追问:后续旧根新增标题怎么办?
    • 进阶回答:先更新迁移清单的计数和分类,再决定是否扩展训练册;不能默默把新标题塞进既有数量结论。
旧根标题组标题明细数量模板数量本册训练去向
通用骨架1 通用三分钟、2 技术选型、3 分布式事务、4 高可用44三分钟主干与五分钟权衡
项目方案5 项目方案、5.1 库存、5.2 支付、5.3 履约、5.4 告警54项目套用和事实分级
稳定性容量6 分组、6.1 并发、6.2 分位响应、6.3 规格、6.4 容器资源、6.5 处理器打满、6.6 三类中间件扩容76五分钟数据演绎与十分钟排障
业务指标7 分组、7.1 日月活、7.2 浏览与访客、7.3 埋点、7.4 指标反推架构54十分钟业务验收
面试收尾8 反问模板、9 训练要求20四条反问与训练门禁
总计九个二级标题、十五个三级标题2418全量映射,无标题遗失
flowchart LR
    A[旧根九个二级标题] --> B[十五个三级标题]
    A --> C[十八套代码块模板]
    B --> D[项目与专题入口]
    C --> E[三五十分钟训练]
    D --> E
    A --> F[四条反问]
    F --> E

图解读:标题、模板与反问是三个不同计数口径。二十四个标题保证目录完整,十八套代码块保证口述骨架完整,四条反问保证岗位约束和组织环境能够被继续探测。

数据演绎 1:迁移完整度核算

E2(材料映射):旧根共有 9+15=24 个标题;代码块为 4+4+6+4=18 套;反问为 4 条。建立清单后逐项标记训练去向,已映射标题 24 个、模板 18 套、反问 4 条,因此三类完整度均为百分之百。这个比例只证明材料迁移完整,不证明任何生产事实已经核验。

2. 事实等级与表达权限

2.1 E1、E2、E3、E0 的证据边界

热门面试题

  1. 问题:四级事实体系分别允许怎么说?
    • 考点:证据强度、措辞权限和可信表达。
    • 回答思路:从可定位证据到待核对信息依次说明。
    • 详细答案:E1(直接证据)可定位到本人参与的代码、文档、发布、监控或事故记录,可以说“我负责并完成”;E2(材料映射)来自简历或现有项目材料,可以说“材料显示、我参与的范围是”;E3(演练设计)是为面试构造的方案和数据,只能说“如果设计,我会”;E0(待核对)缺少证据,只能说明未知和取证路径。
    • 进阶追问:口述顺畅时还要说等级代号吗?
    • 进阶回答:现场不必机械报代号,但必须使用与等级匹配的动词;训练稿保留代号用于自检。
  2. 问题:为什么旧模板默认只能算 E2(材料映射)或 E3(演练设计)?
    • 考点:模板与事实的逻辑隔离。
    • 回答思路:说明“可复述”不等于“可证明”。
    • 详细答案:模板只给出合理的架构表达,并没有自动附带候选人的代码、发布和线上结果。若模板内容能在简历或项目材料中找到对应关系,可暂列 E2(材料映射);若只是通用设计推导,则是 E3(演练设计)。只有补齐直接证据,具体动作才可升级为 E1(直接证据)。
    • 进阶追问:合理的行业常识可以直接当项目事实吗?
    • 进阶回答:不能;行业常识用于解释机制,项目事实仍需证明“当时确实这样做”。
  3. 问题:数字最容易在哪些地方越界?
    • 考点:容量、收益、事故结果和归因边界。
    • 回答思路:区分原始观测、推导结果与假设数字。
    • 详细答案:吞吐、响应分位、错误率、机器规格、告警压缩率和资金差异最容易被模板化数字污染。原始看板或压测报告可作 E1(直接证据),从业务量公式推导的容量属于 E3(演练设计),只有简历摘要而无原始材料时属于 E2(材料映射);来源不清就是 E0(待核对)。
    • 进阶追问:记得大概范围但记不清精确值怎么办?
    • 进阶回答:说量级和统计口径,明确精确值待核对,不把记忆近似包装成精确结论。
等级证据来源允许表达禁止表达升级路径
E1(直接证据)本人可定位的代码、需求、评审、发布、监控、事故记录“我负责”“我实施”“观测到”超出个人职责归因全部成果补齐证据链和结果口径
E2(材料映射)简历、项目说明、知识库既有材料“材料显示”“我参与的范围是”冒充可直接核验的个人动作回查仓库、文档和记录
E3(演练设计)假设场景、公式推导、面试方案“如果由我设计”“演练假设为”说成线上真实架构和收益经实施与观测后重新定级
E0(待核对)记忆不确定、来源冲突、缺少原始记录“这点我不确定”“需要核对”猜数字、猜组件、猜事故原因给出负责人、系统和时间范围
stateDiagram-v2
    [*] --> E0: 信息进入
    E0 --> E2: 找到简历或材料映射
    E0 --> E3: 仅能形成演练方案
    E2 --> E1: 找到本人直接证据
    E3 --> E1: 实施并保留观测证据
    E1 --> E0: 来源冲突或口径失效

图解读:事实等级可以升级,也可以因口径冲突而降级。升级依赖新证据,不依赖说得更熟;E3(演练设计)与 E2(材料映射)不是高低关系,而是“方案推导”和“既有材料”两条不同来源。

数据演绎 2:一次三分钟稿的事实配比

E3(演练设计):某稿共有 12 个事实句,核对后 E1(直接证据)5 句、E2(材料映射)3 句、E3(演练设计)2 句、E0(待核对)2 句。可直接用于个人经历陈述的比例为 5/12≈41.7%;两句 E0(待核对)必须删除或改成核对路径,两句 E3(演练设计)必须改用假设语气。训练目标不是让 E1(直接证据)虚假达到百分之百,而是让每句话权限与证据一致。

3. 三分钟口述路线

3.1 在一百八十秒内保住结论、约束、方案、风险和收束

热门面试题

  1. 问题:三分钟版本必须包含哪五段?
    • 考点:时间盒、信息优先级和闭环表达。
    • 回答思路:按结论、约束、方案、风险、收束给出固定顺序。
    • 详细答案:先用一句话给业务目标和架构结论;再讲规模、一致性、可用性、成本或团队约束;第三段只展开一条核心数据流和关键选择;第四段讲最危险失败场景与兜底;最后用观测、结果、事实等级和可追问入口收束。三分钟不追求覆盖全部组件。
    • 进阶追问:背景复杂时怎样压缩?
    • 进阶回答:只保留能改变设计决策的背景,其余放到追问;背景不应挤掉失败和恢复。
  2. 问题:三分钟里如何表达替代方案?
    • 考点:权衡密度与决策依据。
    • 回答思路:只说主方案、一个替代方案和淘汰条件。
    • 详细答案:用“目标是什么、主方案为何满足、替代方案为何暂不选、达到什么阈值再演进”四句完成。不要罗列所有候选组件;替代方案的价值是证明做过约束权衡,不是展示名词数量。
    • 进阶追问:没有真实选型过程还能讲吗?
    • 进阶回答:可以作为 E3(演练设计)回答,但不能说成当年团队真实决策。
  3. 问题:三分钟结束时为什么要主动留追问入口?
    • 考点:面试控制、证据深度和非线性交流。
    • 回答思路:用可证明的分支邀请面试官深入。
    • 详细答案:短口述只能展示判断主线,无法同时证明容量、故障和项目细节。结尾可说“可以继续展开库存并发、支付未知态或容量推导”,让追问进入证据最强的区域。入口必须与已有材料相连,不能用不熟悉的组件诱导追问。
    • 进阶追问:面试官没有追问怎么办?
    • 进阶回答:停下来等待下一题,不用继续填满沉默;必要时用一句岗位反问确认关注点。
时间段建议时长必答内容删除优先级收束句型
结论20 秒业务目标、核心不变量、方案结论历史沿革“核心是守住……”
约束30 秒规模、一致性、可用性、成本无关背景“约束决定不能直接……”
方案65 秒主数据流、关键组件职责、一个替代方案逐接口细节“因此选择……”
风险40 秒最危险失败、止血、恢复、验收次要异常“失败时先……”
收束25 秒观测、结果等级、追问入口技术栈复述“可继续展开……”
flowchart LR
    A[二十秒结论] --> B[三十秒约束]
    B --> C[六十五秒方案]
    C --> D[四十秒风险]
    D --> E[二十五秒收束]
    E --> F{一百八十秒内完成}
    F -->|超时| G[删背景与组件枚举]
    G --> C

图解读:三分钟不是把长稿前半段截出来,而是一个完整最小闭环。超时时优先删除背景和组件枚举,不能删除业务结论、失败边界与诚实收束。

数据演绎 3:三分钟字符预算

E3(演练设计):按每分钟 210 个有效字符估算,三分钟预算约 210×3=630 字。若初稿 920 字,需要压缩 920-630=290 字,压缩率约 31.5%。可把三段重复背景各删 50 字、组件清单删 80 字、重复结果删 60 字,共 290 字;保留约束、失败和恢复后,信息闭环仍完整。

4. 五分钟口述路线

4.1 在三百秒内增加权衡、演绎、观测和回滚

热门面试题

  1. 问题:五分钟版本比三分钟版本多讲什么?
    • 考点:增量信息和架构判断。
    • 回答思路:增加替代方案、数据演绎、观测信号和回滚条件。
    • 详细答案:五分钟不是重复更多背景,而是在同一事实主线上增加一组方案对比、一组可复算数据、一条失败检测链和一个演进阈值。这样能证明候选人不仅会描述现状,还能解释为什么成立、何时失效、怎样撤销。
    • 进阶追问:是否要增加第二个项目?
    • 进阶回答:通常仍以一个项目为主;只有第二项目能证明方法迁移且不破坏时间盒时,才用二十到三十秒补充。
  2. 问题:数据演绎如何避免伪装生产数字?
    • 考点:假设、公式、观测和结论边界。
    • 回答思路:先报 E3(演练设计),再给输入、公式、结果和敏感项。
    • 详细答案:明确“下面是容量演练”,列出日量、峰值占比、集中时长和冗余系数,展示计算过程,最后指出真实上线前必须用压测和线上监控校准。公式可复算,假设可替换,结论就不会冒充生产事实。
    • 进阶追问:面试官要求真实数字怎么办?
    • 进阶回答:只给能确认的量级和口径;精确值缺失时说明待核对,转而讲取证位置。
  3. 问题:五分钟怎样讲回滚而不陷入操作细节?
    • 考点:可逆性、触发阈值和业务验收。
    • 回答思路:讲开关、兼容、触发信号和回滚后核对。
    • 详细答案:说明新旧路径是否双读或灰度、何种错误率或业务差异触发停止、如何切回旧路径、存量数据怎样处理,以及回滚后用什么业务守恒验收。命令和逐步操作留到追问,主线只保留决策门禁。
    • 进阶追问:不可逆数据变更怎么办?
    • 进阶回答:上线前采用兼容字段、影子写入、双向校验和分阶段迁移,把不可逆步骤推迟到证据充分之后。
五分钟增量必须回答证据要求常见误区推荐追问入口
方案权衡为什么选、为什么暂不选约束或试验只说优点选型矩阵
数据演绎输入、公式、结果、敏感项E3(演练设计)可复算假设冒充线上值容量推导
观测链业务与技术信号怎样关联指标口径只看处理器和内存长尾与积压
回滚门禁触发、切回、存量、验收发布或演练方案回滚等于服务重启数据兼容
flowchart TD
    A[三分钟完整主干] --> B[增加方案对比]
    B --> C[增加数据演绎]
    C --> D[增加观测证据]
    D --> E[增加回滚门禁]
    E --> F[五分钟收束]
    F --> G{是否有强第二证据}
    G -->|有| H[二十秒迁移案例]
    G -->|无| I[保留追问入口]

图解读:五分钟的新增内容围绕“为什么、凭什么、失败怎么办”展开。第二项目不是必选项,证据不强时宁可把时间留给主项目的权衡和恢复。

数据演绎 4:容量结论的可复算表达

E3(演练设计):假设日订单 120 万,峰值两小时承载 35%,入口平均每单产生 4 次请求,则峰值请求率约为 1200000×35%×4÷7200≈233 次每秒。乘 2 倍突增和 1.5 倍冗余,目标约 233×2×1.5≈699 次每秒。若单实例稳定承载 160 次每秒,则至少 699÷160≈4.37,向上取 5 个实例;真实配置仍需压测校准。

5. 十分钟口述路线与诚实收束

5.1 深挖项目证据、排障恢复、演进边界和四条反问

热门面试题

  1. 问题:十分钟版本怎样避免变成流水账?
    • 考点:深度结构、因果链和节奏控制。
    • 回答思路:沿一个业务不变量展开两次决策和一次失败恢复。
    • 详细答案:用背景与不变量开场,讲约束如何淘汰方案,再走一遍正常数据流;随后选择一个真实或演练故障,按发现、止血、定位、修复、恢复验收、复盘演进展开。最后用业务结果和事实等级收束,而不是按需求、开发、测试、上线时间线逐日复述。
    • 进阶追问:十分钟需要讲完所有风险吗?
    • 进阶回答:不需要;讲最能证明判断力的一项主风险,其他风险做成可追问清单。
  2. 问题:不会答时怎样诚实收束?
    • 考点:未知边界、局部知识和取证路径。
    • 回答思路:先承认未知,再说已知边界、判断框架和核对动作。
    • 详细答案:可以回答“这个参数我没有直接配置过,不能给出生产结论;我能确认它影响哪条链路、会先看哪些指标,并会到配置中心、发布记录和监控中核对”。不要用相邻知识拼凑精确答案,也不要只说“不知道”后停止交流。
    • 进阶追问:面试官继续逼问具体值怎么办?
    • 进阶回答:区分默认值、项目值和建议值;只对确认过的类别负责,其余明确假设。
  3. 问题:四条反问怎样真正服务架构判断?
    • 考点:岗位约束、组织成熟度和双向选择。
    • 回答思路:把瓶颈、治理阶段、岗位侧重和年度挑战转成决策输入。
    • 详细答案:第一条识别性能、稳定性或交付效率的首要矛盾;第二条判断服务治理与可观测性成熟度;第三条确认方案设计、技术治理和团队协同的权重;第四条发现未来一年业务变化。听完回答后,应说明自己的哪段经验最匹配,而不是问完即止。
    • 进阶追问:面试时间只够问一条怎么办?
    • 进阶回答:优先问未来一年最大技术挑战,它通常同时暴露业务方向、系统瓶颈和岗位期望。
十分钟阶段时长证据焦点失败时收束反问连接
背景与不变量60 秒E1(直接证据)或 E2(材料映射)不确定规模就报量级核心瓶颈
约束与权衡120 秒决策记录或 E3(演练设计)区分真实决策与复盘建议岗位侧重
正常数据流150 秒状态、幂等、权威事实不熟组件只讲职责边界治理阶段
故障与恢复180 秒监控、日志、流水、验收未亲历则标演练技术挑战
结果与演进60 秒指标口径、下一阈值数字不明就给取证路径经验匹配
机动追问30 秒可验证分支停止扩写邀请深入
flowchart TD
    A[业务不变量] --> B[约束与权衡]
    B --> C[正常数据流]
    C --> D[故障发现]
    D --> E[止血与定位]
    E --> F[修复与恢复验收]
    F --> G[复盘与演进]
    G --> H[四条反问]
    D -.未知细节.-> I[承认未知]
    I --> J[说明已知边界]
    J --> K[给核对路径]
    K --> F

图解读:十分钟深挖始终围绕业务不变量,故障分支允许在未知处诚实停下,再通过边界和核对路径回到恢复验收。反问不是附录,而是把项目经验连接到新岗位约束。

数据演绎 5:十分钟节奏校验

E3(演练设计):六段预算为 60+120+150+180+60+30=600 秒。第一次录音若背景 110 秒、正常流 220 秒、故障仅 80 秒,总时长仍可能接近十分钟,但证据失衡。将背景压缩 50 秒、正常流压缩 70 秒,把 120 秒补给故障与恢复后,时长不变,判断力证据显著增加。校验信号是故障段是否覆盖发现、止血、定位、恢复和验收。

6. 项目套用与追问树

6.1 库存、支付、履约、调度和告警如何共享骨架而不共享事实

热门面试题

  1. 问题:五类项目怎样复用同一口述骨架?
    • 考点:抽象能力和领域不变量。
    • 回答思路:复用背景、约束、数据流、失败、观测、演进六段,替换领域事实。
    • 详细答案:库存围绕数量守恒,支付围绕资金可对平,履约围绕唯一业务意图,Runner(执行器)围绕租约代次与唯一提交,IoT(物联网)告警围绕降噪但不漏严重事件。共用的是判断顺序,不共用状态、数字和结果。
    • 进阶追问:是否应该做一个万能答案?
    • 进阶回答:不应该;万能骨架可训练,万能事实会抹平领域失败成本并导致追问穿帮。
  2. 问题:项目套用时最先替换什么?
    • 考点:不变量、权威事实和失败成本。
    • 回答思路:先替换业务目标与裁决事实,再替换组件。
    • 详细答案:先回答什么绝不能错、谁是权威事实、失败代价是什么,再决定缓存、数据库、消息和任务如何分工。若先把组件名替换掉,往往只能得到表面相似的答案,无法解释支付未知态与库存并发扣减为何处理不同。
    • 进阶追问:同样使用消息时差异在哪里?
    • 进阶回答:库存消息可能传播扣减结果,支付消息传播账务事件,履约消息驱动外部状态;幂等身份、顺序要求和补偿责任都不同。
  3. 问题:追问树如何帮助发现事实漏洞?
    • 考点:反事实、失败路径和证据闭环。
    • 回答思路:从“为什么、如果失败、如何证明、何时演进”四类追问逐层校验。
    • 详细答案:每个方案至少接受四轮检查:为什么不是替代方案;超时、重复、乱序或依赖故障时怎样处理;用哪些业务和技术信号证明恢复;达到什么阈值才升级。某一层只能靠猜测回答,就把该句降为 E0(待核对)或 E3(演练设计)。
    • 进阶追问:追问越多越好吗?
    • 进阶回答:不是;追问要集中在业务不变量和高失败成本,避免把口述训练变成冷门参数记忆。
项目核心不变量权威事实主要失败推荐长答入口
WMS(仓储管理系统)库存可售、冻结、出库与实物可守恒库存版本、流水、仓内过账超卖、重复释放、账实差条件更新、幂等、对账
支付本金、手续费、退款与渠道可对平支付单、渠道结果、资金流水重复入账、单边账、长期未知验签、查单、补偿、对账
跨境履约一个业务意图只有一个有效下游结果业务键、面单号、状态版本重单、乱序、取消后复活隔离、状态机、人工裁决
Runner(执行器)调度当前代次只有一个持有者可提交租约、代次、任务结果重复执行、旧持有者迟到心跳、接管、栅栏、恢复
IoT(物联网)告警降噪同时保证严重告警可达事件身份、聚合窗口、处置记录风暴、漏报、状态振荡限流、聚合、抑制、回放
flowchart LR
    A{选择项目} --> B[定义不变量]
    B --> C[定位权威事实]
    C --> D[画正常数据流]
    D --> E[注入最高成本故障]
    E --> F[给止血与恢复]
    F --> G[业务验收]
    G --> H{追问树}
    H --> I[为什么这样选]
    H --> J[失败怎么办]
    H --> K[如何证明恢复]
    H --> L[何时演进]

图解读:五类项目共享从不变量到追问树的训练流程,但每个节点的事实必须重新填写。真正可迁移的是判断框架,不是某个项目的状态、指标或成果。

数据演绎 6:同一骨架的差异化核算

E3(演练设计):库存示例中初始可售 100,两个请求各扣 60,条件更新只允许一个成功,最终可售 40;支付示例中 100 笔请求有 2 笔超时未知,查单确认 1 笔成功、1 笔失败,不能把两笔都重试;告警示例中一分钟 10000 条原始事件按设备、类型和窗口聚合为 320 条通知,压缩率为 1-320÷10000=96.8%,但严重事件必须逐条核对可达。三个数字都属于演练,不可互换为生产成果。

7. 综合题库:旧模板映射、事实边界与训练实战

  1. 问题:请完整说明旧根二十四个标题、十八套模板和四条反问怎样迁移到新训练路线。

    • 考点:迁移账本、计数边界、训练分层和兼容策略。
    • 回答思路:先给三个统计口径,再说明三分钟、五分钟、十分钟的映射和旧根保留原则。
    • 详细答案:二十四个标题由九个二级标题和十五个三级标题组成;十八套模板按代码块统计;四条反问独立于模板。迁移不复制原文,而是为每个入口补事实等级、时间预算、项目证据和追问树。
    • 进阶追问:怎样证明没有把分组标题漏掉?
    • 进阶回答:迁移清单同时记录标题层级、模板数量和训练去向,三种口径分别核算。
    • 口述答案:我会先把三个统计口径拆开,因为它们回答的不是同一个问题。旧根共有二十四个标题,来源是九个二级标题加十五个三级标题;它们描述目录结构和专题上下文。真正可以直接练习的代码块有十八套,分别是通用、技术选型、分布式事务、高可用四套,库存、支付、跨境履约、IoT(物联网)告警四套项目方案,六套稳定性与容量方案,以及四套业务指标与埋点方案。面试末尾还有四条反问,它们不属于代码块模板,而是用来确认团队瓶颈、治理阶段、岗位侧重和未来挑战。迁移时我不会改写旧根,也不会把旧文复制一遍,而是建立一张迁移账本:每个标题记录原用途、对应模板、训练时长、事实风险和追问入口。三分钟路线吸收通用五段骨架以及项目方案的最小闭环,只保留结论、约束、核心流、最高成本风险和收束;五分钟路线再吸收技术选型、容量评估和资源配置中的替代方案、数据演绎、观测与回滚;十分钟路线进一步展开分布式事务、高可用、故障恢复、业务指标和四条反问。这里最重要的边界是,迁移完整只代表材料没有遗漏,不代表模板已经成为我的生产经历。每次套用前仍要标 E1(直接证据)、E2(材料映射)、E3(演练设计)或 E0(待核对)。最终我用 9+15=244+4+6+4=18 和四条反问三个独立校验式验收,后续旧根新增内容也必须先更新计数再进入训练。验收时还会随机抽一个标题,要求从旧根定位到训练时长、事实等级和项目入口,防止只有数量正确、实际链接却断裂。
    • 追问/直答(4 组):①为什么不修改旧根?保留原始基线和既有复习路径;②分组标题算模板吗?不算,但必须映射上下文;③反问为什么独立?它探测岗位约束,不描述方案;④新增模板怎么办?更新账本、计数和训练入口。
    • 详细链接旧根原文
  2. 问题:你如何用 E1、E2、E3、E0 管理架构口述中的事实边界?

    • 考点:证据等级、表达权限、数字可信度和升级路径。
    • 回答思路:解释四级来源、允许动词、禁止越界和证据升级。
    • 详细答案:E1(直接证据)对应本人可定位动作;E2(材料映射)对应简历与既有材料;E3(演练设计)对应假设方案;E0(待核对)对应来源不足或冲突。
    • 进阶追问:等级是否代表方案质量高低?
    • 进阶回答:不代表,等级描述证据来源和陈述权限,不直接评价技术质量。
    • 口述答案:我把事实等级看成口述权限控制,而不是给方案打分。E1(直接证据)是我能定位到本人代码、需求、评审、发布、监控或事故记录的内容,这类内容可以说“我负责”“我实施”“我观测到”,但仍不能把团队全部成果归到个人。E2(材料映射)来自简历、项目说明或知识库已有材料,它能证明项目与能力有关,但直接证据还没有全部回查,所以更稳妥的表达是“材料记录了这个方案”“我参与的范围是”。E3(演练设计)用于容量公式、候选方案、故障注入和未来演进,我会明确说“如果由我设计”或“下面做一个演练假设”,绝不把计算结果说成线上真实吞吐。E0(待核对)表示来源缺失、记忆模糊或材料冲突,这时不删除问题,也不猜答案,而是说明未知、已知边界和取证路径。训练中我会逐句标级,尤其检查吞吐、响应分位、机器规格、收益比例、事故原因和个人职责。比如压测报告里的单实例能力可以是 E1(直接证据),简历写过但未找到报告的量级是 E2(材料映射),按日订单量推导的峰值是 E3(演练设计),只记得“大概很高”就是 E0(待核对)。等级可以升级:找到提交、发布和看板后,E2(材料映射)可能升级为 E1(直接证据);演练方案真正实施并留下观测证据后,E3(演练设计)也可升级。若统计口径变化或来源冲突,E1(直接证据)也要暂时降级。这样做的价值是让每个结论都能经受“你怎么证明”的追问,并让复盘有明确补证顺序。
    • 追问/直答(4 组):①现场要报等级代号吗?不必,但动词必须匹配;②行业常识是什么等级?机制知识不等于项目事实;③记得范围怎么办?报量级和口径;④团队成果如何说?分开团队目标、个人动作和共同结果。
    • 详细链接架构追问题库
  3. 问题:请用三分钟模板口述 WMS(仓储管理系统)库存防超卖方案,并守住事实边界。

    • 考点:数量不变量、并发裁决、幂等、补偿和时间盒。
    • 回答思路:按结论、约束、方案、风险、收束五段组织,演练数字明确标级。
    • 详细答案:先定义可售、冻结、已扣与实物守恒,再说明缓存只承担性能,数据库条件更新承担正确性,异常由状态机、流水和对账闭环。
    • 进阶追问:有分布式锁为什么还要数据库条件更新?
    • 进阶回答:锁可能超时、失效或覆盖不完整,数据库条件更新才是最终并发裁决底线。
    • 口述答案:如果用三分钟讲 WMS(仓储管理系统)库存防超卖,我先给结论:核心不是选一把锁,而是让可售、冻结、已扣和实物数量在并发、超时与补偿后仍能守恒。约束上,出库波峰会形成热点库存,用户请求可能重复,支付与仓内过账又存在异步延迟,所以既要保护入口性能,也要保留数据库侧的最终裁决。主流程中,请求先携带稳定业务幂等键,热点场景可以用 Redis(远程字典服务)做预检查或削峰,但它不作为最终库存事实;落库时由 MySQL(关系型数据库)执行带库存下限和版本条件的更新,成功后写冻结或扣减流水,再通过 MQ(消息队列)传播结果。订单取消或支付超时不能直接把数量加回去,而要检查当前状态、原扣减流水和补偿幂等键,避免重复释放。最高成本风险有三类:两个并发请求同时看到旧值、消息重复导致重复扣减、超时未知导致先扣后误补。止血时可限制热点商品流量、暂停自动补偿并保护数据库;定位时核对请求幂等键、库存版本、流水和消息消费记录;恢复后不能只看接口成功率,而要复算“可售加有效冻结是否等于可支配实物”,再处理历史差异。E3(演练设计)中,初始可售 100,两个请求各扣 60,条件更新只允许一个成功,最终可售 40;这个数字只用于解释机制。若简历和项目材料能证明我参与过相关链路,可先标 E2(材料映射);只有回查到本人代码、评审、上线和监控,具体动作才升级为 E1(直接证据)。最后我会邀请继续追问热点库存、重复补偿或账实对账。
    • 追问/直答(4 组):①缓存挂了怎么办?降级到受限数据库路径并限流;②消息重复怎么办?消费幂等加流水唯一约束;③超时就释放吗?不能,先查状态;④恢复如何验收?复算数量守恒并清理差异。
    • 详细链接架构案例库
  4. 问题:请用五分钟路线说明一项技术选型,重点展示替代方案和退出条件。

    • 考点:约束驱动、候选矩阵、验证实验、回滚和事实分级。
    • 回答思路:以订单主数据和搜索读模型为例,区分事实源与查询投影。
    • 详细答案:交易数据优先由 MySQL(关系型数据库)承载事务与约束,Elasticsearch(搜索引擎)承载检索投影;说明不反选的原因、同步风险和退出路径。
    • 进阶追问:为什么不直接让搜索引擎做主库?
    • 进阶回答:搜索能力强不等于适合作为交易事实源,事务约束、状态裁决、审计和恢复边界不同。
    • 口述答案:我会用订单主数据与检索场景说明五分钟选型路线。先给结论:订单的权威事实放在 MySQL(关系型数据库),Elasticsearch(搜索引擎)作为搜索读模型,不反向裁决交易状态。这个结论来自约束而不是技术偏好。订单需要本地事务、唯一约束、状态版本、资金和履约审计;查询侧又需要多字段检索、模糊匹配和聚合,两种工作负载难以由一个模型同时做到最优。候选比较时,单用 MySQL(关系型数据库)的优点是事实简单、恢复路径短,缺点是复杂检索和大范围聚合成本高;让 Elasticsearch(搜索引擎)同时承担主事实虽然查询方便,但会把近实时刷新、写入失败和索引重建风险带入交易裁决。因此主方案是交易写入先提交数据库,再通过 MQ(消息队列)或变更日志更新搜索投影,查询结果标识同步时间;关键交易详情仍回源数据库。故障上最危险的是数据库已提交而索引未更新、重复事件覆盖新版本、重建期间查询不完整。处理方式是事件携带订单标识和版本,消费者幂等更新;积压时保护写链路、降低非核心聚合;恢复后比对数据库版本、索引版本和抽样业务结果。E3(演练设计)中,若峰值每秒 700 次请求、检索占 80%,分离读模型可以把检索压力从交易库移出,但真实收益必须由验证实验和线上观测确认,不能直接写成生产结论。上线采用灰度双读和差异采样,错误率、延迟或结果差异超过门禁就切回数据库查询;索引字段保持向前兼容,重建完成前不删除旧索引。退出条件也要明确:若数据规模小、检索简单或团队无法运维双系统,就暂不引入搜索读模型;若检索量和功能达到阈值,再逐步演进。
    • 追问/直答(4 组):①索引延迟能接受吗?按业务场景定义时限;②怎样防旧消息覆盖新值?比较版本;③重建如何不中断?新旧索引并行并原子切换;④何时不用搜索引擎?查询简单且规模可控时。
    • 详细链接技术选型与解决方案
  5. 问题:请用十分钟主线讲支付资金一致性,怎样处理外部结果未知?

    • 考点:资金不变量、验签幂等、未知态、对账补偿和恢复验收。
    • 回答思路:围绕资金可对平,从正常流转进入超时未知和单边账恢复。
    • 详细答案:支付不能把超时直接判失败;应以稳定请求号、渠道查询、状态机、不可变流水和对账批次闭环。
    • 进阶追问:为什么重试不能解决全部超时?
    • 进阶回答:首次请求可能已在渠道成功,盲目重试会造成重复支付或重复入账。
    • 口述答案:支付方案我会先定义资金不变量:订单应付、本金、手续费、退款、渠道结果和本地账本必须可复算、可对平,接口返回成功只是观测信号,不等于资金闭环。正常流程中,每次支付使用稳定商户请求号,服务在本地事务里创建支付单和初始状态,再调用外部渠道。同步返回、Webhook(回调通知)和主动查单都只是同一支付意图的不同证据,必须经过验签、防重放、渠道事件标识和状态机裁决后才能更新结果;下游通知通过 MQ(消息队列)最终一致,资金流水尽量不可变,纠错使用反向分录而不是覆盖历史。核心故障是调用超时:此时不能直接标失败,也不能立即换新请求号重试,因为渠道可能已经扣款。系统应进入未知态,按原请求号主动查单;查询仍无结果时按退避策略重试并设置未知年龄门禁,超过时限进入人工或对账队列。若本地成功、渠道失败,或渠道成功、本地未记账,就形成单边账,需要以渠道账单、支付单、资金流水和对账批次进行差异分类,再用幂等补偿修正。止血时保护支付入口、暂停有风险的自动补偿并隔离异常通道;定位要串联请求号、渠道流水、回调记录、状态版本和账务分录;恢复不能只看服务存活,而要确认新增未知量下降、历史未知被清理、差异金额归零或进入有责任人的人工队列。E3(演练设计)中,100 笔各 100 元交易,90 笔成功、5 笔退款,则净额应为 8500 元;若渠道为 8600 元,就必须定位 100 元差异,不能用总体成功率掩盖。个人职责和真实金额只有在发布、监控或对账记录可定位时才标 E1(直接证据)。最后我会说明演进条件,例如未知年龄和对账差异持续超过门禁时,优先补证据链与补偿隔离,而不是先增加重试次数。
    • 追问/直答(4 组):①回调重复怎么办?事件标识加状态机幂等;②回调乱序怎么办?按状态版本裁决;③查单仍未知怎么办?退避、时限、人工队列;④恢复看什么?未知年龄、差异金额和账本守恒。
    • 详细链接项目组合与追问树
  6. 问题:遇到确实不会的架构追问,你怎样诚实收束而不是失去交流?

    • 考点:未知边界、推理权限、取证路径和沟通稳定性。
    • 回答思路:承认未知,给已知边界、风险判断、核对动作和后续验证。
    • 详细答案:不猜项目值,不用相邻知识拼接结论;将默认值、建议值和生产值分开。
    • 进阶追问:面试官认为这是基础知识怎么办?
    • 进阶回答:若机制确实掌握就补机制,仍不确定的项目细节继续保持边界,不因压力编造。
    • 口述答案:我不会把“不会”处理成一句话结束,也不会为了显得熟悉而猜精确参数。我的收束顺序有四步。第一步直接说明未知范围,例如“这个组件的生产参数不是我配置的,我不能确认项目值”,先把事实权限说清楚。第二步给出我能确认的机制边界:它位于哪条数据流,影响吞吐、延迟、一致性还是恢复,错误配置可能造成什么失败。第三步给出现场判断框架,例如先看业务错误率和长尾响应,再看线程池、连接池、数据库等待或消息积压,通过链路证据缩小范围。第四步说明核对动作:到配置中心、发布记录、监控看板、变更评审和负责人处确认,并用测试环境或灰度验证,而不是直接修改生产。假设面试官问某个容器内存值,我会区分三类答案:产品默认值属于通用知识,团队建议值属于设计经验,项目生产值必须有配置证据;三者不能混说。若我只参与了故障定位,没有负责最终配置,我会说清个人动作和团队结果。若问题要求一个方案,我可以继续给 E3(演练设计):明确假设、候选方案、风险和验证方法;若问题要求复盘真实事故,则只能使用 E1(直接证据)或谨慎的 E2(材料映射)。诚实收束不是回避,它仍要展示如何保护系统:在信息不足时先避免扩大故障,保留现场,选择可逆动作,建立观测,再由证据推进。最后我会确认面试官更想听机制推导还是项目经历,从而在合法边界内继续交流。这种回答可能少一个参数,却能证明我知道知识边界、生产风险和取证方法。
    • 追问/直答(4 组):①能说“我猜”吗?可说假设,但必须标演练;②完全不懂机制呢?直接承认并说明学习核对路径;③谁负责要说吗?说明职责接口即可;④事后如何补齐?记录问题、查权威资料并做最小验证。
    • 详细链接架构追问题库
  7. 问题:请从业务量推导系统容量,并解释为什么容量数字不是一句并发用户数。

    • 考点:口径拆分、峰值推导、单实例能力、冗余和校准。
    • 回答思路:从业务事件到入口请求率,再到实例数和下游瓶颈。
    • 详细答案:并发用户含义模糊,应同时说明每秒请求、每秒事务、响应分位、错误率和队列积压。
    • 进阶追问:计算出五个实例就一定够吗?
    • 进阶回答:不一定,公式只给初值,还需压测、故障冗余、发布容量和下游约束校准。
    • 口述答案:容量问题我不会只回答“支持多少并发用户”,因为用户在线不等于同时发请求,而且读写比例、内部放大和响应时间都会改变资源占用。我先定义业务口径:日订单量、峰值集中时段、峰值占比、活动突增倍率,以及一笔订单触发多少入口请求和内部调用。E3(演练设计)中,假设日订单 120 万,35% 集中在两小时,每单平均产生 4 次入口请求,则峰值平均请求率为 1200000×35%×4÷7200≈233 次每秒;考虑 2 倍突增和 1.5 倍冗余,目标约 699 次每秒。压测若证明单实例在目标响应分位和错误率下稳定承载 160 次每秒,理论数量为 4.37,向上取 5 个。但我不会到这里停止。五个实例还要覆盖滚动发布、单实例故障和流量倾斜,并检查线程池、连接池、处理器、内存、垃圾回收、数据库锁等待、Redis(远程字典服务)热点和 MQ(消息队列)消费能力。若入口每秒 700 次请求会放大成数据库每秒 2100 次查询,真正瓶颈可能在数据库而不是应用实例。上线前通过分层压测找拐点:逐步升压,记录 P95(95 分位响应时间)、P99(99 分位响应时间)、错误率和队列长度,当吞吐不再增长而延迟陡升时,前一个稳定档位才是单实例能力。线上再用业务峰值和资源水位回校模型。真实数字必须来自压测报告和看板,公式数字始终标 E3(演练设计)。最终回答容量时,我会同时给统计窗口、业务假设、目标服务水平、单实例依据、冗余策略和最先失效的下游,这样数字才可复算、可验证、可演进。
    • 追问/直答(4 组):①为何乘冗余?覆盖突发、故障和发布;②平均响应够吗?不够,要看长尾;③何时扩容?在拐点前按预测和水位触发;④扩应用为何可能更坏?会把更多压力推向下游。
    • 详细链接稳定性与容量评估
  8. 问题:高可用方案为什么不能只回答多副本?

    • 考点:失败域、入口保护、隔离降级、数据恢复和业务验收。
    • 回答思路:从依赖图识别故障传播,再讲防护、恢复和演练。
    • 详细答案:副本只覆盖部分实例故障,不能自动解决流量风暴、共享依赖、数据错误和错误发布。
    • 进阶追问:有自动扩容是否就不需要限流?
    • 进阶回答:仍需要,扩容有延迟且共享下游容量有限,限流保护不变量和恢复通道。
    • 口述答案:多副本只是高可用的一项手段,它主要覆盖单实例退出,无法解决共享数据库饱和、缓存热点、消息积压、第三方超时、错误发布或错误数据复制。我的设计顺序是先定义业务优先级和失败域,再决定防护层次。入口层按租户、业务和接口限流,避免非核心流量抢占支付、库存等关键链路;服务层设置超时预算、熔断、线程池隔离和有界重试,避免慢依赖耗尽工作线程;数据层明确数据库、缓存和消息各自的事实边界,准备只读、降级、补偿和对账;发布层使用灰度、开关和兼容变更,保留快速切回路径。故障发生后先止血:冻结高风险变更,限制流量,关闭非核心任务,必要时切换依赖;随后用业务错误率、P99(99 分位响应时间)、线程池队列、连接池等待、数据库锁、缓存命中和消息积压定位传播链。恢复不能以进程存活结束,还要确认新请求成功、历史积压下降、未知状态清理、资金或数量不变量成立。E3(演练设计)中,三个实例每个稳定承载 200 次每秒,总量不能简单说 600;若要求任一实例故障后仍承载 500 次每秒,则剩余两个实例各需 250,已经超过稳定能力,应增加实例或降低承诺。还要演练共享数据库故障,因为增加应用副本对它无效。真实系统若没有故障演练和恢复证据,只能把这套方案标为演练,不能说“系统达到高可用”。最终我会给出可降级功能、不可降级链路、触发阈值、恢复负责人和业务验收标准,高可用才从部署形态变成完整运行能力。
    • 追问/直答(4 组):①重试越多越可靠吗?不是,会放大故障;②降级是否丢业务?关键意图可落队列后补偿;③缓存多副本够吗?还要处理一致性和热点;④怎样验收恢复?看新流量、存量和业务守恒。
    • 详细链接架构师思维与设计
  9. 问题:跨服务业务如何选择本地事务、可靠消息、补偿或 TCC(Try Confirm Cancel,尝试确认取消)?

    • 考点:一致性等级、外部可控性、失败成本和复杂度权衡。
    • 回答思路:先判断是否能收拢本地事务,再按业务容忍度选择最终一致或强协调。
    • 详细答案:不默认使用分布式事务;外部支付等不可控系统最终仍需查单、对账和人工裁决。
    • 进阶追问:最终一致是否意味着可以无限等待?
    • 进阶回答:不是,必须定义收敛时限、未知年龄、补偿门禁和责任人。
    • 口述答案:我先判断业务动作能否收拢到一个服务和一个数据库事务中,因为本地事务的失败语义、性能和运维成本最清楚。若必须跨服务,再看业务是否允许短暂中间态、参与方是否可控、补偿是否可逆以及失败金额或数量的成本。允许最终一致时,我优先使用本地事务保存业务事实和待发送事件,再由 MQ(消息队列)可靠投递;消费者以稳定业务键幂等处理,状态机限制合法迁移,失败进入重试、死信或人工队列,定时对账处理漏单。若动作可逆,可以设计补偿,但补偿不是简单反向调用,它必须识别原动作是否成功、是否已补偿以及外部状态是否改变。只有在强一致收益明确、所有参与方都能提供预留、确认和取消语义时,才考虑 TCC(Try Confirm Cancel,尝试确认取消)一类强协调方案,同时接受资源悬挂、空回滚、防悬挂和运维复杂度。外部支付或物流渠道不受内部事务框架控制,因此即使同步调用成功,也仍要面对超时未知、回调乱序和渠道账单差异,最终靠原请求号查单、状态裁决、对账和人工兜底。E3(演练设计)中,订单创建后库存冻结成功,但消息发送暂时失败,事务内事件表保存同一业务键,后台重新投递;消费者重复收到三次,只产生一次有效冻结。如果没有事件表或代理事务消息的真实证据,这只能作为方案建议。选择时我会把一致性目标、允许窗口、失败成本、参与方能力和团队运维能力写成矩阵,并给停止条件:当补偿长期堆积、未知年龄超标或人工成本不可接受时,重新划分边界或提高同步裁决强度,而不是无限增加重试。
    • 追问/直答(4 组):①为什么先本地事务?边界清楚、成本最低;②补偿一定成功吗?不一定,需要幂等、重试和人工;③强协调缺点?锁定资源且失败处理复杂;④外部渠道怎么办?查单、对账、补偿和裁决。
    • 详细链接技术选型与解决方案
  10. 问题:请把 IoT(物联网)告警风暴治理套入三、五、十分钟训练路线。

  • 考点:反馈控制、分层降噪、严重事件可达、容量演绎和表达伸缩。
  • 回答思路:三分钟讲闭环,五分钟加演绎与替代,十分钟加事故恢复和业务验收。
  • 详细答案:治理目标不是丢弃告警,而是在保护系统的同时保留严重事件、原始证据和回放能力。
  • 进阶追问:聚合会不会掩盖真正故障?
  • 进阶回答:严重级别穿透,聚合记录保留计数、首末时间和原始事件引用,并支持回放。
  • 口述答案:三分钟版本我会先给结论:IoT(物联网)告警风暴治理不是简单丢消息,而是用分层反馈控制降低重复噪声,同时保证严重事件可达、原始证据可追溯。约束包括设备可能同时抖动、同源事件重复、通知通道容量有限以及值班人员注意力有限。主流程是接入层按租户和设备限流,MQ(消息队列)缓冲突发,处理层按设备、告警类型和时间窗口聚合,Redis(远程字典服务)保存短期计数与去重状态,数据库保存最终告警和处置记录;严重事件绕过普通抑制策略。风险是限流误伤、窗口状态丢失、积压恢复后二次风暴,因此要保留原始事件引用、回放开关和恢复节奏。五分钟版本增加 E3(演练设计):一分钟 10000 条事件聚合为 320 条通知,压缩率 96.8%,但必须同时核对严重事件可达率、处理延迟和原始事件保存率;再比较固定窗口、滑动窗口和按拓扑聚合的适用条件,并给降级与回滚门禁。十分钟版本会展开一次风暴:先根据入口速率、消费延迟和通知失败判断传播,立即限制普通级别通知并保护严重队列;再定位设备批次、规则版本和下游通道;修复后按租户分批回放积压,防止恢复流量再次冲击系统;最后用严重事件零遗漏、积压归零、重复通知下降和人工处置时长验收。事实上,模板提供的是 E3(演练设计)骨架;只有简历材料可支持时才标 E2(材料映射),找到本人规则代码、发布记录和监控后才能将具体动作升级为 E1(直接证据)。三个版本共享同一不变量,只改变证据密度,不改变事实版本。
  • 追问/直答(4 组):①为什么要消息缓冲?隔离突发与处理能力;②状态丢失怎么办?从持久事实重建并限速回放;③如何防漏严重告警?独立通道和可达审计;④恢复为何限速?避免积压形成第二次风暴。
  • 详细链接架构案例库
  1. 问题:跨境物流履约链路长、外部接口不稳定,口述时如何建立主线?
  • 考点:唯一业务意图、外部依赖隔离、状态裁决、补偿和人工边界。
  • 回答思路:以订单、面单、轨迹的因果关系为主线,避免逐个接口罗列。
  • 详细答案:稳定业务键和状态版本守住唯一意图,外部调用异步隔离,未知结果先查证,乱序事件按状态机裁决。
  • 进阶追问:第三方没有幂等接口怎么办?
  • 进阶回答:内部固定请求号、调用前后留证、超时主动查询,必要时停止自动重试并人工裁决。
  • 口述答案:跨境物流口述最容易变成接口清单,所以我会先定义不变量:一次下单或面单申请只有一个有效下游结果,订单、面单、轨迹、取消和结算之间的因果可追踪。约束是外部渠道多、响应慢、错误语义不统一,部分调用超时后结果未知,轨迹还可能重复和乱序。主链路应尽量短:本地先以稳定业务键保存履约意图和当前状态,外部面单拉取、轨迹同步等慢操作放入隔离线程池或 MQ(消息队列);每次调用记录渠道、请求号、尝试代次和时间。外部返回后不直接覆盖状态,而是经过状态机和版本判断;重复轨迹按渠道事件标识或业务组合键幂等,晚到事件若不能推动合法迁移就留作审计。最高成本故障是调用超时但渠道已经创建面单。如果直接换新请求号重试,可能产生重复面单和重复费用,因此先按原请求号或业务键查单,仍未知时进入有时限的重试和人工队列。止血时隔离异常渠道、限制新任务、保护已支付订单;定位时串联本地订单、调用日志、渠道单号、消息记录和状态版本;恢复时分批重放积压,检查是否出现重复结果、取消后复活和长期未知。五分钟版本可增加渠道候选矩阵,比较价格、时效、接口稳定性和退出成本;十分钟版本再展开一次渠道故障和切换演练。E3(演练设计)中,1000 个任务有 20 个超时,其中查单确认 12 个成功、6 个失败、2 个仍未知,系统只对确认失败的 6 个重试,不能把 20 个全部重放。真实项目若只能从材料确认参与范围,就标 E2(材料映射);只有调用、状态机、上线和结果证据可定位,才描述为 E1(直接证据)。
  • 追问/直答(4 组):①轨迹乱序怎么办?状态版本与合法迁移裁决;②渠道切换如何避免重单?固定业务意图并先查原渠道;③死信如何处理?分类、限速重放、人工兜底;④恢复验收?重复单、未知年龄和积压同时收敛。
  • 详细链接项目组合与追问树
  1. 问题:Runner(执行器)调度如何处理租约过期、接管和旧执行者迟到提交?
  • 考点:租约代次、心跳、栅栏、幂等提交和恢复判定。
  • 回答思路:先定义唯一有效执行权,再走领取、续租、接管和提交链路。
  • 详细答案:租约解决暂时所有权,代次栅栏阻止旧执行者在接管后写入;业务结果仍需幂等。
  • 进阶追问:有心跳为什么还会重复执行?
  • 进阶回答:暂停、网络分区或调度延迟会使心跳超时,而旧执行者可能仍在运行,因此必须防迟到提交。
  • 口述答案:Runner(执行器)调度的核心不变量是:同一任务代次只有当前有效持有者可以提交结果,旧持有者即使恢复也不能覆盖新结果。任务领取时,调度端以条件更新写入持有者、租约到期时间和递增代次;执行端周期心跳续租,但续租必须同时匹配任务标识、持有者和代次。若心跳超过阈值,调度端不会立刻假设任务失败,而是将其标为可接管,由新执行者领取并获得更高代次。真正关键的是结果提交:写入必须携带代次作为栅栏,数据库只接受当前代次,旧执行者在网络恢复后迟到提交会被拒绝。即使有栅栏,外部副作用仍需稳定业务键幂等,因为旧执行者可能在失去租约前已调用下游。故障时先看租约过期量、心跳延迟、待领取队列和重复副作用;止血可暂停新领取、隔离异常执行池并保护提交接口;定位时串联任务状态、代次、持有者、心跳和下游业务键;恢复后确认在途任务重新归属、旧代次提交被拒绝、积压下降且业务结果无重复。E3(演练设计)中,任务代次 7 由执行者甲持有,甲暂停导致租约过期,乙接管后代次变为 8;甲恢复时携带代次 7 提交,条件更新影响行数为零,乙的代次 8 结果才可生效。这个演绎证明机制,不代表真实参数。租约时长应根据任务耗时分布、心跳抖动和接管成本压测,不应背固定值。若我只参与任务业务逻辑,就不能声称设计了调度协议;能定位协议代码、评审和故障记录后,才把具体职责标为 E1(直接证据)。恢复演练还要覆盖调度端重启,确认租约事实能够从持久记录重建。
  • 追问/直答(4 组):①租约越短越好吗?不是,误接管会增加;②栅栏放哪里?最终写入裁决点;③外部副作用怎么办?业务键幂等与查证;④恢复看什么?归属、旧提交拒绝、积压和重复结果。
  • 详细链接架构案例库
  1. 问题:业务指标和技术指标怎样共同证明架构方案有效?
  • 考点:指标口径、事件模型、因果校验、对账和反向决策。
  • 回答思路:先定义业务事实,再连接响应、错误、积压和链路信号。
  • 详细答案:页面事件可解释行为,但支付、库存等关键指标必须以后端事实和对账结果为准。
  • 进阶追问:指标上涨为什么不一定是好事?
  • 进阶回答:可能来自重复埋点、异常刷新、爬虫、口径变化或失败重试,需要交叉核验。
  • 口述答案:架构效果不能只用处理器水位或平均响应证明,我会从业务结果和技术过程两层建立指标。业务层先定义权威事实和统计口径,例如支付成功应以渠道与本地账本可对平为准,库存正确应以可售、冻结和实物守恒为准,履约及时应明确从哪个状态到哪个状态以及统计窗口。技术层再记录 QPS(每秒查询率)、P95(95 分位响应时间)、P99(99 分位响应时间)、错误率、线程池队列、数据库等待、缓存命中和 MQ(消息队列)积压。二者通过 TraceId(链路标识)、订单号或任务号关联,才能回答“技术异常是否影响业务”。埋点采用事件模型,事件名称、发生时间、用户或设备、会话、链路标识、业务属性和结果都要版本化;前端适合曝光与点击,订单、支付、库存和资金必须以后端事实为准。数据突变时先查口径、版本、重复和丢失,再与订单表、流水、消息和对账批次交叉校验,不能马上归因于架构优化。E3(演练设计)中,改造前支付转化率 92%,改造后 94%,若同期渠道、流量来源和口径发生变化,就不能把两个百分点都归因于技术方案;可通过分组、灰度和相同口径比较,并同时观察未知支付年龄和长尾响应。若 P99(99 分位响应时间)下降但支付差异金额上升,方案仍不合格。十分钟口述中我会给出目标指标、保护指标和反向指标:目标说明业务价值,保护指标防止用稳定性换正确性,反向指标用于发现副作用。真实收益必须有原始看板、时间窗口和变更记录才标 E1(直接证据),只有简历结论则按 E2(材料映射)表达。
  • 追问/直答(4 组):①平均值够吗?不够,要看分布和长尾;②前端支付成功可用吗?不能作为资金事实;③如何防重复埋点?事件标识、版本和去重;④怎样证明因果?灰度、同口径对照和变更时间关联。
  • 详细链接业务数据指标与埋点
  1. 问题:面试结束的四条反问如何帮助你判断岗位,而不是例行提问?
  • 考点:岗位约束、组织成熟度、责任边界和经验映射。
  • 回答思路:逐条解释要获取的信息,并在回答后连接自身证据。
  • 详细答案:四条反问分别探测首要瓶颈、治理阶段、岗位侧重和年度挑战;听完要做二次确认。
  • 进阶追问:只能问一条时选哪条?
  • 进阶回答:优先问未来一年最大技术挑战,它通常同时暴露业务方向、风险和岗位期望。
  • 口述答案:我不会把四条反问当作固定台词,而是把它们当成岗位约束采集。第一条问团队当前最核心的瓶颈是性能、稳定性还是交付效率,目的是判断主要矛盾和成功标准;如果对方回答稳定性,我会继续确认是容量、依赖故障、数据正确性还是发布风险。第二条问服务治理和可观测性建设阶段,用来了解指标、日志、链路、告警、演练和变更治理的成熟度,也判断岗位是从零建设还是优化现有平台。第三条问岗位更看重方案设计、技术治理还是团队协同,目的是厘清日常产出、决策权限和个人责任,避免职位名称相同但实际工作完全不同。第四条问未来一年最大的技术挑战,它能把业务增长、组织变化、系统演进和预算限制放到同一张图里。关键动作发生在听完之后:我会用一句话复述理解,再选择自己的 E1(直接证据)或 E2(材料映射)经验连接。例如对方说库存正确性和跨团队履约是重点,我会说明自己可以从数量守恒、状态机、幂等和恢复证据展开;若对方需要平台治理,而我只有项目内经验,我会诚实说明边界和可迁移方法。反问也用于识别风险:只强调高吞吐却无法说明业务指标,可能目标不清;要求架构师承担结果却没有决策权限,需要继续确认;治理从零开始则要问资源和阶段目标。若时间只够一条,我会问未来一年最大技术挑战,并追问这个岗位入职三到六个月最希望解决什么。这样反问既帮助双向选择,也让口述从“我做过什么”收束到“我能否解决这里的问题”。
  • 追问/直答(4 组):①能问技术栈吗?可以,但应连接业务阶段;②对方回答模糊怎么办?给两个具体选项确认;③能问事故吗?可问复盘机制,不要求敏感细节;④何时不继续追问?时间到或对方已给出边界时。
  • 详细链接旧根反问模板
  1. 问题:你会怎样制定一周的三、五、十分钟口述训练和证据升级计划?
  • 考点:刻意练习、事实审计、时间盒、录音复盘和迁移训练。
  • 回答思路:先建事实卡,再做短到长、长到短、跨项目和压力追问四轮训练。
  • 详细答案:训练目标不是背稿,而是事实稳定、时间可控、追问可回到证据,E0(待核对)逐步减少。
  • 进阶追问:怎样判断已经练熟?
  • 进阶回答:随机从任一追问进入,仍能在规定时间回到不变量、证据和收束,不依赖固定句序。
  • 口述答案:我会先花一天建立事实卡,而不是直接背答案。每个项目只记录业务不变量、个人职责、权威事实、关键决策、最高成本故障、恢复验收、结果口径和可追问入口,并逐句标 E1(直接证据)、E2(材料映射)、E3(演练设计)或 E0(待核对)。第二天做三分钟训练,使用一百八十秒计时,强制保留结论、约束、主方案、风险和收束;超时只删背景和组件枚举。第三天把同一项目扩成五分钟,增加一个替代方案、一组可复算数据、观测链和回滚门禁,同时检查新增内容是否仍在事实权限内。第四天做十分钟深挖,选择一次真实事故或明确标记的演练,完整讲发现、止血、定位、修复、恢复验收和复盘,再用四条反问中的一条连接目标岗位。第五天反向压缩:先讲十分钟,立即压成五分钟和三分钟,验证缩短后事实版本不变。第六天做跨项目迁移和压力追问,随机从库存、支付、履约、Runner(执行器)或 IoT(物联网)中抽题,并连续追问“为什么不选另一方案、超时怎么办、如何证明恢复、何时演进”;答不上就记录为 E0(待核对),不现场编造。第七天回查代码、文档、发布、监控和事故记录,能定位的内容升级为 E1(直接证据),仍无来源的数字从稿中删除或改为 E3(演练设计)。每天保留录音,统计总时长、背景占比、无效口头语、被打断位置和未知问题数量。通过标准不是逐字一致,而是三种时长均不超时,随机打断后能回到业务不变量,每个数字能说明来源,每个不会的问题能给边界和核对路径。最终形成一个稳定主干和多个可替换证据块,面试时按岗位风险组合,而不是背一篇僵硬长稿。
  • 追问/直答(4 组):①每天练多久?两轮录音加一轮复盘即可;②要逐字背吗?不背句子,背结构与证据;③E0(待核对)清不完怎么办?删除非必要项并保留核对路径;④如何模拟打断?随机抽追问后要求三十秒回主线。
  • 详细链接项目组合与追问树