9.28 一面 30分钟
自我介绍(没有项目介绍)
学生宿舍管理项目难点和技术点
项目中用了什么框架
对AQS的理解 LOCK体系
ReentrantLock实现原理
对线程池的理解
线程池的拒绝策略
数据库引擎
数据库三大范式
数据库锁(死锁,悲观锁,行级锁,表级锁的区别)
hashmap的理解
concurrenthashmap的加锁机制,问到他的get方法需要加锁吗,讨论了一下
红黑树的特点,为什么要用红黑树
hashset的底层实现原理,看过源码吗,随机拉一段分析一下
最近看的一些书(说了啊哈算法他会不会觉得我很low)
学习知识的方法
你觉得除了我问到你的你还有啥知识点是值得我问的(我说java se ,linux,网络原理)
你最喜欢java se中哪些技术…
**10.13 二面 90分钟
面试官挺好的,一步步引导深入**
自我介绍+项目介绍+项目特点讲出来
五子棋项目:
websocket协议是怎么使用的
为什么用websocket,他和http的区别
有没有看过websocket的底层实现原理,他为什么就适合消息推送机制
阻塞队列是怎么实现的,对阻塞队列的理解
对生产者消费者模型的理解
你使用了ConcurrentHashMap,讲一下底层原理,他为啥效率高呢
GSON字符串转换是怎么搞得
怎么保证房间的唯一性
项目优化
学生宿舍管理项目(面试官:这个项目我就简单问问啊,因为没啥可问的点…)
数据库字典标签的设计
主要的技术栈
什么是maven,什么是servlet,什么是tomcat
登录模块中是怎么保证用户登录信息的维持的
不想听session和cookie的区别,要再深入的讲
怎么把字段转换成实体类
filter过滤器是怎么实现的,具体的方法
怎么进行敏感资源的判断
在连接数据库时只用了JDBC吗
来聊聊JVM内存划分,具体讲一下5个区域
说到了1.6-1.7-1.8的变化,问那为什么1.7要把方法区放到本地内存中去,你怎么理解
GC堆说一下,垃圾回收算法,垃圾回收器都说一下(我好像说成了垃圾回收机制,写面经时候才想起来)
CMS四个阶段,哪个阶段会发生STW,哪个阶段不会,为什么
G1收集器说一下
到多线程了:实现同步的方式有几种,分别怎么加锁
为什么会存在线程不安全
LOCK的特点,synchronized特点
ReentrantLock实现原理
不让你用synchronized,Lock这些,你怎么实现线程安全
悲观锁与乐观锁,公平锁和非公平锁
对线程池的理解,线程池中几个重要的参数
问了一个如果当前在一个IO密集型的环境下,怎么设计自己的线程池,怎么修改自己的参数
线程池拒绝策略
来聊一下数据库吧
什么是索引,索引介绍一下
索引的底层实现,hash表,二叉搜索树,B树,B+树都说一下吧
MySQL都有哪些锁,锁的级别
发生死锁怎么办
来写个题:
文件A、B,很大,不能互相拷贝,求这两个文件的交集(说了三种方法之后问,问还有呢emm)
堆排序,递归排序原理说一下,时间空间稳定性
手撕快排,对着你写的代码给我讲一下思路,以及哪些需要注意的边界值情况
快排的时间空间,快排的优化,非递归快排
非技术性格总结下,你的优点,缺点(说了个经验不足之后,还有呢),是21届的吗,最早啥时候能实习
反问:我需要多久能够达到您这样的成就
面试的主要部门是啥(说校招完了之后统一分组)一到两周出二面结果
求个好运吧,希望有三面
三面过了,也有过很多纠结,也有过很多迷茫,在综合考虑很多方面后,毕业来了水滴,北漂路漫漫,一切慢慢来,愿好运。