# 1. WebSocket 二进制帧 vs 文本帧在协议设计的工程取舍 A 二进制帧必须搭配 JSON B 二进制帧只能传 8 字节 C 文本帧无法传输中文 D 文本帧便于调试但有大对象序列化开销,二进制帧适合高频协议化数据,可混用分流 ✓ 正确答案
# 2. Nginx 配置与大规模 WebSocket 连接管理 A 透传 Upgrade/Connection 头(HTTP/1.1)、关闭缓冲并调大超时,配合会话粘性或后端无状态化 ✓ 正确答案 B proxy_http_version 1.0 C 禁用 keepalive D 必须使用 HTTP/2
# 3. WebSocket 在浏览器与 Node.js(ws 库)的客户端与服务端的工程实践 A 心跳保活(ping/pong)、载荷上限限制与异常连接回收 ✓ 正确答案 B 消息的 UTF-8 解码 C 浏览器的自动重连 D 跨域预检请求
# 4. SSE 与 WebSocket 在服务端推送与全双工的工程取舍 A SSE 支持双向通信 B SSE 必须配合轮询使用 C WebSocket 无法做服务端推送 D 只需服务端推送时 SSE 更简单(自动重连、过代理友好),需要全双工低延迟时选 WebSocket ✓ 正确答案
# 5. EventSource(SSE)的自动重连与 Last-Event-ID 协议在消息流的工程价值 A 加密消息内容 B 重连后服务端据最后事件 id 断点续推,配合序号持久化与去重实现不丢消息 ✓ 正确答案 C 限制消息大小 D 替代心跳机制
# 6. SSE 在 Cloudflare/CDN 反向代理的 Buffering 与 X-Accel-Buffering 头 A 增大缓冲字节数 B 返回 X-Accel-Buffering: no 并设置 text/event-stream 与 no-cache,配合心跳保活 ✓ 正确答案 C 改用 HTTP/3 D 让代理缓存整个响应
# 7. fetch 的 ReadableStream 与 SSE 的协作在 AI 流式响应的应用 A 自动重连更可靠 B 支持自定义请求头、POST 与 AbortController 取消,配合背压控制消费 ✓ 正确答案 C 不需要解析协议 D 数据自动压缩
# 8. SSE 的连接生命周期、心跳与代理缓冲 A 以注释/空事件定期推送防止代理与负载均衡空闲超时回收连接,并配合关闭缓冲 ✓ 正确答案 B 加密传输 C 加快事件传输 D 替代 Last-Event-ID
# 9. SSE 在浏览器 DevTools 的 EventStream 流式调试 A EventStream 视图事件持续小批量到达 B 事件一次性全部到达且 TTFB 后有长时间无字节,说明流被攒批缓冲 ✓ 正确答案 C 响应头缺少 Connection 头 D 事件无法显示
# 10. 长轮询相比 SSE/WebSocket 在现代应用的取舍,什么场景仍适合长轮询? A 高频实时协作编辑 B 大规模聊天室 C 客户端环境不允许长连接或服务端无法维持长连接的低频简单推送 ✓ 正确答案 D 在线游戏同步
# 11. navigator.sendBeacon 在页面卸载时日志/埋点上报的工程取舍 A 保证请求一定送达并支持响应处理 B 替代所有 fetch 请求 C 页面卸载时尽力发送的免阻塞上报,适合埋点,但无确认且载荷受限,关键数据需业务侧保障 ✓ 正确答案 D 只能在 Worker 中使用
# 12. WebSocket(new WebSocket(url, protocols)) A 指定加密算法 B 限制消息大小 C 设置心跳间隔 D 声明客户端子协议供服务端协商选择,结果经 protocol 属性读取,实现同端点协议复用 ✓ 正确答案
# 13. WebSocket 的认证(JWT in Sec-WebSocket-Protocol / Cookie / 子协议) A token 不会出现在任何日志中 B 支持任意大小的 token C 不依赖 Cookie,可在跨域握手时携带凭证,由服务端校验后协商确认 ✓ 正确答案 D 免去 Origin 校验
# 14. 消息可靠性(ACK、序列号、去重、消息补偿、离线消息拉取) A 依赖 TCP 保证业务顺序 B 每条消息都重发三次 C ACK + 序列号 + 幂等去重 + 断线补偿,配合离线消息拉取与水位持久化 ✓ 正确答案 D 只用心跳保活
# 15. WebSocket 重连机制(指数退避、心跳保活 Ping/Pong、状态机) A 固定 1 秒重试 B 状态机 + 指数退避带抖动 + 心跳判死,重连后重新认证与恢复订阅 ✓ 正确答案 C 断开后永不重连 D 只靠浏览器自动重连
# 16. WebSocket 实战握手流程、代理(nginx/Envoy) A 200 OK B 302 Redirect C 204 No Content D 101 Switching Protocols,服务端返回基于 Sec-WebSocket-Key 计算的 Accept 值 ✓ 正确答案
# 17. WebSocket 的流量控制与背压(backpressure) A 监控 bufferedAmount/缓冲水位,超阈值暂停生产或降采样,配合分片确认窗口限速 ✓ 正确答案 B 无限增大发送缓冲 C 依赖 TCP 自动处理 D 关闭心跳
# 18. 消息顺序保证(全局有序、分区有序) A 按房间/会话分区维护单调序号,分区内有序、分区间并行,断线按分区水位补拉 ✓ 正确答案 B 强制全局有序以支持所有场景 C 用客户端时间戳排序 D 随机顺序发送
# 19. WebSocketStream API(实验性)在背压与流式消费的工程价值 A 提升 WebSocket 传输速度 B 以 Web Streams 表达读写,天然获得背压与流式组合能力,但仍是实验性 API ✓ 正确答案 C 替代所有消息格式 D 支持 HTTP/2 推送
# 20. WebSocket 的 Sec-WebSocket-Protocol 子协议在多业务复用的工程应用 A 加密消息内容 B 限制连接数量 C 替代 TLS D 握手期协商协议版本/业务格式/能力,服务端白名单校验后回选,实现同端点多业务复用 ✓ 正确答案
# 21. WebSocket 的负载均衡(粘性会话 vs 一致性哈希) A 只依赖 IP hash B 会话状态外置 + 注册表定位 + 消息总线转发,实现无状态节点与弹性伸缩 ✓ 正确答案 C 每用户固定一台物理机 D 禁用负载均衡
# 22. Socket.IO 的自动重连(reconnection)与降级轮询的工程价值 A 自动重连与长轮询降级、事件/房间语义开箱即用,适合业务型实时应用 ✓ 正确答案 B 传输速度更快 C 无任何协议开销 D 只能在服务端使用
# 23. WebSocket 在大文件上传(分片)的工程应用与边界 A 一次性发送整个文件 B 依赖 TCP 自动限速 C 禁止二进制消息 D 分片 + ACK 滑动窗口 + 已收片位图断点续传,适合会话内上传,通用上传仍以 HTTP 分片更成熟 ✓ 正确答案
# 24. WebSocket 的消息压缩(permessage-deflate)的浏览器兼容性边界 A 经 Sec-WebSocket-Extensions 协商启用,Safari 等实现缺失,需以协商结果为准并做容量评估 ✓ 正确答案 B 所有浏览器默认支持且行为一致 C 与消息内容无关 D 压缩后消息不可读
# 25. WebSocket 的 CloseEvent 在优雅关闭(1000 Normal Closure)的工程应用 A 应用自定义关闭原因(如 token 过期、被顶号),客户端据此决定重连策略 ✓ 正确答案 B 保留给协议规范 C 表示传输错误 D 替代 1000 使用
# 26. WebSocket 的错误码(1006 Abnormal Closure) A 连接异常断开(无关闭握手),应触发重连逻辑并与正常关闭分开统计 ✓ 正确答案 B 服务端主动正常关闭 C token 过期 D 可以回发 1006 关闭帧
# 27. WebSocket 在 SSR(Next.js API Route、Nuxt 3 Nitro) A 在 API Route 中直接创建 WebSocketServer B 独立实时服务(网关/托管平台)承载连接,SSR 只负责渲染并注入连接凭证 ✓ 正确答案 C serverless 函数天然支持长连接 D 用静态导出实现推送
# 28. WebSocket 在移动端(4G/5G 切换)的连接稳定性工程取舍 A 延长心跳到 5 分钟节省电量 B 短心跳快速判死 + 网络事件主动重连 + 快速会话恢复,弱网时降采样或降级 ✓ 正确答案 C 关闭所有重连 D 依赖 TCP 超时检测
# 29. WebSocket 在企业代理(SSL Inspection) A 服务端不支持 TLS B 域名不含 https C 浏览器版本过低 D 代理改写/剥离升级头或回收空闲长连接,需放行配置、短心跳与降级方案配合 ✓ 正确答案
# 30. WebSocket 的消息大小限制(frame size)在大型数据传输的工程应用 A 大消息分帧 + ACK 窗口,服务端配置 maxPayload 防护,大文件用资源引用分离传输 ✓ 正确答案 B 单帧发送任意大小消息 C 无限调大服务端限制 D 用文本帧传二进制
# 31. WebSocket 在浏览器扩展(MV3)中的 service worker 通信边界 A 放在 service worker 中并阻止其休眠 B 扩展无法使用 WebSocket C service worker 支持常驻 D 放在 offscreen document 或扩展页面中,状态持久化,service worker 事件驱动处理 ✓ 正确答案
# 32. RFC 8441 在 HTTP/2 上引导 WebSocket(扩展 CONNECT、:protocol 伪头部)的机制与浏览器/服务端支持现状 A 沿用 HTTP/1.1 的 Upgrade 头 B 无需握手直接传输 C 用 DNS 记录标识 D HTTP/2 流上的 CONNECT + :protocol: websocket 伪头,浏览器默认支持有限,多路复用收益需 WebTransport 等方案获取 ✓ 正确答案
# 33. WebSocket 与 HTTP/3 的关系,为何 WebSocket 仍运行在 TCP 上,WebSocket over QUIC 的进展与意义 A WebSocket 已全面迁移到 QUIC B HTTP/3 完全取代 WebSocket C WebSocket 语义绑定 TCP 单流模型,QUIC 收益由 WebTransport 承接,RFC 9220 的 H3 WebSocket 浏览器支持有限 ✓ 正确答案 D WebTransport 与 QUIC 无关
# 34. NDJSON(Newline Delimited JSON) A 每行独立可流式解析、单行损坏可跳过、支持断点续传,无需整体序列化 ✓ 正确答案 B 数据更紧凑 C 自带自动重连 D 不需要转义
# 35. SSE 的自动重连(EventSource 内部机制)与心跳保活在代理服务器超时场景的边界 A 调大浏览器重连间隔 B 心跳间隔小于代理超时并确保不被缓冲,配合 retry 抖动与 Last-Event-ID 业务续传 ✓ 正确答案 C 禁用自动重连 D 增大事件载荷
# 36. EventSource 的 event: 自定义事件类型与 data: 多行拼接规范在工程实践的边界 A 各行按换行符拼接为一个 data 值,空行分隔事件,自定义类型需 addEventListener 监听 ✓ 正确答案 B 只取第一行 C 多行会抛解析错误 D data 与 event 字段互斥
# 37. SSE 在 nginx 反向代理(proxy_buffering off; proxy_cache off;)的配置工程实践 A proxy_buffering on 提高吞吐 B proxy_buffering off + proxy_cache off + 调大超时并配合 no-cache 头 ✓ 正确答案 C 开启 gzip 缓冲压缩 D 使用 HTTP/2 升级
# 38. Fetch Streams(response.body ReadableStream)与 EventSourcePolyfill 在 Node.js 与浏览器的协作 A 在 Node 端与受限浏览器场景用 fetch 流实现 SSE 消费,与浏览器 EventSource 统一抽象 ✓ 正确答案 B 提升 SSE 传输速度 C 替代 WebSocket D 自动压缩事件
# 39. AWS Lambda 与 Cloudflare Workers 的 SSE 响应支持(无需长连接) A 平台为每个 SSE 连接分配常驻进程 B 平台支持无限执行时间 C SSE 不需要网络 D SSE 只是流式响应,平台无需维护长连接状态,函数/Worker 边生成边返回即可 ✓ 正确答案
# 40. React 19 的 use() Hook 与 AI 流式响应(Vercel AI SDK、LangChain.js)的 SSE 协议协作 A use() 可以解析 ReadableStream 并逐 token 重渲染 B use() 消费 Promise 类数据(适合 RSC),客户端逐 token 渲染由 AI SDK 的状态 + 流式协议(SSE)协作完成 ✓ 正确答案 C use() 替代了 useEffect D use() 与流式无关
# 41. SSE 的 retry: 字段在客户端断线重连间隔与服务器端 last-event-id 配合的现代工程价值 A 限制事件大小 B 加密传输 C 由服务端控制客户端重连间隔,配合 Last-Event-ID 断点续传,缓解重连风暴并保证不丢消息 ✓ 正确答案 D 替代心跳
# 42. WebTransport 在游戏 / 实时音视频的工程取舍 A 数据报提供低延迟可丢弃通道、流提供可靠有序通道,多流优先级适应混合流量 ✓ 正确答案 B 完全替代 WebRTC 媒体传输 C 与 WebSocket 完全等价 D 只能传输文本
# 43. WebTransport(HTTP/3 + QUIC)双向流与 Datagram 的工程价值 A 必须保证送达的金融交易 B 大文件断点续传 C 可容忍丢包的低延迟高频数据(游戏状态同步、遥测) ✓ 正确答案 D 数据库事务
# 44. WebTransport 与 WebSocket 的能力对比与场景 A 兼容性更好 B 基于 QUIC 提供多流复用、按通道可靠性选择与连接迁移 ✓ 正确答案 C 代理支持更成熟 D 延迟必然更低
# 45. WebTransport HTTP/3 + 0-RTT 连接恢复在弱网的工程价值 A 持票握手时首包即带数据、切网经连接 ID 迁移免重握,但存在重放风险且支持面有限 ✓ 正确答案 B 完全免去重连逻辑 C 与 TCP 重连一致 D 不需要会话管理
# 46. WebTransport 在 P2P 与媒体流(datagram.duplex) A WebTransport 是浏览器间直连的 P2P 协议 B datagram 自动保证顺序 C WebTransport 只能传输文件 D WebTransport 是客户端-服务器模型,常用于 P2P 系统的中继/信令,datagram 适合可丢包的实时媒体 ✓ 正确答案
# 47. WebTransport 在浏览器支持现状与降级方案 A 抽象传输层 + 连接级能力验证 + WebSocket/HTTP 流降级实现与语义降级 ✓ 正确答案 B 仅检测 window.WebTransport 存在即可 C 不支持就报错 D 强制用户升级浏览器
# 48. WebTransport 的连接迁移(Connection Migration) A 迁移后必须重新握手 B 只支持桌面端 C 迁移依赖 DNS 更新 D 以连接 ID 而非 IP 标识连接,路径变化后续传同一会话,移动弱网不中断 ✓ 正确答案
# 49. Socket.IO 的自动重连、房间机制、命名空间、适配器 A 每节点独立广播无需同步 B 广播只能单机 C 经 Redis 等适配器发布订阅房间事件,各节点推送给本节点房间成员 ✓ 正确答案 D 房间状态存客户端
# 50. Pusher / Ably / Centrifugal 在托管实时消息平台的工程取舍 A 数据完全本地化 B 免费无限额度 C 免运维、快速上线与全球网络能力,但需评估按量计费成本与数据主权约束 ✓ 正确答案 D 可完全自定义协议
# 51. QUIC 的 0-RTT 风险 在大型应用的网络性能工程价值 A 所有请求一律使用 0-RTT B 幂等/只读请求放行 0-RTT 换取 RTT 节省,写操作回退 1-RTT 并做服务端重放检测 ✓ 正确答案 C 0-RTT 无任何风险 D 0-RTT 只用于 UDP
# 52. WebTransport 的多路复用(Streams Multiplexing) A 提高单条流的吞吐上限 B 替代 WebSocket 的全部场景 C 一条连接承载多条独立流,互不阻塞且独立控制可靠性/优先级/生命周期 ✓ 正确答案 D 消除所有网络延迟
# 53. WebTransport 在服务端(Node.js node:webtransport)的现代工程实践 A 用 node:webtransport 监听 UDP 并配置 TLS 证书,按会话处理流与数据报 ✓ 正确答案 B 复用 HTTP/2 端口即可 C 无需证书 D 只支持文本流
# 54. WebTransport 的 HTTP/3 头部压缩(QPACK) A QPACK 不压缩头部 B HPACK 支持连接迁移 C QPACK 用于 WebSocket D HTTP/3 多流乱序使 QPACK 经专用编解码器流同步动态表更新 ✓ 正确答案
# 55. WebTransport 在 NAT 穿透的工程实践 A WebTransport 支持浏览器间 UDP 打洞直连 B 需要 STUN 才能连接服务器 C NAT 环境下 WebTransport 完全不可用 D WebTransport 是客户端-服务器 QUIC 会话,P2P 场景经服务器中继或与 WebRTC ICE 配合,并注意 UDP 映射保活 ✓ 正确答案
# 56. WebTransport 的 Streams API 集成在背压(backpressure) A 发送端无限写入 B 背压由浏览器自动处理无需编码 C 数据报也有背压 D writable 写入 Promise 随流控回落、readable 消费驱动 QUIC 窗口收缩,管道传播背压 ✓ 正确答案
# 57. WebTransport 的 close() 与 datagramsWritable 在优雅关闭的工程应用 A 直接断开 TCP B closeCode 无业务含义 C 关闭后立即复用会话 D 以 closeCode/reason 通知对端,冲刷最后一帧并等待进行中流完成,超时强制关闭 ✓ 正确答案
# 58. WebTransport 的 stats 在网络质量监控的工程价值 A 加密网络数据 B 替代应用层日志 C 采集 RTT/丢包/速率等指标,驱动客户端自适应与质量监控上报 ✓ 正确答案 D 只统计数据报
# 59. WebTransport 在 CDN 边缘(Cloudflare、Vercel) A 所有平台函数原生支持 B WebTransport 无法在边缘运行 C Cloudflare 等原生终止 QUIC 并可在 Workers 处理会话,其他平台经网关转源站,注意 UDP 放行与粘性 ✓ 正确答案 D 必须回源到物理机
# 60. WebTransport 在多路复用时的队头阻塞(head-of-line blocking) A 与 HTTP/2 一样存在全局队头阻塞 B 完全无延迟 C 流间无队头阻塞,单流内仍按序,残余面在流内阻塞与带宽争用 ✓ 正确答案 D 丢包不影响任何流
# 61. MQTT 在 IoT 与移动端的低功耗实时通信 A 会话保持 + QoS 分级 + 心跳与 LWT 配合,后台受限时由系统推送兜底 ✓ 正确答案 B 频繁断开重连省电 C 不使用 TLS D 取消心跳
# 62. MQTT.js / HiveMQ Cloud 在 IoT 浏览器客户端的工程价值 A 经 WebSocket 桥接(MQTT over WS),配合托管 Broker 与主题 ACL 实现设备-Web 实时联动 ✓ 正确答案 B 浏览器原生 TCP 直连 C 只能轮询 D 需要插件