# 1. Cache-Control 与 immutable/max-age 在 hash 文件与版本目录策略的工程取舍 A immutable 适用于所有静态资源,包括版本目录中的文件 B max-age 与 immutable 互斥,不能同时使用 C immutable 会强制浏览器每次请求都回源重新验证 D immutable 保证内容在整个生命周期内不变,适合与内容 hash 文件名配合使用 ✓ 正确答案
# 2. Service Worker Cache API 与 HTTP 缓存的协同 A HTTP 缓存先于 Service Worker 执行,SW 无法覆盖 B Cache API 与 HTTP 缓存功能完全相同,可互相替代 C Service Worker 的 fetch 事件先于 HTTP 缓存执行,SW 可决定是否放行 ✓ 正确答案 D 启用 SW 后浏览器 HTTP 缓存自动失效
# 3. CDN 缓存策略与回源机制 A CDN 缓存未命中时直接丢弃请求,不返回内容 B s-maxage 用于控制共享缓存(如 CDN)的缓存时长,max-age 用于浏览器 ✓ 正确答案 C CDN 只能缓存静态资源,无法缓存动态接口 D 回源越多 CDN 性能越好
# 4. Cloudflare Cache API(Cache API) A 可以缓存 Worker 事件处理器返回的主响应 B 与浏览器 Cache API 完全等价,可共享同一份缓存 C 只能用于缓存 Worker 内通过 fetch 发出的子请求响应 ✓ 正确答案 D 无法手动删除缓存条目
# 5. stale-while-revalidate 在 CDN 缓存的工程价值 A 每次请求都强制回源并丢弃缓存 B 过期后立即返回陈旧内容,同时后台异步刷新缓存 ✓ 正确答案 C 只对 POST 请求生效 D 会阻止浏览器缓存任何资源
# 6. CDN 节点选择与 Anycast 网络在边缘性能的应用 A CDN 节点选择只依赖 DNS,与 Anycast 无关 B Anycast 要求每个节点必须使用独立 IP 地址 C Anycast 无法实现高可用 D Anycast 让同一 IP 在多节点可达,由 BGP 路由就近选择 ✓ 正确答案
# 7. Cloudflare/CloudFront/Edge CDN 的边缘计算能力 A 边缘计算只能在源站执行,无法在边缘节点执行 B 边缘计算资源无限,适合承载所有复杂逻辑 C 边缘计算与 CDN 缓存完全无关 D Cloudflare Workers 等边缘运行时可在离用户最近的节点执行代码 ✓ 正确答案
# 8. 缓存预热、缓存失效与版本管理 A hash 文件名发布时仍需手动 Purge 才能生效 B 版本管理只能通过 CDN Purge 实现 C no-cache 会阻止浏览器缓存任何资源 D 缓存预热用于发布后主动填充边缘缓存,避免回源惊群 ✓ 正确答案
# 9. HTML no-cache、JS/CSS immutable 长缓存的缓存分层 A no-cache 意味着浏览器完全不缓存 HTML B HTML 每次重新验证保证拿到最新引用,静态资源 hash 长缓存实现复用 ✓ 正确答案 C 静态资源必须用 no-store 才能保证更新 D 该分层无法在发布时更新资源
# 10. Cache API 在 Service Worker 之外的工程价值与现代浏览器限制 A Window 上下文也可访问 Cache API,但 Secure Context 与配额是限制 ✓ 正确答案 B Cache API 只能在 Service Worker 中使用 C Cache API 存储容量无限 D Cache API 不受浏览器分区缓存影响
# 11. fetch/XMLHttpRequest/WebSocket/SSE/EventSource 在通信模型与重连策略的工程取舍 A SSE 是双向全双工通信 B fetch 内建自动重连机制 C SSE 基于 HTTP 单向推送并内建自动重连,WebSocket 是全双工双向 ✓ 正确答案 D WebSocket 内建 Last-Event-ID 断点续传
# 12. ESI(Edge Side Includes)在边缘片段缓存的工程价值 A ESI 通过边缘标签把页面片段分别缓存并组装 ✓ 正确答案 B ESI 只能缓存整页,无法拆分片段 C ESI 让动态内容无法被缓存 D ESI 与 CDN 缓存完全无关
# 13. Cloudflare CDN 与 Fastly/KeyCDN 在灰度发布与回源的工程取舍 A 所有 CDN 的灰度发布能力完全相同 B CDN 无法实现灰度发布 C KeyCDN 提供最强的边缘可编程能力 D Fastly 以 VCL 提供极细粒度缓存与回源控制,秒级 Purge ✓ 正确答案
# 14. Vary 头部在多语言/多设备响应的工程价值 A Vary 用于禁止缓存所有响应 B Vary 声明响应因某些请求头而异,需把这些头纳入缓存键 ✓ 正确答案 C Vary 会大幅提升缓存命中率 D Vary 只对 POST 请求生效
# 15. 多级缓存(浏览器、CDN、边缘、源站)的协作 A 浏览器缓存失效后会直接回源,不经过 CDN B 源站不需要应用层缓存 C CDN 与浏览器缓存使用同一套头,无法区分 D 请求逐级向上命中:浏览器→CDN→边缘→源站,各自缓存受对应头控制 ✓ 正确答案
# 16. Cookie 的 SameSite、HttpOnly、Secure 在安全与缓存的工程取舍 A SameSite=None 是天然的 CSRF 防护 B HttpOnly 让 Cookie 无法被 JavaScript 读取,可防 XSS 窃取 ✓ 正确答案 C Secure 属性会让 Cookie 无法发送 D 含 Cookie 的个性化响应应缓存到 CDN 共享缓存
# 17. HTTP/3(QUIC,基于 UDP)在多路复用与连接迁移的工程价值 A QUIC 用连接 ID 标识连接,支持网络切换时连接迁移 ✓ 正确答案 B QUIC 基于 TCP,无法解决队头阻塞 C QUIC 每条流共享一个 TCP 流,任何丢包都会阻塞所有流 D QUIC 无法与 TLS 结合使用
# 18. 从 URL 输入到首帧显示的导航阶段(DNS、TCP、TLS、HTTP、解析、渲染) A DNS 解析发生在 HTML 渲染完成之后 B JavaScript 执行不会影响 HTML 解析 C 建连顺序为 DNS→TCP→TLS→HTTP 请求,随后解析渲染 ✓ 正确答案 D TTFB 由渲染阶段决定
# 19. HTTP/3 的 0-RTT 握手与重放风险的应用边界 A 0-RTT 数据绝对安全,不存在重放风险 B 0-RTT 首包即携带请求数据以省 RTT,但存在重放风险,仅适合幂等请求 ✓ 正确答案 C 0-RTT 比 1-RTT 慢一个 RTT D 0-RTT 无法与 TLS 1.3 结合
# 20. 预加载扫描器(Preload Scanner)对关键资源发现的影响 A 预加载扫描器会阻塞 HTML 解析 B 预加载扫描器在解析阻塞时并行扫描后续 HTML,提前发现并下载关键资源 ✓ 正确答案 C 预加载扫描器只能发现图片,无法发现脚本 D 预加载扫描器与 preload 无关
# 21. Service Worker 与导航的协作(fetch 事件、Navigation Preload) A Navigation Preload 允许 SW 并行发起网络请求获取主文档,消除额外延迟 ✓ 正确答案 B Navigation Preload 让 SW 处理与网络请求串行执行,更慢 C SW 无法拦截导航请求 D preloadResponse 与缓存结果必须二选一
# 22. 导航中的 HTTP/2 优先级与依赖提示对关键资源加载顺序的影响 A HTTP/2 优先级由服务端强制执行,浏览器无需 preload B 所有资源必须设置相同优先级 C preload 与 fetchpriority 显式提示可更精确控制关键资源加载顺序 ✓ 正确答案 D preload 越多性能越好,无副作用
# 23. HPACK/QPACK 头部压缩与多路复用 A 头部压缩只在 HTTP/1.1 中使用 B QPACK 与 HPACK 完全相同 C HPACK 通过静态表与动态表压缩头部,QPACK 用专用流解耦避免队头阻塞 ✓ 正确答案 D 多路复用不需要头部压缩
# 24. 队头阻塞(HOL)在 HTTP/1.1、HTTP/2、HTTP/3 的演进 A HTTP/2 解决协议层 HOL,但 TCP 层 HOL 仍存在,HTTP/3 用 QUIC 解决 ✓ 正确答案 B HTTP/2 彻底解决了所有队头阻塞 C HTTP/1.1 没有队头阻塞问题 D HTTP/3 基于 TCP,无法解决队头阻塞
# 25. HTTP/1.1、HTTP/2、HTTP/3 的连接模型差异 A 三者都基于 TCP 单连接 B HTTP/3 与 HTTP/1.1 连接模型完全相同 C HTTP/1.1 多连接串行,HTTP/2 单连接多路复用(TCP),HTTP/3 单连接多路复用(QUIC) ✓ 正确答案 D HTTP/2 不支持多路复用
# 26. SSE 的自动重连与 Last-Event-ID 与 HTTP/2/HTTP/3 的取舍 A SSE 自动重连并可通过 Last-Event-ID 请求头断点续传 ✓ 正确答案 B SSE 无法自动重连 C SSE 是双向全双工协议 D SSE 在 HTTP/2 下无法工作
# 27. DNS over HTTPS 与 Early Hints(103) A DoH 会增加 DNS 解析延迟 B Early Hints 是 DNS 加密协议 C DoH 把 DNS 查询加密在 HTTPS 中,Early Hints 用 103 提前返回 preload 提示 ✓ 正确答案 D 103 状态码表示服务器错误
# 28. WebTransport 的双向流 + datagram 在大型应用的网络性能工程价值 A Streams 无序不可靠,datagram 有序可靠 B WebTransport 提供有序可靠流与无序低延迟 datagram,支持真多路复用 ✓ 正确答案 C WebTransport 基于 WebSocket D datagram 保证可靠交付
# 29. DNS Prefetch / preconnect/dns-prefetch 与 HTTP/2 连接复用的工程价值 A preconnect 提前建立连接并可配合 HTTP/2 连接复用,dns-prefetch 只解析 DNS ✓ 正确答案 B dns-prefetch 会建立 TCP 连接,preconnect 只解析 DNS C 两者功能完全相同 D preconnect 应大量使用在页面所有域名上
# 30. HTTP 103 Early Hints 与 preload 在 TTFB 与 LCP 的工程价值 A 103 是错误状态码 B Early Hints 会阻塞 TTFB C preload 只能用于 CSS 资源 D 103 Early Hints 在最终响应前提前发送 preload 提示,缩短关键资源等待 ✓ 正确答案
# 31. HTTP Range Request 在视频与大型资源下载的应用 A Range 请求会强制下载整个文件 B Range 请求用于请求资源的特定字节范围,服务端返回 206 ✓ 正确答案 C 服务端无需声明 Accept-Ranges 也可支持 Range D Range 只对 POST 有效
# 32. HTTP 方法语义(GET 安全幂等、POST/PATCH 边界) A GET 有副作用,不应被缓存 B 所有方法都是安全的 C PUT 用于部分更新且非幂等 D POST 非幂等,重复执行可能产生不同结果,不宜自动重试 ✓ 正确答案
# 33. HTTP/2 的 Server Push(已弃用)与替代 在大型前端项目的工程价值 A Server Push 因无法感知浏览器缓存而弃用,替代方案是 103 Early Hints + preload ✓ 正确答案 B Server Push 仍被所有浏览器支持 C Server Push 比 preload 更节省带宽 D Server Push 与浏览器缓存无冲突
# 34. WebSocket 在大型应用的网络性能工程价值 A WebSocket 提供全双工低延迟通信,但需处理心跳、重连与水平扩展 ✓ 正确答案 B WebSocket 每次通信都需重新握手 C WebSocket 连接可被 HTTP 缓存 D WebSocket 无需心跳保活
# 35. fetch.keepalive 与单次请求后端连接复用的工程价值 A keepalive 请求体积无限制 B keepalive 与连接复用是同一概念 C keepalive 让请求在页面卸载后仍能发送,用于可靠上报 ✓ 正确答案 D 连接复用只在 HTTP/1.1 存在
# 36. AbortController 在 fetch 链路取消的工程价值(含上传进度) A abort 后请求仍会完成 B AbortController 只能取消上传,不能取消下载 C AbortController 可通过 signal 取消请求,并需区分 AbortError 与真实错误 ✓ 正确答案 D fetch 取消后无法捕获异常
# 37. HTTP/2 的连接复用(Connection Reuse) A HTTP/2 单连接多路复用,多个请求复用一条连接,减少握手开销 ✓ 正确答案 B HTTP/2 每个请求都建立独立连接 C HTTP/2 连接复用只能用于跨域 D HTTP/2 连接复用会增加连接数
# 38. HTTP 状态码在 RESTful API 的正确使用 A 401 表示未认证,403 表示无权限,429 表示限流,应精确区分 ✓ 正确答案 B 所有错误都应返回 200 C 400 是服务端错误 D 503 表示参数错误
# 39. TLS 1.3 在大型前端项目的工程价值 A TLS 1.3 握手比 TLS 1.2 慢 B TLS 1.3 将握手降至 1-RTT 并支持 0-RTT,提升安全与性能 ✓ 正确答案 C TLS 1.3 强制使用静态 RSA 密钥交换 D TLS 1.3 与 HTTP/2 无关
# 40. HTTP 与传输层在跨端、跨平台、跨框架场景下的应用 A 所有端都支持完全相同的 HTTP 能力 B 传输层在各端完全一致 C 跨框架无法复用请求层 D 跨端需用统一请求层封装并考虑各端差异,BFF 可统一协议与鉴权 ✓ 正确答案
# 41. 缓存与 CDN 在客户端与边缘协同中涉及哪些源码关键路径与实现原理,应如何在性能与一致性之间取舍 A 静态资源 hash 长缓存提升性能,HTML no-cache 保证一致,可兼顾两者 ✓ 正确答案 B 缓存越长性能越好且一致性好 C 客户端与边缘缓存无法协同 D 一致性只能靠禁用缓存保证
# 42. Service Worker 在离线缓存与网络优先/缓存优先策略的现代应用 A network-first 先请求网络失败回退缓存,保障在线新鲜、离线可用 ✓ 正确答案 B cache-first 先走网络,network-first 先走缓存 C 缓存策略无法离线工作 D SWR 会阻塞等待网络
# 43. CDN 边缘缓存(Cloudflare、Fastly、Vercel Edge) A 所有 CDN 边缘缓存能力相同 B Cloudflare 不支持边缘计算 C Vercel Edge 无法缓存 D Fastly 以 VCL 提供精细缓存控制与秒级 Purge,Vercel Edge 与 Next.js 部署深度集成 ✓ 正确答案
# 44. CDN 缓存击穿、雪崩与穿透在前端 API 缓存的工程防护 A 击穿用互斥锁避免并发回源,雪崩用随机过期,穿透用空值缓存 ✓ 正确答案 B 缓存击穿用随机过期时间解决 C 穿透指热点 key 过期 D 三种问题无需防护
# 45. Service Worker 的 cache.match 与 fetch 的缓存策略工程实践 A cache.match 会自动发起网络请求 B 缓存策略无法处理 opaque 响应 C cache.match 支持 POST 请求缓存 D cache.match 匹配缓存命中即返回,fetch 走网络,策略是两者的组合 ✓ 正确答案
# 46. Cache Partitioning(分区缓存)在第三方资源的浏览器缓存隔离 A 分区缓存让第三方资源在所有站点全局共享缓存 B 分区缓存不影响缓存行为 C 分区缓存按顶级站点隔离第三方资源缓存,提升隐私但降低命中率 ✓ 正确答案 D 分区缓存只影响第一方资源
# 47. Preload 与 Prefetch(<link rel>)的工程差异 A preload 用于预取未来页面资源,prefetch 用于当前页关键资源 B 两者优先级相同 C preload 高优先级加载当前页关键资源,prefetch 低优先级预取未来资源 ✓ 正确答案 D prefetch 比 preload 优先级更高
# 48. CDN 的边缘函数(Edge Functions、Cloudflare Workers、Vercel Edge) A 边缘函数在源站大规模执行 B 边缘函数与缓存无关 C 边缘函数可承载所有复杂状态逻辑 D 边缘函数在边缘节点运行,适合轻量鉴权、路由、改写等逻辑,但资源受限 ✓ 正确答案
# 49. Stale-If-Error 缓存在后端故障时的工程降级策略 A stale-if-error 在回源失败时返回错误页 B stale-if-error 在回源失败时返回陈旧缓存,提高可用性 ✓ 正确答案 C stale-if-error 只对首次请求生效 D stale-if-error 会丢弃缓存
# 50. Service Worker 的 Background Sync API 在离线数据同步的现代应用 A Background Sync 只在页面打开时执行同步 B Background Sync 在网络恢复时于 SW 中执行后台同步,适合离线数据恢复 ✓ 正确答案 C Background Sync 无法离线工作 D Background Sync 需要页面保持打开
# 51. CDN 的回源(origin)与缓存命中率优化的工程实践 A 缓存键越碎片化命中率越高 B 随机 query 参数有助于缓存命中 C 回源失败无需降级 D 精简缓存键、合理缓存时长与预热可提升命中率,减少回源 ✓ 正确答案
# 52. HTTP 缓存验证器(ETag/If-None-Match)相较时间戳的工程取舍 A ETag 基于时间戳,Last-Modified 基于内容哈希 B Last-Modified 比 ETag 更精确 C 两者都不能用于缓存验证 D ETag 是强验证器,能精确判断内容变化,Last-Modified 是弱验证器 ✓ 正确答案
# 53. Cookie 缓存与 Cache API 在身份验证场景的工程协作 A 认证响应应缓存到 CDN 共享缓存 B Cache API 无需考虑用户隔离 C 认证 Cookie 用于鉴权,个性化响应不应进共享缓存,避免跨用户泄露 ✓ 正确答案 D 认证数据可以随意缓存
# 54. CDN 的边缘缓存与源站压缩(gzip、brotli)的工程协同 A 压缩响应无法被缓存 B 缓存压缩响应需正确区分 Accept-Encoding,避免错误的 Content-Encoding ✓ 正确答案 C gzip 压缩率高于 brotli D 压缩与缓存无关
# 55. Cache Storage 的配额管理与清理策略的工程应用 A Cache Storage 受配额限制,需版本化缓存并在 activate 时清理旧缓存 ✓ 正确答案 B Cache Storage 容量无限 C Cache Storage 与 IndexedDB 使用独立配额 D 配额耗尽不影响缓存功能
# 56. CDN 在边缘计算(Edge Compute)的 SSR/SSG 与中间件的现代应用 A 边缘 SSR/SSG 与中间件无法与边缘缓存结合 B 边缘中间件可处理鉴权、路由、改写,SSR/SSG 配合边缘缓存实现快速响应 ✓ 正确答案 C 边缘计算资源无限,可承载所有渲染 D 中间件只能在源站运行