本篇 10 题|覆盖初级到高级|流式服务与背压。先用自己的话回答,再核对参考要点,最后练习工程追问。

本篇目录
- DEP-071 流式响应为什么改善体验?
- DEP-072 反向代理会怎样影响流式输出?
- DEP-073 SSE 事件如何设计?
- DEP-074 客户端断开后服务端应做什么?
- DEP-075 流式 JSON 如何校验?
- DEP-076 流式内容如何做安全检查?
- DEP-077 慢客户端为什么会拖垮服务?
- DEP-078 如何设计流式重试?
- DEP-079 流式计量什么时候结算?
- DEP-080 如何测试流式链路?
DEP-071 流式响应为什么改善体验?
难度:中级
参考答案:用户可在完整生成前看到内容,降低感知等待,但不一定减少总计算时间。需要区分首字、持续输出和最终完成,避免把空心跳当作内容。
工程追问:哪些任务不适合直接展示未校验输出?
DEP-072 反向代理会怎样影响流式输出?
难度:中级
参考答案:缓冲、超时和连接限制可能导致内容积攒后一次返回或中途断开。应验证实际代理配置与完整链路,而非只在本地直连测试。
工程追问:如何确认是代理缓冲而非模型慢?
DEP-073 SSE 事件如何设计?
难度:中级
参考答案:使用明确事件类型和请求 ID,区分增量、状态、错误与完成。定义断线和结束语义,确保客户端不会把错误消息拼进正文。
工程追问:正常结束与连接异常怎样区分?
DEP-074 客户端断开后服务端应做什么?
难度:中级
参考答案:根据任务类型取消无需继续的生成,释放连接与预算;需后台完成的任务转为可查询状态。避免浏览器关闭后仍无限消耗模型资源。
工程追问:取消信号如何传到上游?
DEP-075 流式 JSON 如何校验?
难度:中级
参考答案:增量片段通常不是完整 JSON,应在完成后进行完整解析和 Schema 校验。需要中途展示时采用受控增量解析,不把半成品当作最终结构。
工程追问:输出到一半断开如何恢复?
DEP-076 流式内容如何做安全检查?
难度:中级
参考答案:可采用分段缓冲与逐步校验,并对高影响内容延迟展示或使用完整审核。必须说明延迟与完整性取舍,不能假设已展示内容还能被收回。
工程追问:代码执行参数可以边生成边执行吗?
DEP-077 慢客户端为什么会拖垮服务?
难度:中级
参考答案:发送队列和缓冲持续累积,占用内存与连接。设置缓冲上限、写超时和取消策略,必要时保留最终结果供稍后获取。
工程追问:多层代理的缓冲如何共同影响内存?
DEP-078 如何设计流式重试?
难度:中级
参考答案:区分尚未输出与已输出阶段,记录请求 ID 和消费进度。已输出后重新生成可能不同,应明确重启答案或恢复策略,不能无提示拼接。
工程追问:供应商不支持续传时怎么办?
DEP-079 流式计量什么时候结算?
难度:中级
参考答案:结合上游最终用量与已观察数据,明确中断时的估算和后续校正。请求结束、连接断开与计费完成不是同一事件,需要独立状态。
工程追问:账单晚到如何避免重复结算?
DEP-080 如何测试流式链路?
难度:中级
参考答案:覆盖首字延迟、持续间隔、长响应、客户端取消、代理超时和上游错误。用真实部署路径验证,并检查资源是否在异常后释放。
工程追问:只用一次成功请求能验证什么?
复盘练习
任选一题,用“场景与约束 → 方案 → 验证方法 → 失败边界”组织一段回答。初级先讲清概念,中级补实现与测试,高级补成本、权限和故障取舍。难度标签是学习建议,同一题可继续深入。
延伸阅读
以下为本模块相关原始论文与官方文档,用于继续学习;本文为原创面试要点整理,具体框架行为以所用版本为准。