AI 面试追问树:追问要沿着证明链往下挖
一、追问不是随机加难度
面试训练里,AI 可以扮演面试官继续追问。但很多追问系统只是换题、加难度、问“还有别的方法吗”。这类追问看似热闹,实际不一定能暴露理解漏洞。好的追问应该沿着证明链往下挖。
算法面试考的不是背过多少题,而是能不能解释为什么这样做。
二、先建立追问树
flowchart TD A[候选答案] --> B[思路正确性] B --> C[不变量] B --> D[边界条件] B --> E[复杂度] B --> F[替代方案]用户给出答案后,AI 不应立即换新题,而应判断当前答案哪一环薄弱:状态定义、单调性证明、边界条件、复杂度分析,还是代码实现。
interview_probe_tree: invariant: required edge_cases: required complexity: required alternative_solution: optional追问树让训练更有方向。
三、追问要基于回答内容
def next_probe(answer_tags): if "missing_invariant" in answer_tags: return "你能说明窗口始终满足什么条件吗?" if "complexity_unclear" in answer_tags: return "为什么内层 while 总次数不是 O(n²)?" return "如果输入全是相同元素,会发生什么?"追问不是固定脚本,要根据回答缺口来。比如滑动窗口题,用户能写代码但解释不了 left 为什么不回退,就追问不变量;用户会说思路但边界错,就给反例。
还要避免一次追问太多。连续抛三个问题,会让训练失焦。一个追问只验证一个能力点。
四、追问结果要评分
AI 面试训练不能只给“回答不错”。更有用的是给出维度评分:思路、证明、复杂度、代码、沟通。这样用户知道下次该补哪里。
interview_score: idea: 4 proof: 2 complexity: 3 implementation: 4 communication: 3评分要给证据。比如“证明链不足:没有说明为什么每个元素最多入队出队一次”。这种反馈比“复杂度分析不够清楚”更可执行。
追问树也可以用于复习。某类题如果总在不变量上丢分,就安排更多证明训练,而不是继续刷新题。
最后,AI 面试官要有边界。它可以指出问题、给反例、引导证明,但不要把用户压到只会迎合。训练目标是建立推理能力,不是背标准话术。
追问系统还应该控制节奏。一次回答如果已经暴露核心问题,就不要继续追三个方向。先让用户修正当前证明,再进入复杂度或替代方案。节奏太快,会把训练变成压力测试。
probe_pacing: one_gap_per_question: true wait_for_correction: true stop_after_mastery: true还可以为每个题型维护典型追问。二分题追单调性,DP 题追状态含义,图题追访问不变量,堆题追为什么弹出的是当前最优。这样追问既稳定,又不会变成随机聊天。
最后,追问结果要能生成复习计划。不是简单给分,而是告诉用户接下来该练哪类证明。
五、总结
AI 面试追问树要围绕思路、不变量、边界、复杂度和替代方案逐层追问,并根据回答动态选择下一个问题。
追问要沿着证明链往下挖。能解释为什么,才是真正掌握算法。