Java 端 RAG 数据摄取管道(解析、切块、嵌入)

共 46 题
#

1. 批量 Embedding 调用如何做速率控制、失败重试与断点续跑,避免重复计费与漏块

A 一次全量调用
B 失败即丢弃
C 无需记录进度
D 速率控制 + 退避重试 + 断点续跑 + 块 ID 幂等去重 ✓ 正确答案
#

2. 知识库文档更新时,向量索引的增量更新与旧版本删除如何保证检索一致性(新旧不混用、删除不遗漏)

A 全量重建索引
B 文档版本号 + 按文档 ID 删除传播 + 可见延迟与对账 ✓ 正确答案
C 删除不处理
D 新旧向量共存
#

3. 摄取管道如何处理多租户文档的权限元数据,使检索期过滤(RLS/ACL)可行且可审计

A 摄取时写入 tenantId/ACL 元数据,检索期过滤,权限变更同步并全程审计 ✓ 正确答案
B 不记录权限
C 检索后过滤
D 权限无需审计
#

4. 摄取管道的可观测性应覆盖解析成功率、切块数分布、Embedding 延迟与索引可见延迟,SLA 如何设定

A 只测解析成功率
B 覆盖解析成功率、切块分布、嵌入延迟、可见延迟等,按阶段设定新鲜度与质量 SLA ✓ 正确答案
C SLA 无需量化
D 只测嵌入延迟
#

5. 大文件解析与 Embedding 批任务如何与在线请求的线程池、连接池隔离,防止摄取拖垮查询

A 共用连接池
B 无需隔离
C 独立线程池/连接池/队列 + 限流,用 Bulkhead 隔离,保证在线优先 ✓ 正确答案
D 摄取无限制
#

6. 摄取阶段发现文档含敏感字段(个人信息、密钥)时,如何脱敏或拦截入库并保留审计记录

A 直接入库
B 敏感检测后脱敏或拦截,并保留动作与来源审计记录 ✓ 正确答案
C 脱敏即可,无需审计
D 一律拦截
#

7. 哪些代码解释、样板实现、测试初稿和迁移分析适合委托 AI,哪些架构与安全判断必须由人负责

A 架构决策、安全判断、不可逆操作与合规规则 ✓ 正确答案
B 测试初稿
C 样板代码
D 代码解释
#

8. 如何向 Coding Agent 提供问题、约束、验收标准、允许路径和禁止操作,避免无边界试错

A 只给问题
B 提供问题、约束、验收标准、允许路径与禁止操作,并给可验证的完成定义 ✓ 正确答案
C 禁止操作无需说明
D 验收标准随意
#

9. 任务委托前应如何拆解“为什么”(业务动机)、“做什么”(验收标准)

A 只写做什么
B 先明确业务动机(为什么),再给可验证的验收标准(做什么),拆成可独立验证的子任务 ✓ 正确答案
C 验收标准模糊即可
D 无需动机
#

10. 哪些“高风险任务”(涉及金钱、权限、数据迁移)必须由人完成,AI 只能辅助

A 完全交给 AI
B AI 自动执行
C 由人主导决策与审批,AI 只提供辅助与草稿,并建立人工审批机制 ✓ 正确答案
D 无需审批
#

11. “最小充分上下文”如何在减少泄密与提供足够依赖信息之间权衡

A 给全部仓库
B 给全部文件
C 只给完成任务必需的关键依赖,敏感信息脱敏,按需供给减少泄密 ✓ 正确答案
D 不给上下文
#

12. 大型任务如何拆成可独立验证的子任务,哪些共享约束必须传给每个 sub-agent

A 无需共享约束
B 只传各自任务
C 仓库规范、安全红线、架构约定、运行环境与验收标准等共享约束 ✓ 正确答案
D 只传验收标准
#

13. AI 请求更多文件或权限时,怎样判断是否必要并防止范围逐步膨胀

A 无条件授权
B 一次授权所有权限
C 按最小权限、审批机制、边界控制判断文件/权限请求,识别爬坡式授权 ✓ 正确答案
D 无需审批
#

14. 多文件改动任务如何用 sub-agent 并行处理,依赖关系如何约束避免冲突

A 所有子任务同时改所有文件
B 无需依赖分析
C 共享文件随意改
D 依赖分析、拓扑排序、冻结共享契约、工作集隔离避免冲突 ✓ 正确答案
#

15. 仓库规则互相冲突或过时时,Agent 应如何发现,团队应如何维护唯一权威来源

A 冲突时按 Agent 喜好
B 各文件各自维护
C 集中管理规则文件、版本化、定义优先级,Agent 冲突时上报而非随意执行 ✓ 正确答案
D 无需治理
#

