27届重庆Java小厂面经

某互联网公司 · AI算法工程师 · 重庆 · 2026-05

《面试题目》

  1. 【Day1 HR线下面 15min】
  2. 自我介绍一下
  3. 简单介绍一下简历上面的三个项目,以及简单介绍自己负责的模块
  4. 学校工作室项目的职责,怎么安排项目进行的
  5. 我看你简历上写了自己的公众号,可以给我展示一下吗
  6. 今天是从学校出发的吗?今天来公司通勤时间是多久?是翘课来的吗?(是的…)明天有没有课?
  7. 最早多久可以到岗?
  8. 感觉自己的能力有什么突出的地方?有什么不足的地方?
  9. HR简单介绍完待遇与部门规模业务后,反问:进去后我是主要写什么项目
  10. 【Day2 技术线上面 20min】
  11. 自我介绍
  12. 实习与工作室项目使用技术栈,项目组情况,自己负责的部分,自己的项目最满意的地方?项目有没有部署过?是怎么部署的?
  13. AI使用情况,那么既然你使用过ClaudeCode,前段时间ClaudeCode源码泄漏事件有了解吗?聊一点ClaudeCode源码
  14. 既然有用到SpringAI,介绍一点SpringAI源码(扯了一点ChatMemory)
  15. Mysql关联查询用什么?做过哪些优化手段?
  16. 如果跟AI聊天出现幻觉,该怎么解决
  17. 如果你现在在做项目,与AI的会话超过了最大的上下文,可以怎么处理?
  18. 介绍一下RAG(这里结合了自己的项目)
  19. Spring中的AOP介绍一下
  20. 单例模式介绍一下
  21. JVM加载子类时,父类是怎么加载的
  22. 怎么写自定义注解
  23. 简单介绍一下自动投简历,避免被平台反爬虫的措施
  24. linux查看文件的指令

《参考解析》

  1. MySQL深度:MySQL InnoDB使用B+树索引,支持ACID事务。关键知识点:聚簇索引(主键索引)叶节点存完整行数据;辅助索引叶节点存主键值(需回表);MVCC通过undo log版本链+ReadView实现多版本并发控制,解决脏读/不可重复读;事务隔离级别从低到高:读未提交→读已提交→可重复读(默认)→串行化。

  2. Spring框架:Spring IoC容器管理Bean生命周期,核心是依赖注入(DI)。AOP面向切面编程通过动态代理(JDK/CGLIB)实现横切关注点(日志/事务/权限)。Spring事务传播行为:REQUIRED(加入现有或新建)、REQUIRES_NEW(挂起当前,新建)、NESTED(嵌套事务)等。

  3. JVM与GC:JVM内存模型:堆(对象分配,GC管理)、方法区(类信息、常量池)、虚拟机栈(栈帧/局部变量/操作数栈)、本地方法栈、程序计数器。GC算法:标记-清除(内存碎片)、标记-整理(无碎片,但移动对象)、复制(新生代)。G1按Region划分堆,预测停顿时间。

  4. RAG与大模型:RAG(检索增强生成)流程:文档切片→向量化(Embedding)→存向量数据库→检索时将query向量化→TopK语义检索→将相关文档拼入prompt→LLM生成。优化:混合检索(语义+关键词)、重排序Rerank、查询改写、上下文压缩。评估:召回率(relevant docs retrieved/total relevant)、精确率、Answer相关性。