Code Review、API 幻觉

共 46 题
#

1. 审查 AI 代码时,如何系统检查正确性、边界、并发、性能、安全、依赖和项目风格

A 正确性、边界、并发、性能、安全、依赖与风格按 checklist 逐项审查 ✓ 正确答案
B 只查性能
C 只查语法
D 只查逻辑
#

2. 如何用官方文档、源码、编译和最小运行示例识别不存在或已过时的 API

A 只看文档
B 信任 AI 的 API 名称
C 只看编译
D 用官方文档、源码、编译与最小运行示例多源交叉验证存在性与状态 ✓ 正确答案
#

3. AI 生成的测试如何识别空断言、同源实现、过度 Mock 和只验证 happy path

A 测试通过即可
B 无需检查
C 只看覆盖
D 检查空断言、同源实现、过度 Mock、只测 happy path,用变异测试验证有效性 ✓ 正确答案
#

4. Code Review 中如何系统化检查 AI 代码的并发(race condition、死锁)

A 只看语法
B 只查死锁
C 无并发问题
D 检查共享状态线程安全、原子性、锁顺序与安全发布,用并发工具检测 ✓ 正确答案
#

5. AI 引入的新依赖(npm、pip、Maven)应如何做许可证、维护活跃度、签名校验

A 只需能编译
B 许可证、维护活跃度、签名校验、来源可信,配合 SCA 扫描漏洞 ✓ 正确答案
C 无需审查
D 只查版本
#

6. 如何快速识别 AI 生成的“看起来对但其实错”的测试(同源实现、空断言、过度 Mock)

A 通过即有效
B 只查覆盖
C 无需检查
D 检查断言是否独立验证需求、用变异测试验证测试能否捕获错误 ✓ 正确答案
#

7. 如何阻止密钥、客户数据和未授权源码进入外部 Coding Agent,并保留审计证据

A 数据分类、边界拦截敏感内容、沙箱隔离、网络控制,并保留审计证据 ✓ 正确答案
B 无需审计
C 只记录
D 不限制
#

8. 生成代码可能混入 GPL/AGPL 等片段时,团队应如何做来源与许可证处置

A 来源追溯、许可证扫描、评估传染性风险,替换/重写/隔离侵权片段 ✓ 正确答案
B 直接使用
C AI 代码豁免许可证
D 无需处理
#

