秋招杭州某游戏公司面经

某互联网公司 · Java开发工程师 · 一面 · 广东 · 2026-05

《面试题目》

  1. 🕐面试时间:2025.10
  2. 💻面试岗位:Java后端

❓面试问题:

  1. 自我介绍
  2. 为什么要做这两个项目
  3. 项目里用哪些集合比较多(回答了 List 和 HashMap)
  4. 在删除跟查询比较多的场景下,用哪个集合较多
  5. 讲讲 HashMap 的底层(回答了扩容机制)
  6. 项目里的线程池是怎么配的
  7. 有压测过项目吗,能达到多少的QPS
  8. 如果你发现接口的速度很慢,要怎么排查
  9. 讲一下项目里的日志设计,是怎么实现的
  10. Spring 中注入用的是哪个注解?
  11. 讲讲 @Autowired 和 @Resource 的区别
  12. 讲一下你对 MySQL 的理解
  13. 你是怎么理解事务的
  14. 你在使用事务的时候,用的是哪个隔离级别
  15. 讲讲事务的隔离级别
  16. 你是怎么优化你的索引的
  17. 怎么理解最左前缀原则
  18. 你是怎么排查 SQL 语句的是否存在问题
  19. 索引类型除了 B+树,还有哪些类型
  20. 用的是什么缓存(Redis),用它的哪些数据类型
  21. Redis 中 String 类型的底层是怎么实现的
  22. 项目中用到哪些锁,为什么不考虑使用 Redis 锁(因为我的是单机项目,这里说了一下 Redis 分布式锁怎么实现)
  23. 有用 Redis 设置失效时间吗,Redis 的失效策略是什么
  24. 讲一下 Redis 的持久化,两个有什么区别
  25. 实习时遇到做不了或者不合理的需求你会怎么做
  26. 如果遇到一个进度很急的需求,今天提出来明天就要,你会怎么做
  27. 怎么看待加班
  28. 对自己的成长规划,三年后的目标是什么
  29. 你希望后续公司能给你带来什么,哪些东西是你比较期待的
  30. 自我介绍
  31. 上次实习为什么离职
  32. 实习的内容是什么,有什么收获
  33. 为什么会选择上家实习公司
  34. 为什么这么迫切出来实习
  35. 个人情况
  36. 讲一下单链表和双链表,有什么区别,哪些场景下会使用到它们
  37. 堆和栈你是怎么理解的
  38. 为什么要做这两个项目
  39. 讲讲项目中 JWT + Redis 身份认证的实现原理
  40. Redis 为什么快,MySQL 不也有索引吗
  41. Docker 你是怎么用的
  42. 为什么要拿 Redis 和 ElasticSearch 来存储热点数据
  43. 实习里做的东西,怎么优化 SQL 的
  44. 课外是怎么学习的,学过哪些技术和代码
  45. 讲一下你在学校里的日常生活
  46. 从在校学生转变成公司员工,心态上会有哪些变化
  47. 选择一家公司的时候,会有哪些考虑,把这些考虑因素排个序
  48. 你觉得自己性格上是个怎么样的人
  49. 实习遇到的难题,怎么解决不太好完成的工作
  50. 有没有遇到一些低谷期,怎么克服的
  51. 你是怎么提升自己技术能力的
  52. 你觉得自己有哪些不足点
  53. 做这两个项目时的心路历程,有哪些思考,在这个过程中有遇到哪些困难,是怎么克服的
  54. 说一下网络,TCP 的交互原理是怎么样的
  55. TCP 和 UDP 的区别

🙌面试感想: 27. 之前秋招的面经,都是常见八股,分享一波 28. 拿到实习offer后实习了大半年,前阵子离职了[喝可乐][喝可乐][喝可乐]


《参考解析》

  1. 计算机网络:TCP(传输控制协议)是面向连接、可靠的传输协议,提供流量控制和拥塞控制;UDP(用户数据报协议)是无连接、不可靠但速度更快的协议。TCP通过三次握手建立连接(SYN→SYN+ACK→ACK),四次挥手断开(FIN→ACK→FIN→ACK)。

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

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

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