后端岗位面试题更新 2026-08-05

请解释 SseEmitter 的核心作用,并描述在服务端如何借助 SseEmitter 将 AI 模型的输出以流式方式推送给前端?

后端开发编码实现技术原理问题排查SSE

考察说明

考查对 SSE 机制及 SseEmitter 在流式响应中应用的理解。

回答思路

  1. 【回答框架 1】SseEmitter 是 Spring MVC 提供的用于服务端向客户端推送事件(SSE)的类,基于 HTTP 长连接,支持文本数据单向实时推送。
  2. 【回答框架 2】使用步骤:创建 SseEmitter 实例并设置超时;在控制器方法中返回该实例;通过独立线程或异步任务调用 send 方法发送数据,最后调用 complete 结束。
  3. 【回答框架 3】实现 AI 流式响应时,可将大模型返回的增量文本通过 SseEmitter 逐块发送,前端使用 EventSource 或 fetch 读取流,实现打字机效果。
  4. 【回答框架 4】需注意连接管理、超时设置、错误处理及线程资源释放,避免资源泄漏。
  5. 【关键点 1】SseEmitter 实现服务器到客户端的单向实时通信。
  6. 【关键点 2】返回 SseEmitter 后,通过 send 发送数据,complete 结束。
  7. 【关键点 3】AI 流式响应中,将模型输出分块发送,提升用户体验。
  8. 【易错点 1】默认超时可能导致连接提前关闭,需合理设置。
  9. 【易错点 2】需在异步线程中发送数据,避免阻塞请求线程。
  10. 【易错点 3】未及时调用 complete 或未处理异常会造成资源泄漏。