27届成都小厂Java面经

京东 · AI算法工程师 · 重庆 · 2026-05

《面试题目》

  1. 简单自我介绍
  2. 第一个项目,如果这个ZIP压缩包从oss拉取的时候,但是这个ZIP压缩包比较大,该怎么办
  3. 第一个项目,教师可以对实训项目进行各个状态的管理,假如说一个老师将状态推进到了下一步,但是另一个老师没有修改状态,存在状态不一致问题,该怎么解决?这些状态是什么样的关系呢?
  4. 第一个项目,介绍一下树形结构存储教学任务是怎么写的
  5. 第三个项目,介绍一下你使用了工厂模式与策略模式集成了不同的使用AI处理简历的方式,编码逻辑是怎么样的
  6. 介绍一下MySQL连表查询
  7. 介绍一下MySQL索引
  8. HashMap底层数据结构,JDK1.7与1.8有什么区别
  9. Redis常用数据类型的使用场景
  10. 口述sql题:给你一张学生表,有学生姓名、课程、成绩查询出至少有一科分数大于80的学生总数(只记了个大概,后面出了一道变种题但是忘掉了,很久没有手写sql了,模模糊糊的)
  11. 进面试间就看见面试官把我的csdn与公众号内容投屏,问为什么csdn比公众号流量更多,为什么我简历上面不写csdn只写公众号
  12. 答:因为csdn都是机器人点赞,而且公众号有收益
  13. 最后随便选了一个项目,投屏给面试官看代码跟需求文档,提出疑问回答就可以了

《参考解析》

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

  2. Redis核心:Redis常用数据结构:String/Hash/List/Set/ZSet。持久化:RDB(定期快照,恢复快,数据可能丢失)和AOF(追加日志,数据安全,文件大)。缓存穿透用布隆过滤器;缓存雪崩加随机过期时间+多级缓存;缓存击穿用互斥锁或逻辑过期。分布式锁用SET key value NX PX + Lua脚本保证原子释放。