# 1. spec.json / OpenAPI 单一前后端 schema 在 spec-driven 设计的工程价值 A 类型、客户端与 mock 都从 spec 派生,CI 校验契约一致性,变更走评审与门禁,消除前后端漂移 ✓ 正确答案 B 前后端各自维护类型定义更灵活 C spec 一旦定义就不能修改 D 生成的代码可以直接手工修改
# 2. 规格驱动(Spec-Driven)流程,RFC/Design Doc → 计划 → 实现 → 编译/测试/Lint 可验证证据 → Code Review A 文档阶段可以跳过,直接写代码 B 证据不需要与 commit 关联 C 完成标准就是代码写完 D 流程为设计→计划→实现→可验证证据→评审,每任务以编译/测试/Lint 通过为完成标准,AI 执行时自跑验证附证据 ✓ 正确答案
# 3. Spec → Plan → Task → Verify 的多阶段 Agent 协作 A 所有阶段都应全自动无人介入 B Verify 阶段可以省略 C 阶段间传递全部上下文效果最好 D Spec 与 Plan 需人审,Task 委派 sub-agent 执行,Verify 失败限次修复后仍失败则回退 Plan/Spec ✓ 正确答案
# 4. Sub-agent 在大型 monorepo 跨包协作的应用 A 按包边界分解任务、契约先行编排依赖顺序、限制各 agent 写入范围并最终全仓验证合并 ✓ 正确答案 B 所有 sub-agent 共享全部仓库上下文 C 每个 agent 可以随意改任何文件 D 共享文件由多个 agent 同时修改
# 5. v0.dev / bolt.new / Lovable 等 AI 生成式前端工具的输出模式(设计稿到组件、PRD 到全栈 SPA)与工程边界 A 生成的应用可以直接用于生产 B 生成代码可以跳过测试 C 组件级工具出 UI 草稿、全栈级工具出完整脚手架,但接入既有代码库需迁移、架构与安全需人工加固 ✓ 正确答案 D 生成的应用自带生产级鉴权
# 6. AI 生成代码与既有设计系统/组件库的对齐策略(shadcn/ui 约定、design token 注入、组件白名单) A 组件白名单 + design token 注入 + shadcn 约定三管齐下,并用 lint/审查自动检查防漂移 ✓ 正确答案 B AI 生成组件可以随意自创样式 C token 只影响颜色 D 生成代码不需要遵守设计规范
# 7. Contract-first GraphQL(Schema-first SDL) A SDL 先行定义契约,codegen 生成类型安全客户端,CI 检测 breaking change,契约变更影响面编译期暴露 ✓ 正确答案 B code-first 与 schema-first 没有区别 C 前端必须等后端完成后才能开发 D schema 变更无需治理
# 8. 工作流脚本(Hooks)在自动化边界(pre-commit、CI) A 所有检查都应该放 pre-commit B AI 工具调用不需要 hooks C hook 脚本不需要维护 D pre-commit 做轻量快查、CI 做全量门禁,AI 产物也过同一批检查,本地 hook 可被绕过但 CI 兜底 ✓ 正确答案
# 9. 小步验证(编译、单元测试、Lint、运行时截图) A 编译/测试/Lint/运行时截图逐层验证,截图供人审与视觉回归,任一步失败修复或标记失败,证据关联 commit ✓ 正确答案 B UI 任务只需编译通过 C 验证只做一次在最后 D Lint 检查属于视觉验证
# 10. AI 友好的代码结构便于 Cursor/v0/Lovable/Bolt 读取生成 A 大文件集中代码方便 AI 一次读取 B 清晰目录与命名、适度文件粒度、类型与导出显式化、配合规则文件,提升 AI 读取与生成的准确率 ✓ 正确答案 C AI 生成不需要遵循既有风格 D 命名风格不影响 AI 理解
# 11. shadcn-cli 的 shadcn add 与 v0.dev/Builder.io 的 AI 生成组件的现代工程边界 A AI 生成组件可以直接使用 B 两者组件质量完全等同 C shadcn add 复制源码完全可控、依赖规范,AI 组件需人工接入并审查依赖、token 对齐与可访问性后再入库 ✓ 正确答案 D AI 组件有官方更新通道
# 12. Bolt.new 与 StackBlitz 在浏览器内全栈应用脚手架的现代取舍 A 浏览器内环境与本地环境完全一致 B 浏览器内可以运行任意原生模块 C WebContainer 在浏览器内真实执行构建,Bolt.new 叠加 AI 生成,适合快速原型,但资源与原生依赖受限,正式开发回流本地 ✓ 正确答案 D 生成应用可直接部署生产
# 13. AGENTS.md、CLAUDE.md 与 .cursorrules 同时存在且目录作用域不同的 monorepo 中,如何规定继承、覆盖和冲突优先级,并用自动检查保证 AI 不跨越包所有权、生成目录和安全敏感目录 A 根级规则永远优先于目录级 B 按"目录距离优先、工具特定文件优先、全局安全约束不可覆盖"定优先级,CI 自动校验 AI 变更范围不越包界与敏感目录 ✓ 正确答案 C 规则文件冲突无需仲裁 D AI 可以修改任何目录
# 14. OpenAPI 驱动的前端代码生成,openapi-typescript/orval 生成类型安全客户端与 MSW mock,如何与 spec 变更保持同步? A 从 spec 生成类型/客户端/MSW mock 且生成物勿手改,CI 强制再生成与 diff 检查,类型错误暴露受影响调用 ✓ 正确答案 B spec 变更后手动更新所有调用点即可 C 生成代码可以直接手改 D 同步靠团队口头约定
# 15. .cursorrules/AGENTS.md/.claude/.continue 仓库级规范 A 每个工具应维护一份完整独立的规范副本 B 规则文件不需要评审 C 通用规范放单一事实源,工具文件只放专属配置并引用主文件,规则变更走评审且冲突按既定优先级裁决 ✓ 正确答案 D 规范文件不会漂移
# 16. tRPC 在端到端类型安全 RPC 单一 schema 的工程价值 A tRPC 需要维护独立的 schema 文件 B tRPC 是跨语言方案 C 服务端类型直接推导到客户端,零契约漂移与重构安全,但绑定全栈 TypeScript,跨语言需 OpenAPI 桥 ✓ 正确答案 D tRPC 的性能一定优于 REST
# 17. Protocol Buffers/Connect-RPC 在跨端 gRPC 的工程价值 A 一份 .proto 生成多端代码保证跨端契约一致,Connect-RPC 提供浏览器友好的 HTTP/1.1/JSON 支持,但需投入代码生成工具链 ✓ 正确答案 B gRPC 在浏览器中可以无障碍直接使用 C protobuf 不支持流式 D 跨端一致性靠人工同步
# 18. Lovable / Replit Agent 从 PRD 到完整应用的生成质量评估与人工接管点设计 A 生成应用通过演示即可验收 B 接管点不需要设计 C AI 可以全程自主交付生产应用 D 按功能/代码质量/安全/性能分级验收,进入真实用户与核心数据层时人工接管,AI 生成物作为原型资产 ✓ 正确答案
# 19. AI 生成的实现代码与 lint/format 规则冲突时,是否应当让规范服从格式化工具(例如 Prettier 强行 reformat) A 所有冲突都应让代码服从格式化工具 B 格式冲突由工具确定性裁决(统一 format),语义规则不绕过(修正代码或评审规则变更),规范与工具同源治理 ✓ 正确答案 C lint 规则过时可以静默禁用 D AI 代码可以跳过 format
# 20. 如何为大型 monorepo 中的 spec 文件设计版本号与变更日志(Changelog) A spec 按 semver 版本化(breaking 升 major),changelog 由 commit 约定自动生成,major 升级联动重新生成类型与契约测试 ✓ 正确答案 B spec 变更记录在口头沟通即可 C breaking change 无需标记 D 每个包应共享同一 spec 版本
# 21. Spec 文件被 AI 修改后如何验证仍然等价——使用 property-based testing 生成随机输入对比新 spec 与旧 spec 的输出一致性时,哪些属性(idempotency、commutativity、monotonicity) A 用 property-based testing 随机输入做新旧差分,并验证 idempotency/commutativity/monotonicity 等属性,差异需人工区分有意变更 ✓ 正确答案 B 随机输入对比输出一致即可完全证明等价 C 属性测试可以替代所有测试 D 交换性属性只适用于格式化类 spec
# 22. Spec 变更的 diff 与影响面分析,CI 中 schema diff 门禁、契约测试与受影响模块的识别如何落地? A CI 用 schema diff 门禁拦 breaking、契约测试验证语义兼容、依赖图识别受影响模块并联动重新生成与编译 ✓ 正确答案 B spec 变更只需通知前端 C 契约测试只在后端运行 D 受影响模块靠人工记忆