科大讯飞 Java开发暑期实习一面面经

科大讯飞 · Java开发暑期实习 · 一面 · 2026-04

面试题目

一、自我介绍

  • 对当前业界最火的AI相关技术有什么了解?
  • 是否了解近期比较火的AI项目代码泄露(提到 open cloud / cloud code)?有没有看源码?

二、 项目经历深挖

  • 项目1:初创公司模型轻量化与部署
    • 做了什么动作?使用的硬件和语言是什么?
    • 推理提速是相对于什么的提速?
    • 除了转 ONNX,从“模型角度”和“工程角度”还有哪些提升推理速度的技术手段?
    • 关于优化 Base64 编解码与 HTTP 传输逻辑,具体是怎么做的?为什么不用 Base64?
  • 项目2:天翼智能交通实习(Python 多进程优化)
    • 如何解决 Python 单进程的 OOM 问题?
    • 为什么用多进程重构,而不是多线程?

三、 计算机基础八股

  • Java 中实现并发程序有哪几种途径?
  • 了解过虚拟线程(协程)吗?
  • Linux 操作系统上,多进程之间数据同步/通信的方式有哪几种?
  • 多线程之间的同步方式有哪些?
  • 为什么 TCP 建立连接是三次握手,断开连接是四次挥手?
  • 断开连接中,这种“一方断开,另一方还在发送数据”的状态叫什么专有名词?
  • TCP 三次握手期间,发送端和接收端分别涉及哪几个主要状态?

四、 反问环节

  • 业务线工作内容、内部AI工具使用率、面试表现建议。

参考解析

  • 模型推理提速手段:模型角度包括剪枝、量化(INT8/FP16)、蒸馏;工程角度包括算子融合、TensorRT加速、动态批处理(Dynamic Batching)、内存复用等。
  • Python OOM与多进程:OOM通常是因为大内存对象未释放,多进程通过独立的内存空间规避GIL限制,同时利用多核优势。相比多线程,多进程更适合CPU密集型任务,但通信成本更高。
  • Java并发途径:继承Thread类、实现Runnable接口、实现Callable接口(带返回值)、线程池(ExecutorService)。
  • TCP三次握手状态:SYN_SENT(客户端发送后)、SYN_RCVD(服务端接收并回复后)、ESTABLISHED(双方确认连接)。
  • 半关闭状态:即Close-Wait或Half-close,通信一方发送FIN后,另一方仍可发送剩余数据,保证传输完整性。