面灵AI

中科创达面试复盘

时间
2026-04
来源
牛客网

《面试题目》

  1. Java 接口和抽象类有什么共同点和区别?
  2. Java 线程池有哪些核心参数?分别有什么作用?
  3. 线程池接收到新任务后的执行流程是什么?
  4. 线程池的保活时间有什么作用?
  5. 线程池常见的任务队列有哪些?
  6. CAS 是什么?底层原理是什么?
  7. JVM 内存模型了解吗?
  8. Spring Boot、Spring Cloud 是自学的吗?平时通过什么方式学习 Java 技术?
  9. HTTP 了解吗?
  10. MySQL 什么场景适合建立索引?索引有什么好处和代价?
  11. MySQL 索引底层为什么使用 B+ 树?
  12. 数据库事务的 ACID 四大特性分别是什么?
  13. 项目是课程作业还是自己独立完成的?
  14. RAG 是自己实现的还是直接使用开源组件?
  15. 如何介绍自己实现的 RAG 整体流程?
  16. RAG 的文档切割如何实现?
  17. RAG 的多路召回策略如何设计?
  18. LangChain 的底层原理如何理解?
  19. 智能票务购票系统有没有使用 AI?
  20. AI 客服如何和传统业务结合?
  21. 项目前后端都是自己做的吗?前端使用什么技术?
  22. 开发 Agent 等新功能时是否会使用 AI 辅助开发?

《参考解析》

  1. 接口与抽象类:两者都可以定义抽象行为并由子类实现。接口更适合表达能力契约并支持多实现,抽象类可以复用状态和部分实现;具体选择取决于是否需要共享实现与单继承约束。
  2. 线程池流程:提交任务后先创建核心线程,核心线程满后进入队列,队列满再扩容到最大线程数,仍无法接收时执行拒绝策略;线程数、队列容量和拒绝策略应结合任务类型设置。
  3. CAS 与 ABA:CAS 比较内存位置的旧值并在相等时更新,依赖硬件原子指令。值从 A 变 B 再回 A 会产生 ABA,需要版本戳或带标记的原子引用区分变化。
  4. JVM 与线程池资源:JVM 运行时区域包括堆、虚拟机栈、方法区等;线程池中的长生命周期线程应清理线程本地状态,避免请求对象被意外持有。
  5. MySQL 索引:B+ 树非叶节点只存键,叶节点按序连接,能减少磁盘访问并高效支持范围扫描;索引会增加写入和存储成本,需根据过滤、排序和选择性设计。
  6. 事务 ACID:原子性保证全成或全败,一致性保证约束不被破坏,隔离性控制并发事务互相影响,持久性保证提交结果在故障后仍可恢复。
  7. RAG 流程:先清洗文档并按语义切块,生成向量写入索引;查询时做关键词、向量或重排召回,拼装证据上下文后交给模型生成,并保留引用和评估指标。
  8. LangChain:可将提示词、模型、检索器和工具编排成链或图,关键是明确状态传递、工具边界、超时和错误处理,不能把编排框架当作检索质量本身。
  9. AI 与传统业务结合:AI 负责意图识别、检索和自然语言生成,订单、库存、支付等关键动作仍由确定性的业务服务执行,并通过权限、审计和人工兜底控制风险。