16. 当 Coding Agent 请求更多权限(读特定文件、执行命令)

A 无条件授予
B 评估必要性、最小权限、审批流程,高危默认拒绝、临时授予、记录审计 ✓ 正确答案
C 一次授予全部
D 无需监控
#

17. 为什么“不给上下文”会让 AI 反复试错,给过多上下文又会让 AI 走偏

A 无关信息稀释关键信息,注意力分散 ✓ 正确答案
B 上下文越多越好
C 上下文不影响 AI
D 太少上下文更可能走偏
#

18. 如何用“任务模板”(Issue/PR Template)约束 Coding Agent 输出格式,避免无结构 diff

A 规定必填字段(问题、方案、影响面、测试、验收)、DoD 与提交规范,输出结构化可审查 ✓ 正确答案
B 自由输出
C 模板无意义
D 只约束代码
#

19. 任务委托给 AI 失败后,如何用日志恢复并重新委派,而不必从头开始

A 从头开始
B 丢弃日志
C 无法恢复
D 用日志定位失败点,保留已完成部分,重新委派时带上进度与失败原因继续 ✓ 正确答案
#

20. 如何在仓库规则中区分“硬约束”(安全红线)与“软建议”(代码风格)

A 全部硬约束
B 硬约束(安全红线)强制阻断,软建议(风格)弹性,用标记分级并配置强制执行 ✓ 正确答案
C 全部软建议
D 无需区分
#

21. 为什么必须要求实际命令输出、测试报告或运行截图,不能接受 Agent 自述“已完成”

A 自述即可
B 自述可靠
C 证据无意义
D AI 可能幻觉或未真正执行,必须要求命令输出、测试报告、截图等可验证证据 ✓ 正确答案
#

22. 失败后如何根据编译器、测试和运行日志缩小假设,而不是反复随机改代码

A 随机改代码
B 忽略日志
C 反复尝试
D 用编译/测试/运行日志定位,提出可验证假设并用最小改动验证 ✓ 正确答案
#

23. 小步修改(atomic commit)应如何控制 diff 大小(<200 行)

A 按单一关注点拆分原子提交,控制 diff 阈值,每个提交可编译可测试 ✓ 正确答案
B 无需拆分
C diff 越大越好
D 一次性大提交
#

24. 为什么“AI 自述完成”不等于真正完成,应要求哪些可验证证据(截图、命令输出、日志)

A 自述即可
B 自述完成
C 可验证证据(命令输出、测试报告、截图、日志)证明完成 ✓ 正确答案
D 无需证据
#

25. 失败后如何通过日志(编译错误、测试失败、运行时异常)反向定位 AI 的错误假设

A 随机改代码
B 忽略日志
C 用编译/测试/运行日志与预期差异反推 AI 的错误假设并修正 ✓ 正确答案
D 日志无法定位
#

26. Spec-Driven Development 中 RFC/Design Doc 应包含哪些接口、数据、安全和回滚约束

A 接口、数据、安全与回滚约束,作为实现与评审基准 ✓ 正确答案
B 无需回滚
C 无需安全
D 只含接口
#

27. Plan 与 Act 分离如何帮助审查潜在破坏性操作,什么时候需要重新审批计划

A 计划永不改变
B 计划偏离、范围扩大、涉及新破坏性操作或风险上升时 ✓ 正确答案
C 执行中无需审批
D 破坏性操作无需审查
#

28. 怎样控制 diff 大小、提交边界和回归范围,让每一步都可撤销和归因

A 一次性大提交
B 提交不可回滚
C 小 diff、单一关注点提交、独立回滚、变更归因,明确回归范围 ✓ 正确答案
D 无需归因
#

29. Plan 与 Act 分离时,哪些“危险操作”(删除、强制推送、改生产配置)必须重新审批,审批粒度如何界定

A 全部审批整个计划
B 只审批删除
C 按风险等级:高危(删除/生产配置/迁移)人工审批,审批到具体操作,低危自动 ✓ 正确答案
D 不审批
#

30. 如何让 Coding Agent 的 Plan 阶段产物(diff preview、影响面、测试计划)进入人工评审流程,评审通过后才执行

A 自动执行
B 生成 diff preview、影响面、测试计划等产物,评审通过后才执行,评审为门禁 ✓ 正确答案
C 无需评审
D 评审后即可执行任何操作
#

31. AI 生成测试“全部通过”时,如何确认断言真正覆盖需求而不是迎合当前实现

A 全部通过即可
B 通过即有效
C 无需审查
D 审查断言覆盖需求与边界、用变异测试验证、避免同源实现与空断言 ✓ 正确答案
#

