科大讯飞线下面经:模型超时、部署与线上排障
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 使用过哪些模型和辅助开发工具,如何减少幻觉?
- 你怎样理解领域驱动设计?
- 未来有什么目标,技术改进尚无业务需求时会怎样推动?
- 项目如何部署,用什么命令检查 CPU 和内存?
- 不同模型输出的代码有什么差异,接入时遇到过哪些问题?
- 大模型调用一直超时或线上服务故障时怎么办?
- HTTP 的 2xx、3xx、4xx 和 5xx 表示什么?
- 常见数据结构有哪些,LinkedList 的内存组成是什么,是否需要数组式扩容?
- 数据库查询慢时如何排查,怎样看访问方式?
- 了解哪些线程锁,Redis 是自行部署还是云服务?
- Dockerfile 如何编写,从镜像到容器有哪些步骤?
- 遇到 Java OOM 怎样定位?
- 项目怎样优化 HTTP 传输链路?
《参考解析》
超时先分层
把排队、建连、首字节和完整响应的耗时分开,确认卡在哪里。客户端停止等待不意味着服务端停止计算,重试前要考虑重复请求与成本。并发上限、超时预算、取消机制和清晰的失败反馈应该一起设计,避免所有请求同时无限重试。
LinkedList 的追问
LinkedList 由节点连接,每个节点保存值引用和相邻节点引用,不存在 ArrayList 那样复制底层数组的扩容。内存占用还受到对象头、引用宽度和对齐影响,不能脱离运行环境报固定字节数。
OOM 证据
先读取异常类型,区分堆、元空间、直接内存或线程创建失败。保存异常前后的内存趋势、GC 信息和必要的诊断文件,再判断是对象长期持有、峰值分配过大,还是资源配置不足。直接加堆大小可能只是把复发时间推后。