开始先是手撕算法两道
操作系统 和 数据结构
常用算法
数据结构
Jvm
使用框架、底层原理
MySql
redis
分享一份大彬精心整理的大厂面试手册,包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等高频面试题,非常实用,有小伙伴靠着这份手册拿过字节offer~
需要的小伙伴可以自行下载:
链接:https://pan.xunlei.com/s/VNgU60NQQNSDaEy9z955oufbA1?pwd=y9fy#
备用链接:https://pan.quark.cn/s/cbbb681e7c19
Java基础
计网、Linux
Java基础加深、线程、锁、数据机构等等
框架Spring,代理
收尾的小问题
1、聊项目
2、线程的几种状态
3、线程池的状态
4、线程池的运行过程
5、如何合理地配置线程池
6、怎么实现阻塞队列
7、怎么监控线程池的运行状态,答的用一些线程监控的工具,面试官说指代码层面上,只争对线程池,没答上
线程池执行类ThreadPoolExecutor给了相关的API来监控某一个线程池的执行状态,能实时获取线程池当前活动线程数、正在排队线程数、已执行线程数、总线程数等。
ThreadPoolExecutor tpe = ((ThreadPoolExecutor) es);
while (true) {
System.out.println();
int queueSize = tpe.getQueue().size();
System.out.println("当前排队线程数:" + queueSize);
int activeCount = tpe.getActiveCount();
System.out.println("当前活动线程数:" + activeCount);
long completedTaskCount = tpe.getCompletedTaskCount();
System.out.println("执行完成线程数:" + completedTaskCount);
long taskCount = tpe.getTaskCount();
System.out.println("总线程数:" + taskCount);
Thread.sleep(3000);
}
8、java中有几种锁
9、锁升级的过程(自旋的缺点,CAS有什么不足)
10、对象头的结构
11、synchronized和ReentrantLock区别
12、ReentrantLock是怎么实现的,讲到AQS,顺便说了AQS
13、还有哪些基于AQS的同步工具
14、volatile作用
15、volatile怎么保证可见性和防止指令重排序
16、mysql的隔离级别
17、事务acid
18、mysql如何保证acid
19、redo log和undo log区别
20、redo log和undo log是如何生成的(这块细节忘了,只说了先写内存,然后再刷盘)
21、介绍几种消息队列
22、说说rabittmq架构(说了分为虚拟机、交换机和队列,然后说了下消息的传递过程,面试官否认了,说这只是应用层面)
23、jvm的内存模型
24、对象什么情况会进去老年代
25、spring ioc aop
26、注解底层怎么实现的(动态代理)
27、注解失效有哪些原因(自己还经历过@Transaction失效的bug的,当时没答上来,被自己气死)
28、bean的加载过程
算法:有序数组生成平衡二叉树,当时已满60分钟,面试官给了5分钟的时间限制,看我思考了一会,问我有没有思路,我说暂时还没,然后就换了一道题
1、聊项目
2、mysql默认隔离级别
3、如何实现可重复读
4、如何解决幻读
5、间隙锁和nextkey锁
6、mysql锁是锁的什么(索引)
7、mysql的索引结构,有什么优点
8、怎么实现读写分离
9、主从复制是怎么实现同步的,答传bin log文件,后续数据更新怎么同步,答mysq不了解,但我知道redis主从复制后续是通过一个复制缓存区来记录新增的命令,通过发送这些命令实现同步
10、说说redis架构(单线程,io多路复用)
11、redis的底层数据结构知道吗(只知道用到了跳表,然后说了下跳表)
12、缓存穿透和缓存雪崩,解决方法
13、缓存和数据库怎么保证一致性
14、说说threadlocal怎么实现的
15、threadlocalmap中key为啥要用弱引用,key被gc后value怎么办
16、说说四种引用
17、spring事务传播机制
18、spring如何解决循环依赖
19、说说tcp协议
20、tcp如何保证不会接受重复的报文
21、tcp如何保证有序
算法:lc124. 二叉树中的最大路径和
部门:商业化技术部
反问:对应届生的要求。
最后给大家分享200多本计算机经典书籍PDF电子书,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构和算法、机器学习、编程人生等,感兴趣的小伙伴可以自取:
200多本计算机经典书籍PDF电子书:https://pan.xunlei.com/s/VNlmlh9jBl42w0QH2l4AJaWGA1?pwd=j8eq#
备用链接:https://pan.quark.cn/s/3f1321952a16