9. Code Review 中 AI 注释(# Generated by AI、// TODO: verify this)应如何被强制要求保留还是去除

A 全部保留
B "verify"类须人工确认解决,来源类可归档到元数据,避免噪音与未验证隐患 ✓ 正确答案
C 全部去除
D 无需处理
#

10. AI 生成代码的性能回归(N+1 查询、不必要的全表扫描、循环内远程调用)应如何纳入 Review checklist 与自动化检测

A 无需检查
B 纳入 review checklist(N+1、全表扫描、循环内调用),并用静态分析与压测自动化检测 ✓ 正确答案
C 只查编译
D 性能无关
#

11. AI 生成的基础设施即代码(Terraform/K8s 清单)专项审查要点有哪些(公开存储桶、过宽策略、资源限额缺失),为何其风险高于普通业务代码

A 直接作用于生产、特权执行、不可逆,公开存储桶/过宽策略/限额缺失影响面大 ✓ 正确答案
B 风险相同
C IaC 无风险
D 只需 apply
#

12. Snyk、Socket 等工具能发现哪些供应链问题,为什么不能替代人工架构审查

A 工具能完全判断
B 工具足够
C 工具基于已知信号,无法判断架构合理性、语义适配与设计缺陷,需人工决策 ✓ 正确答案
D 无需人工
#

13. 如何在提交或 PR 中记录关键 AI 协作痕迹而不制造无价值的冗长日志

A 记录来源、文件、审查、验证等关键信息,结构化而非冗长 ✓ 正确答案
B 每行都标记
C 不记录
D 记录全部对话
#

14. 为什么不能用“AI 生成的测试通过”作为质量证据,必须做断言完整性 + 边界用例审查

A 通过就是质量
B 通过即充分
C 测试可能失真(空断言/同源/happy path),需断言完整性与边界用例审查 ✓ 正确答案
D 无需边界
#

15. 代码风格(命名、注释、缩进)一致性如何避免 AI 引入“风格污染”

A 用 formatter/lint 在 CI 强制统一风格,AI 输出自动对齐 ✓ 正确答案
B 人工逐行改
C 无需处理
D 风格无关
#

16. 如何让 Code Review 反馈回流到 Prompt / 仓库规则,形成“越用越好”的闭环

A 反馈不沉淀
B 无需规则
C 把 review 高频问题沉淀为 Prompt/仓库规则,AI 遵循规避,规则随 review 迭代 ✓ 正确答案
D 一次性反馈
#

17. AI 生成的代码中识别过时 API(已废弃、已改名)应依赖哪些权威源(官方文档、运行时警告)

A 无需验证
B 只信 AI 描述
C 只看编译
D 官方文档、运行时/编译警告、变更记录交叉确认 ✓ 正确答案
#

18. AI 生成的 IaC 变更在应用前应如何做 plan/dry-run 与 diff 评审,防止直接 apply 到生产

A 直接 apply
B plan/dry-run 预览 + diff 评审 + 审批门禁,评审通过后才 apply ✓ 正确答案
C plan 即可
D 无需评审
#

19. 团队如何定义允许/禁止场景、数据等级、命令权限、网络访问和人工确认政策

A 临时决定
B 只控制命令
C 无需政策
D 定义允许/禁止场景、数据分级、命令权限、网络访问与人工确认,分级可配置强制 ✓ 正确答案
#

20. Prompt、仓库规则、MCP 配置和工具版本为何都应纳入 Code Review 与发布门禁

A 配置无关
B 无需管理
C 只纳代码
D 它们直接影响 AI 行为与安全,变更需评审、测试、兼容与安全审查 ✓ 正确答案
#

21. Coding Agent 误删、泄密或执行危险命令时,技术事件响应流程应如何设计

A 事后处理
B 无需流程
C 检测→止损→评估→修复→复盘→治理,审计日志支撑追踪 ✓ 正确答案
D 只止损
#

22. 企业 AI 编程助手治理应覆盖哪些层,账号、数据、命令、网络、发布门禁

A 只覆盖账号
B 无需分层
C 账号、数据、命令、网络、发布门禁分层覆盖 ✓ 正确答案
D 只覆盖门禁
#

23. 如何用可观测指标(缺陷率、返工率、安全事件)评估 AI 编程助手的真实业务价值而非“代码生成量”

A 接受率
B 代码生成量
C 缺陷率、返工率、安全事件、交付周期与有效产出 ✓ 正确答案
D 工具排名
#

24. 如何用返工率、缺陷、安全事件、交付周期和成本验证治理效果,而不评价个人绩效

A 用生成量排名个人
B 评价个人效率
C 无需指标
D 用返工/缺陷/安全/交付/成本等团队级指标对比基线,聚焦流程改进 ✓ 正确答案
#

25. 企业账号、个人账号和本地模型在权限、数据政策与审计能力上如何分层管理

A 全部相同
B 按权限、数据政策、审计能力分级,敏感数据用企业账号或本地模型 ✓ 正确答案
C 个人账号最安全
D 无需分层
#

26. Agent Hooks 或策略引擎怎样阻断秘密读取、生产命令和未审批的网络上传

A 只记录
B 事后发现
C 在 pre-tool/pre-commit/pre-publish 事件点用规则即代码评估并阻断 ✓ 正确答案
D 无法阻断
#

27. 企业内 Coding Agent 沙箱(网络隔离、命令白名单、文件访问限制)应如何搭建与验收,开发体验如何保持

A 无限隔离
B 网络/命令/文件三层限制,验收验证隔离,保证常用操作可用与清晰提示 ✓ 正确答案
C 只隔离网络
D 无需验收
#

28. 为什么代码生成量、接受率或工具排名不能单独衡量工程价值

A 它们是过程指标,易失真/被博弈,价值应看缺陷、返工、交付、安全等结果 ✓ 正确答案
B 生成量即价值
C 接受率最有价值
D 可以衡量
#

29. Agent Hooks / 策略引擎(pre-commit、pre-tool、pre-publish)应如何设计事件点与阻断规则,实现“规则即代码”

A 无事件点
B 在 pre-tool/pre-commit/pre-publish 拦截,规则即代码版本化可测试,命中即阻断 ✓ 正确答案
C 事后检查
D 规则不可控
#

30. 如何让 Agent 仍然能高效执行,避免规则被忽略

A 规则越多越好
B 全部限制
C 无需规则
D 只设必要边界、软硬分层、阻断给替代路径、审批轻量,避免规则膨胀 ✓ 正确答案
#

31. AI 编程助手的安全事件应如何记录、复盘并转化为规则更新(事故驱动治理)

A 记录后结束
B 记录、复盘根因、沉淀为规则更新并验证防复发,形成事故驱动闭环 ✓ 正确答案
C 无需复盘
D 规则不更新
#

32. 团队从“全员禁用”到“沙箱试用”到“部分开放”的渐进式治理路径如何设计

A 永远禁用
B 一次全开
C 全员禁用→沙箱试用→部分开放→全面开放,每阶段评估达标再进 ✓ 正确答案
D 无需阶段
#

33. AI 工具治理应如何在不影响工程师体验的前提下强制安全边界(如 IDE 插件审批流程)

A 默认拦截、高危才审批、常用预审批、拦截时明确提示,分层审批保体验 ✓ 正确答案
B 全部人工
C 每次审批
D 无安全边界
#

34. 治理规则如何通过事故与审计持续更新同时避免规则膨胀到 Agent 无法执行

A 新增即验证、定期清理过时规则、按必要性分级、评估被跳过率 ✓ 正确答案
B 无需治理
C 只增不减
D 规则越多越好
#

35. 治理框架升级时旧规则如何兼容,新规则如何不破坏现有 Agent 配置

A 保留旧规则语义、兼容层、灰度启用、回滚机制,平滑迁移 ✓ 正确答案
B 直接替换
C 升级即破坏
D 无需兼容
#

36. AI 工具治理的 SOP(标准操作流程)应如何文档化以便新成员快速理解

A 随意记录
B 无文档
C 层次化清晰流程、示例、决策树、FAQ 与可执行步骤,版本化随规则更新 ✓ 正确答案
D 只写政策
#

37. 企业允许使用 Coding Agent 时,如何制定代码库访问、凭证隔离、网络出口和数据保留的统一策略

A 无统一
B 无需策略
C 代码库最小权限、凭证隔离、网络出口白名单、数据保留策略统一可配置 ✓ 正确答案
D 只控凭证
#

38. 如何为 AI 编程工具建立能力分级,从只读检索、生成补丁到执行部署逐步引入人工审批

A 只读→补丁→命令→部署分级,高危能力引入人工审批,按风险授权 ✓ 正确答案
B 全部开放
C 全部审批
D 无需分级
#

39. Agent 产生的提交怎样关联模型、Prompt、工具轨迹和测试结果,才能满足审计与责任追踪

A 只记录提交
B 无需关联
C 只关联模型
D 关联模型、Prompt、工具轨迹与测试结果,形成完整溯源链 ✓ 正确答案
#

40. 如何在 CI 中检测 AI 生成代码引入的秘密、许可证冲突、危险依赖和不安全 API 调用

A 不检测
B 集成 secret/许可证/依赖/不安全 API 扫描作为门禁,命中即阻断 ✓ 正确答案
C 只扫 secret
D 人工检查
#

41. 团队应如何管理共享规则文件、仓库指令和个人偏好,避免高优先级提示覆盖安全约束

A 个人偏好最高
B 允许覆盖
C 安全约束最高优先级不可覆盖,优先级层级(安全>团队>仓库>个人) ✓ 正确答案
D 无需优先级
#

42. 怎样以测试和架构决策记录替代“模型投票”

A 用测试证据与 ADR 记录决策依据,评审基于证据 ✓ 正确答案
B 模型越多越好
C 用投票数决定
D 主观投票
#

43. 如何设计 AI 工具的供应商切换方案,确保提示、工具 Schema、审计和成本指标可迁移

A 绑定供应商
B 标准不重要
C 用抽象层隔离,提示/工具/Schema/审计/成本标准化可迁移,切换只换适配层 ✓ 正确答案
D 无法迁移
#

44. 新依赖应如何经过许可证、维护状态、签名、SBOM、SCA 与 typosquatting 检查

A 只查版本
B 只需能编译
C 许可证、维护状态、签名、SBOM、SCA 漏洞与 typosquatting 多维检查 ✓ 正确答案
D 无需检查
#

45. 供应链攻击(typosquatting、恶意包)应如何结合 SCA 工具(Snyk、Socket)

A 信任包名
B 不检查
C 只锁版本
D SCA 工具检测漏洞/恶意 + 人工审查来源 + 锁版本防漂移,防 typosquatting ✓ 正确答案
#

46. AI 代码审查工具(CodeRabbit、Sourcery、Qodana)与人工评审应如何分工,误报率与采纳率如何评估

A 工具替代人工
B 全工具
C 工具自动扫面机械问题,人工做语义架构判断,用误报率与采纳率评估调优 ✓ 正确答案
D 全人工