前言
一面:30分钟
-
自我介绍
-
手写冒泡排序
-
介绍Java线程池
-
线程池的流程
-
为什么要用线程池
-
有哪些常用的线程池,各自的应用场景是什么样的
-
频繁创建销毁线程会消耗哪些资源
-
线程同步的方式
-
synchronized锁升级过程
-
MySQL的隔离级别
-
不同隔离级别各自会出现什么问题
-
间隙锁原理
-
读的时候可以加锁吗
-
elasticsearch原理(倒排索引)
-
如果同一个单词在多个文本中出现,该怎么选择最相关的那个
刚面试完不到2分钟发短信通知一面通过,40分钟后二面
二面: 40分钟
-
自我介绍
-
项目相关
-
redis分布式锁
-
除了搭建分布式集群以后,单个Redis还有什么限流的方式
-
Java线程池全家桶(核心参数、流程之类的)
-
如果线程池中单个线程出现异常,会怎么处理
-
创建线程的方式有哪些
-
场景题:通过多线程的方式来挖矿,最后要返回每个线程挖矿的数量,有哪些实现方式
-
MySQL优化方式
-
讲一下索引该怎么设计
-
覆盖索引和聚簇索引,什么情况下会引起回表查询
-
Spring事务了解哪些
-
Spring事务框架了解吗
-
反问:让面试官点评一下,面试官还说我基础扎实,逻辑清楚,表达很有条理
二面完10分钟收到短信通知二面通过,1小时后三面
三面: 20分钟
-
自我介绍
-
介绍项目
-
项目的设计思路
-
具体是怎么实现
-
缓存是怎么使用的,为什么要用缓存
-
如何满足缓存与数据库的读写一致性
-
如果缓存删除失败了的话会怎么办
-
了解缓存击穿吗,缓存击穿该如何处理
-
后面就是聊天,什么兴趣爱好,对于自己未来的规划之类的
总结
整体面试还是很不错,勉强上岸,打牢基础,并发,调优,JVM这些都是必不可少的!总结最多的还是不够强!菜就要查漏补缺,不知道自己菜的人才最可怕,这次金九银十我已经跃跃欲试了在家也没少准备,下面分享下我的金九银十备战资源库。