第19章 AI测试面试准备
第19章 AI测试面试准备
AI测试岗位面试通常包含四个环节:测试基础、AI知识、编程能力和实战场景。本章梳理高频面试题和参考答案,
帮你做好准备。
19.1 高频面试题:AI测试基础
Q1: AI测试和传统测试最大的区别是什么?
参考答案:核心区别在于测试预言(Test Oracle)的变化。传统软件有明确的预期输出,assert expected ==
actual。AI系统(尤其是LLM)没有唯一正确答案,需要从准确性、相关性、安全性、公平性等多个维度进行统计性评估。
此外AI测试需要关注数据质量、模型漂移等传统测试不涉及的领域。
Q2: 如何评估一个LLM应用的质量?
参考答案:分层评估。首先确定评估维度(准确性/安全性/相关性等),然后对每个维度建立评分标准(Rubric),接着构建高
质量的测试数据集(Golden Set),使用自动化评估(LLM-as-Judge) +
人工评估结合的方式打分,最后通过统计分析得出结论。同时需要关注A/B测试验证在线效果。
Q3: 什么是数据漂移?如何检测?
参考答案:数据漂移指生产数据的分布与训练数据分布发生偏移。分为特征漂移(输入变化)、标签漂移(分布变化)和概念
漂移(关系变化)。检测方法包括KS检验、PSI(Population Stability
Index)、JS散度等统计检验方法。建议设置自动化监控,PSI>0.2时触发告警。
19.2 高频面试题:编程与实操
Q4: 请用Python计算一个分类模型的精确率、召回率和F1
def calculate_metrics(y_true, y_pred):
tp = sum(1 for t, p in zip(y_true, y_pred)
if t == 1 and p == 1)
fp = sum(1 for t, p in zip(y_true, y_pred)
if t == 0 and p == 1)
fn = sum(1 for t, p in zip(y_true, y_pred)
if t == 1 and p == 0)
precision = tp / (tp + fp) if (tp + fp) > 0 else 0
recall = tp / (tp + fn) if (tp + fn) > 0 else 0
f1 = (2 * precision * recall / (precision + recall)
if (precision + recall) > 0 else 0)
return {'precision': precision,
'recall': recall, 'f1': f1}Q5: 如何设计一个LLM聊天机器人的测试方案?
参考答案要点:1)功能测试-核心意图识别准确率、多轮对话上下文保持、工具调用正确性;2)非功能测试-响应延迟P95
、并发支持、Token成本;3)安全测试-提示注入防护、信息泄露检测、有害内容过滤;4)用户体验-回答的友好度、格式
规范性、引导能力;5)监控-上线后持续监控用户满意度、升级人工率、幻觉率。
19.3 高频面试题:场景设计
Q6: 给你一个RAG系统,你会怎么测?
参考答案:分层测试。1)文档处理层-分块策略覆盖度、元数据正确性;2)检索层-Recall@K、MRR、相关性评分,测试
边界查询(同义词/简写);3)生成层-忠实性(是否基于上下文)、完整性(是否覆盖所有要点)、相关性(是否回答了问题);4)
端到端-用户真实问题集的整体评分;5)使用RAGAS等框架进行自动化评估。
Q7: 如何测试一个AI推荐系统?
参考答案:1)离线评估-Precision@K/Recall@K/NDCG/MAP等排序指标,多样性指标、覆盖率指标、新颖性指标;2)在
线评估-A/B测试CTR/CVR/停留时长等业务指标;3)公平性-不同用户群体的推荐质量差异;4)冷启动-新用户/新物品的推
荐效果;5)实时性-用户行为后推荐更新的延迟。
19.4 面试技巧
- 展示你的测试思维:回答问题时体现分层、系统化的思考方式
- 结合实际经验:即使是传统测试的经验,也要主动关联到AI测试场景
- 数据说话:描述测试结果时用具体指标数据而非模糊描述
- 关注行业动态:了解最新的AI测试工具和方法论(如DeepEval、RAGAS)
- 准备作品集:有一个自己的AI测试项目/Demo会加分很多