一面
- 自我介绍
- 以往一个项目介绍
- Mysql不同存储引擎介绍
- InnoDB和MyISAM不同点
- redis数据类型有哪些,以往项目中哪里有用到
- redis怎么保证同步
- redis怎么实现分布式锁
- Mysql不同索引的数据结构
- JWT的优点,为什么之前项目去用了
- HashMap数据结构介绍
- JVM各个区域及主要作用介绍
- Java会内存泄漏吗,内存泄漏后该怎么办
- 手写算法(给一个文件和一个字符串,查出这个文件中该字符串出现了多少次,需要写出读文件和字符串匹配操作)(我是用缓存流去做的,字符串匹配KMP算法不知道咋写,直接写的两层循环简单模式匹配算法)
- 给一个场景手写Mysql语句,查出成绩表中语文和数学成绩大于90的人数(select count(*), classes from source group by classes having (classes = '数学' or classes = '语文') and sc > 90)
- 反问
(是一个女面试官给面的,能够感觉到面试官已经很累了,可能是面了一天了,辛苦辛苦)
(按常例还是来一个)
二面
不知道是否是越往后越难,感觉这回58问的比之前批次二面难,答得不是特别好。
- 自我介绍
- 线程池原理
- 线程数量设置考虑
- 单处理器线程设置
- Sychronized和ReetrentLock的区别和各自的使用场景
- Sychronized自旋优化升级的优点,为什么为要自旋优化
- Sychronized1.6较之前版本改进在哪里
- voliate怎么能保证有序性和可见性,为什么不能保障原子性
- 单例模式为什么要用voliate修饰
- i++这种操作从指令重排序角度说一说为什么是线程不安全的,怎么保障安全(原子类或锁)
- 指令重排序优化依据是什么,为什么要进行指令重排序
- 数据库聚簇索引数据结构是什么,为什么要用这种数据结构,聚簇索引的缺点是什么
- 线程有几种状态,sleep和wait分别会进入什么状态
- 线程sleep会释放cpu资源吗
- 线程sleep(0)有什么作用
- TCP如何保障流量控制和拥塞控制
- 网络的两种状态,close wait和time wait,什么情况下time wait会堆积
- 数据库having和where有什么区别(语法和功能两方面)
- String str = new String(“123”);过程创建了几个对象
- HashMap为什么初始容量设置为16
- 快速失败机制了解
- ArrayList怎么检查快速失败,说出过程(有个变量,每次修改都会+1)
- 怎么避免快速失败,有哪些方法(JUC容器,CopyOnWrite,锁)
- 数据结构,给一个先序遍历和后序遍历能否确定一棵树(不能)
- 数据结构,为什么通过先序和后序不能唯一确定一颗树(没办法区分左子树右子树区间)
- 补充:还有几个问题记不清了
HR面
常规HR问的问题
按常理来求一个
全部评论
(4) 回帖