面灵AI

【去年秋招·第一次面试】投的Java研发岗,面试官一开口全是八股文

时间
2026-08
来源
牛客网

《面试题目》

  1. 去年参加的秋招,就分享一下去年的经历吧。
  2. 去年这个时候,我投的第一个岗位是Java后端开发。简历改到自己都快背下来了,把项目里用到的技术点一个个列出来
  3. Spring Boot、MyBatis、Redis缓存、还有一个自己瞎折腾做的定时任务小系统,写得挺满,其实心里没底,怕面试官一问深了就露馅。
  4. 投完当天没反应,第三天收到笔试通知,笔试是常规的算法+SQL,做完感觉还行,两天后约了第一次面试。
  5. 面试是视频面,进去之前手心全是汗,第一个问题是“讲一下你简历里这个项目”,我准备得比较熟,说得还算顺。结果第二个问题直接来了个“HashMap和ConcurrentHashMap的区别,说说底层实现”,我脑子里知道有个大概方向——扩容机制、线程安全、锁的粒度——但具体到JDK7和JDK8的实现差异,说着说着就开始含糊,面试官也没打断我,就安静听着,等我说完了才补了一句“JDK8之后用的是CAS加synchronized,锁的是链表头节点”,我当场只能说“对对对,是这样”,其实心里已经知道自己这题答得不完整。
  6. 后面又问了线程池的几个核心参数、Redis持久化的两种方式,问到项目部署的时候问我“如果这个接口并发量突然上来了,你会怎么优化”,我第一反应是加缓存,面试官又追问“缓存穿透怎么解决”,我当时是真的没准备过这个词,愣了几秒说了个“设置空值缓存”,勉强算沾了点边。
  7. 面完结束后,整个人是虚脱的,觉得自己肯定挂了。结果三天后收到二面通知,才知道面试官其实没有指望我把每道题都答完美,他更在意的是我卡壳的时候会不会硬编、会不会诚实说“这块我不太确定,我说说我的理解方向”。
  8. 现在回头看,第一次面试真正教会我的是:Java这条路上,八股文永远问不完,但态度比背答案更重要——遇到不会的,坦然说清楚自己的思路边界,比硬撑一个错误答案要值钱得多。 那次面试之后我才开始系统整理JVM、并发、数据库这几块的笔记,也是从那次“露怯”开始,才真正把秋招这件事当回事。

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
  3. 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。