# 1. 前端部署后的健康检查(探针/合成监控)与自动回滚策略如何设计? A 健康检查只需看 HTTP 200 B 自动回滚无需版本化部署 C 应结合基础探针与合成监控,在观察窗口内超阈值自动回滚并保留人工兜底 ✓ 正确答案 D 回滚只能在人工操作下进行
# 2. CI/CD(GitHub Actions、GitLab CI) A GitHub Actions 只能做构建,不能部署 B 两者都使用 YAML 定义流水线,均可实现 install/lint/test/build/deploy 全流程 ✓ 正确答案 C GitLab CI 不支持自定义 runner D 两者都使用 JSON 配置
# 3. Cloudflare Pages 的原子部署与回滚(Deployment ID) A Deployment ID 只用于预览 B 新部署会覆盖旧版本,无法回滚 C 部署是原子的,可通过 Deployment ID 回滚到历史不可变版本 ✓ 正确答案 D 回滚需要重新构建旧版本
# 4. git-subtree/git-submodule 在多仓托管与构建的工程取舍 A subtree 无法向子仓库推送 B 两者在克隆时完全一样 C submodule 会把代码复制进父仓库历史 D submodule 记录子仓库提交引用,subtree 把子仓库代码合并进父仓库 ✓ 正确答案
# 5. https://{pr-N}.preview.example.com 在 review app 的工程价值 A 每个 PR 生成独立预览环境,便于合并前测试与协作 ✓ 正确答案 B 预览环境会覆盖生产环境 C 一个 PR 只能共享一个预览地址 D 预览环境无法结合 CI 测试
# 6. S3 版本管理如何用于前端静态资源的历史回溯与回滚,版本清理策略如何制定? A 启用版本管理后每个版本都永久保留,无需清理 B 版本管理无法回滚 C 版本管理支持历史回溯与回滚,并用生命周期策略按规则清理历史版本以控成本 ✓ 正确答案 D 清理策略与成本无关
# 7. 灰度发布中静态资源版本与 HTML 版本不一致导致白屏/404 的成因(旧 HTML 引新资源、新 HTML 引已删旧资源)与对策(资源多版本共存、HTML 不缓存) A 发布时应立即删除旧资源以节省空间 B HTML 应长期缓存 C 保留多版本资源共存 + HTML 不缓存,可避免旧 HTML 引新资源或新 HTML 引已删资源导致的 404/白屏 ✓ 正确答案 D 资源版本与 HTML 无关
# 8. Dockerfile 与 nginx:alpine 静态文件托管在传统 VM 的工程价值 A 多阶段构建先构建再拷贝产物到 nginx:alpine,得到轻量一致的前端镜像 ✓ 正确答案 B 应把 node 依赖也打进运行镜像 C nginx:alpine 无法配置缓存头 D Docker 无法保证环境一致性
# 9. 阿里云 ESA/腾讯云 EdgeOne 在国内边缘托管的工程价值 A 二者只能加速静态资源 B 二者都不支持边缘计算 C 国内托管无需合规 D 二者都是集 CDN、边缘计算与安全防护于一体的国内边缘托管平台 ✓ 正确答案
# 10. Cloudflare Pages 与 Workers 的集成 A Pages 无法与 Workers 共享任何运行时 B Pages 的 Functions 基于 Workers 技术,可一体化部署静态资源与边缘函数 ✓ 正确答案 C Pages 只能托管静态文件 D Functions 与 Workers 完全无关
# 11. Netlify 的持续部署、Edge Functions、Forms A Edge Functions 只能用于静态文件 B Netlify Forms 需要自建后端 C Netlify 不支持回滚 D Netlify Edge Functions 基于 Deno 运行时,可处理边缘逻辑 ✓ 正确答案
# 12. Vercel 的零配置部署、Edge Network 与预览部署 A Vercel 不支持预览部署 B Vercel 需要手写部署脚本 C Vercel 零配置自动识别框架,提供 Edge Network 缓存与 PR 预览部署 ✓ 正确答案 D Vercel 只能部署静态站点
# 13. WebTransport 在大型前端项目的工程价值 A WebTransport 只用于静态资源 B WebTransport 与 WebSocket 完全等价 C WebTransport 可以由所有普通服务器直接支持 D WebTransport 基于 HTTP/3/QUIC,提供低延迟的多路复用与数据报传输 ✓ 正确答案
# 14. Preview Deployments(PR 预览环境)在前端协作的工程价值 A 所有 PR 共享同一个预览地址 B 预览部署会覆盖生产 C 预览环境无法与 CI 集成 D 每个 PR 生成独立预览 URL,便于评审与测试,PR 关闭后清理 ✓ 正确答案
# 15. 蓝绿部署(Blue-Green)/灰度发布/金丝雀在现代托管平台(Vercel/Netlify) A 现代平台不支持灰度 B 三者完全等价 C 全局发布没有回滚 D 蓝绿部署是双环境切换,灰度/金丝雀是逐渐放量,现代平台通过不可变部署与即时切换支持 ✓ 正确答案
# 16. 基于 Cookie/Header 的灰度发布与版本回滚 A 回滚必须重新构建 B 灰度分流与缓存键无关 C Header 无法用于灰度 D Cookie 提供用户级黏性,且需把 Cookie/Header 纳入 CDN 缓存键避免缓存串版本 ✓ 正确答案
# 17. 蓝绿部署(两套环境切换)与金丝雀发布(逐步流量切换) A 二者是同一概念 B 蓝绿是两套环境整体切换,金丝雀是逐步放量控制风险 ✓ 正确答案 C 金丝雀部署需要双倍资源 D 蓝绿部署无法回滚
# 18. AWS CloudFront Origin Access Control(OAC) A OAC 只用于静态资源 B OAC 与 OAI 完全相同 C OAC 通过 IAM 签名让 CloudFront 访问 S3,S3 策略只放行该 OAC,限制源站直连 ✓ 正确答案 D OAC 无法控制 S3 访问
# 19. AWS S3 + CloudFront 的企业级部署(优先 OAC,OAI 仅作旧方案) A CloudFront 无法提供 HTTPS B OAI 比 OAC 权限更细 C S3 不应启用版本管理 D 应优先用 OAC 限制源站只被 CloudFront 访问,OAI 是旧方案 ✓ 正确答案
# 20. Akamai/Cloudflare 在企业级 CDN 与 WAF 的工程取舍 A Akamai 以定制化与严格 SLA 见长,Cloudflare 以一体化、低成本与快速部署见长 ✓ 正确答案 B 两者完全相同 C Cloudflare 不提供 WAF D Akamai 不支持 DDoS 防护
# 21. 前端多区域部署与全球化加速(CDN/边缘)的缓存与回源一致性如何保证? A 版本化 URL 使不可变资源天然一致,动态内容用 TTL+失效+按需刷新,关键业务走强一致源站 ✓ 正确答案 B 所有内容都应无缓存 C CDN 缓存与一致性无关 D 边缘缓存无法失效
# 22. GitHub Pages 的免费静态托管 A 它只能用于私有仓库 B 它可以运行完整后端 C 它不支持自定义域名 D 它是免费的静态站点托管,适合文档与静态内容站,但无后端函数 ✓ 正确答案
# 23. A/B Testing 部署在 Vercel Edge Config 与 Cloudflare Workers 的工程价值 A 边缘 A/B 与缓存无关 B 边缘无法做 A/B 分流 C 修改实验比例必须重新构建 D 可在边缘按 Cookie/Header 分流并热更新实验配置,无需重新部署 ✓ 正确答案
# 24. Feature Flag(LaunchDarkly、Unleash、PostHog) A 使用 Feature Flag 无需清理 B Feature Flag 会强制重新部署 C LaunchDarkly 无法实时更新 D Feature Flag 让功能无需重新部署即可开关,支持灰度、回滚与实验 ✓ 正确答案
# 25. 部署时的 DNS 解析与 CDN/源站连接复用预热对首屏的影响与预热手段 A 预热让 CDN 提前缓存、源站提前就绪,降低上线后首屏 TTFB 与回源 ✓ 正确答案 B 预热会增加首屏延迟 C DNS 解析与首屏无关 D 连接复用无法优化首屏
# 26. 原子部署(Atomic Deploys)在 Netlify、Vercel 的工程实现 A 原子部署只用于静态资源 B 新版本会逐个覆盖旧文件 C 原子部署无法回滚 D 新版本作为不可变整体一次性切换,回滚即切回历史版本,避免部分更新 ✓ 正确答案
# 27. 回滚(Rollback)策略在前端 CDN 部署的现代工程实践 A 回滚必须重新构建旧版本 B 用不可变版本 + 即时切换 + 缓存安全(hash 资源 + HTML 不缓存)实现又快又安全的回滚 ✓ 正确答案 C 回滚与缓存无关 D 回滚无法自动化
# 28. On-Demand Revalidation 在 Next.js 15 的现代应用 A 它只能按固定时间失效 B 它通过 revalidatePath/revalidateTag 在事件发生后精确失效缓存页面 ✓ 正确答案 C 它无法与 CMS 集成 D 它只用于客户端
# 29. Cloudflare Pages 在边缘部署的工程实践与现代边界 A Pages 通过 Functions 在边缘执行逻辑,但受边缘运行时约束,不适合重计算 ✓ 正确答案 B Pages 无法执行任何服务端逻辑 C Pages 只能部署到单一区域 D Pages 不支持预览或回滚
# 30. Vercel Edge Network 在全球边缘缓存与 SSR 的工程价值 A 它提供全球边缘缓存,并可在边缘执行 SSR 与流式,降低全球用户 TTFB ✓ 正确答案 B 它只能缓存静态资源 C 边缘无法执行 SSR D 它不支持缓存失效
# 31. Netlify Edge Functions 在 Deno 部署的工程应用 A 它无法读取地理信息 B 它只能运行 Node 代码 C 它运行在 Deno 运行时,适合边缘轻量逻辑(鉴权、改写、分流) ✓ 正确答案 D 它替代所有 Node 函数
# 32. GitHub Actions 在前端 CI/CD 的工程实践与现代应用 A GitHub Actions 只能做测试 B 通过 YAML 定义工作流,结合缓存、矩阵与多事件触发实现 lint/test/build/deploy ✓ 正确答案 C 无法缓存依赖 D 无法部署到云端
# 33. Docker 多阶段构建(builder/runner)在前端镜像最小化的工程价值 A builder 阶段构建、runner 阶段只拷贝产物,得到最小运行镜像 ✓ 正确答案 B 应把 node_modules 拷贝进运行镜像 C 多阶段构建会增大镜像 D 运行镜像需要包含构建工具
# 34. Vercel 的 Edge Middleware 与 Edge Functions 的能力差异 A Middleware 在路由前做轻量拦截/改写,Edge Functions 是通用的边缘函数处理具体逻辑 ✓ 正确答案 B 二者能力完全相同 C Middleware 可以执行数据库操作 D Edge Functions 无法处理 API
# 35. SPA 路由 fallback 与 Nginx try_files A SPA 路由与服务器无关 B try_files 会破坏所有资源访问 C API 也应 fallback 到 index.html D try_files 先匹配真实文件,找不到回退到 /index.html,让 SPA 深链刷新可用 ✓ 正确答案
# 36. .dockerignore 与运行时配置(envsubst) A envsubst 用于构建期硬编码 B .dockerignore 会增大镜像 C .dockerignore 优化构建上下文,envsubst 在运行时注入环境变量实现多环境复用同一镜像 ✓ 正确答案 D 每个环境必须单独构建一次
# 37. Nginx Docker 镜像的多阶段构建与瘦身 A 运行镜像应包含 node 与源码 B 用 nginx:alpine 只拷贝构建产物与最小配置,去掉构建工具与源码从而瘦身 ✓ 正确答案 C alpine 基镜像会增大体积 D 瘦身无法提高安全性
# 38. content-hash 与 Cache-Control: immutable 的协作原理与长期缓存的工程价值 A hash 资源无需缓存 B immutable 会阻止资源更新 C hash 作为内容指纹,配合 immutable + 长 max-age 实现静态资源长期缓存,内容更新靠 hash 变化 ✓ 正确答案 D 长缓存会破坏部署
# 39. HTML 入口与静态资源差异化缓存头设计,no-cache(HTML)vs immutable(hash 资源) A HTML 也应长缓存 B HTML 用 no-cache 保证及时更新,hash 资源用 max-age+immutable 长期缓存 ✓ 正确答案 C hash 资源应用 no-cache D 两者缓存策略相同
# 40. CDN 缓存失效(purge)与版本化 URL 的取舍,即时生效 vs 缓存命中率优化 A purge 永远优于版本化 URL B 版本化 URL 让不可变资源高命中、无需 purge,动态内容用 purge/short TTL 保证即时生效 ✓ 正确答案 C 版本化 URL 无法更新 D purge 会提高命中率
# 41. 部署回滚时边缘缓存的一致性处理,版本化 URL 天然免疫 vs purge 延迟的工程风险 A 版本化 URL 让新旧资源并存、回滚即时一致,purge 有传播延迟存在不一致风险 ✓ 正确答案 B purge 是回滚的唯一方式 C 版本化 URL 无法回滚 D 回滚与缓存无关
# 42. index.html 引用 hash 资源在多页/微前端下的发布顺序问题与原子部署保障 A 微前端无需考虑共享资源 B 发布时应立即删除旧资源 C 发布顺序与一致性无关 D 应原子部署并保留多版本资源共存,避免新旧 HTML 引用错误的资源 ✓ 正确答案
# 43. CDN 多级缓存(边缘/中间/源站)的 TTL 阶梯设计与 stale-while-revalidate 的工程应用 A SWR 会直接返回 500 B 所有缓存 TTL 应相同 C 多级缓存用 TTL 阶梯平衡命中与新鲜度,SWR 让过期时先返回旧值并后台刷新 ✓ 正确答案 D 多级缓存与回源无关
# 44. Service Worker 预缓存(precache)版本化与 HTTP 缓存的优先级冲突与协调策略 A SW 优先于 HTTP 缓存,需用版本化 precache manifest 更新并清理旧缓存以协调 ✓ 正确答案 B HTTP 缓存优先于 SW C SW 与 HTTP 缓存相互独立无冲突 D SW 无法更新
# 45. CircleCI 在前端测试与部署流水线的工程取舍 A CircleCI 与 GitHub Actions 完全相同 B CircleCI 只能自托管 C CircleCI 无法缓存依赖 D CircleCI 用 YAML 与 orbs 组织构建/测试/部署,可在云端或自托管 runner 间取舍 ✓ 正确答案
# 46. Jenkins 在传统前端 CI/CD 的工程价值与现代应用 A Jenkins 只能托管在云端 B Jenkins 可自托管、插件丰富,适合私有化与合规环境,但需较高维护成本 ✓ 正确答案 C Jenkins 无法自建流水线 D Jenkins 已完全被淘汰
# 47. 前端 SPA 的 CDN 缓存与 HTML 不缓存的工程实践 A 缓存策略与更新无关 B HTML 也应长缓存 C 静态资源应用 no-cache D hash 资源长缓存、HTML 用 no-cache 保证及时更新到最新版本 ✓ 正确答案
# 48. 前端部署回滚版本保留与清理(GC)的工程策略实践 A 保留最近 N 个/天版本并支持关键版本豁免,用生命周期策略自动清理过旧版本 ✓ 正确答案 B 所有版本应永久保留 C 无需保留任何版本 D 清理策略与回滚无关
# 49. Edge Middleware 同时承担鉴权前置、地理路由和 A/B 分流时,执行顺序、实验黏性、Cookie 签名与 CDN cache key 应如何设计,才能避免未授权响应被缓存或同一用户跨实验组抖动 A 实验组无需 Cookie 签名 B 鉴权应最后执行 C 鉴权前置最先执行并设 no-store,实验用签名 Cookie 保持黏性,cache key 需区分用户/实验组 ✓ 正确答案 D cache key 与用户无关
# 50. 购物车和前端会话存入 Cloudflare KV 或 Deno KV 后,最终一致性会造成哪些 read-after-write 与跨 PoP 覆盖问题 A KV 不会覆盖并发写 B KV 是强一致的 C KV 写入立即全局可见 D KV 是最终一致且 last-write-wins,会造成 read-after-write 与跨 PoP 覆盖,购物车应改用强一致存储 ✓ 正确答案
# 51. 多团队协作下的部署窗口与锁机制(并发部署冲突、产物覆盖、发布审批流) A 并发部署无需处理 B 用部署锁串行化部署、环境隔离防覆盖、审批流控制生产发布 ✓ 正确答案 C 产物覆盖无关紧要 D 生产发布无需审批
# 52. Source Map 部署到 Sentry/LogRocket 的安全与协作 A Source Map 与源码无关 B Source Map 应公开部署到生产静态目录 C Source Map 应私密上传到监控平台并关联版本,避免公开泄露源码 ✓ 正确答案 D Source Map 无需鉴权
# 53. 边缘函数(Edge Functions)与 Serverless 的取舍 A Serverless 延迟总比 Edge 低 B Edge 能力最全 C Edge 延迟低但运行时受限,Serverless 能力全但较远,按逻辑复杂度与延迟需求选择 ✓ 正确答案 D 二者完全相同
# 54. 多环境(dev/staging/prod)变量注入 A 所有变量都应进客户端 B 用 .env 文件按环境构建注入,私有密钥仅存服务端/CI,绝不进客户端 bundle ✓ 正确答案 C 密钥可写进前端代码 D 环境变量与构建无关
# 55. 资源 hash 变更的细粒度控制,代码分割后仅变更受影响 chunk 的 content-hash 策略 A hash 与内容无关 B 任何改动都会改变所有 chunk 的 hash C 无需代码分割 D 通过稳定命名与合理分包(vendor/路由/公共依赖)让改动只影响受影响 chunk,最大化缓存命中 ✓ 正确答案