32. 探索原型(vibe coding)应避免直接进入 main 分支,使用 feature branch + 短生命周期的最佳实践

A 直接提交 main
B 无需分支
C 长期分支
D 用 feature branch 短生命周期隔离,验证后受控合并,避免污染主干 ✓ 正确答案
#

33. 为什么不能用“AI 一次生成大量代码”作为效率指标,应衡量“通过审查 + 测试通过”的小步

A 生成量可能质量差需返工,通过审查与测试的小步才是有效产出 ✓ 正确答案
B 生成量代表效率
C 生成量越多越好
D 无需审查
#

34. AI 生成的测试如何避免“空断言 / happy path only”,应建立哪些断言完整性 checklist

A 只要有断言即可
B 建立 checklist:覆盖正常/边界/错误/状态路径,断言具体结果,避免空断言与只测成功 ✓ 正确答案
C 无需边界
D 只测成功
#

35. 如何让 Coding Agent 在 Plan 阶段就暴露潜在安全风险(不安全的依赖、未授权访问)

A 执行后处理
B 只扫描依赖
C 无需安全审查
D 用安全 checklist 要求 Agent 列出依赖/权限/数据/接口风险,评审拦截,配合 SCA/secret 扫描 ✓ 正确答案
#

36. 探索性代码如何明确标记(注释、TODO、AI-Generated 标记)

A 标记无意义
B 不标记
C 用注释/TODO/AI-Generated 标记来源与状态,转正时清理并补测试 ✓ 正确答案
D 只标记 TODO
#

37. Spring AI 的 DocumentReader/Transformer/Writer ETL 管道应如何组织,切块策略(按 token、按语义、父子块)如何选型并可配置化

A 固定一种切块
B 无管道
C 切块不影响检索
D Reader→Transformer→Writer 组织,切块按 token/语义/父子块选型并可配置化 ✓ 正确答案
#

38. Embedding 模型版本升级时,Java 端回填任务如何与线上检索做双写与影子对比而不中断服务

A 双写新旧向量、影子对比质量、版本隔离分批次切换,验证后停旧索引 ✓ 正确答案
B 新旧向量混用检索
C 无需回填
D 直接切换
#

39. 如何为 Coding Agent 提供“可验证的成功信号”(测试、日志、截图)

A 信号模糊
B 让 Agent 自述
C 无需信号
D 提供可执行的测试命令、可检查日志、可判读截图作为成功信号,纳入完成定义 ✓ 正确答案
#

40. 如何写出可由编译、测试、Lint 或运行结果验证的完成定义

A 编译/测试/lint/运行结果等客观标准,写明验证方式 ✓ 正确答案
B 自述
C 主观描述
D 无需验证
#

41. 如何执行“问题澄清—计划—小步修改—编译—测试—审查”的闭环,而不是一次性大改

A 一次性大改
B 无需审查
C 跳过测试
D 问题澄清→计划→小步修改→编译→测试→审查的小步闭环 ✓ 正确答案
#

42. Java 技术栈下 PDF/Word/HTML 解析(Apache Tika、PDFBox)应如何处理表格、图片与扫描件 OCR,解析失败如何隔离而不阻塞整批任务

A 用 Tika/PDFBox 处理表格图片 OCR,单文档失败记录重试跳过不阻塞整批,设超时限制 ✓ 正确答案
B 一失败整批失败
C 失败即停
D 无需解压
#

43. Java 摄取任务(Spring Batch、虚拟线程、消息队列消费)如何做幂等设计,重跑同一文档不产生重复向量

A 直接追加
B 用文档/块唯一键做 UPSERT 覆盖,进度与去重表保证重跑幂等 ✓ 正确答案
C 重跑必然重复
D 无需幂等
#

44. 文档源连接器(Confluence、S3、数据库导出)的增量同步如何利用水位线与变更事件,删除如何传播

A 用水位线与变更事件识别变更,删除时按文档 ID 传播移除向量 ✓ 正确答案
B 无水位线
C 删除不处理
D 每次全量
#

45. AGENTS.md、CLAUDE.md、Cursor Rules 等仓库规则怎样分层,并与代码一起版本化审查

A 规则无需版本化
B 单一全局文件
C 按全局/项目/工具/目录分层,与代码一起版本化并走审查流程 ✓ 正确答案
D 各工具独立
#

46. 探索性原型何时应停止 Vibe Coding 并转入正式规格、测试和安全门禁

A 永远探索
B 直接上线
C 无需转正
D 验证可行且进入生产时,转正式规格、补测试、加安全门禁并清理 ✓ 正确答案