马上进入求职招聘高峰,总结了一份BAT(阿里、百度等)资深Java相关的面试题答案合集给到大家。
该板块的各面试章节,后续会持续迭代更新最新一线互联网公司的面试题目,建议收藏该页面,不定期更新查看~
Java虚拟机(JVM)
- JVM内存模型结构
- 方法区和直接内存什么时候会oom?
- JVM收集器G1的内存模型和CMS的内存模型有什么不同?
- jvm调优用过吗?
- 如何查看java内存使用情况(jconsole、命令jmap、jstack等等)
Java集合类与并发容器
- Arraylist、linkedlist差异,应用场景;
- HashMap在JDK1.8有哪些改动?
- HashCurrentMap和HashMap的区别在哪里?
- Hashmap什么时候使用红黑树?
Java多线程
- 线程的几种状态,请画出具体的状态流转图?
- Java wait、sleep的区别?
- volatile如何实现指令重排序?
- 线程池中的阻塞队列如果满了怎么办(拒绝策略)?
- Synchronized和AQS异同,AQS公平非公平如何实现;
- 多线程里面对一个整型做加减为啥不能用volatile;
- voliatile和synchonized有什么区别?synchonized和jdk提供的Lock包又有什么区别?
算法
- 二叉树宽度遍历
- 红黑树
- 数据结构的话,链表,树,图的基本知识得懂
- 了解树的先序遍历,中序遍历,后序遍历。图的广度优先搜索算法,深度优先搜索算法。
Spring
- Bean的生命周期;
- 什么是DI、为什么DI、DI的类型(构造器注入、方法注入);
- Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的;
- Spring如何解决循环依赖问题;
数据库
- Join(inner、left、right)的区别?
- Union和union all区别?
- ACID,具体是啥意思?
- 事务隔离级别?
- 幻读和不可重复读的区别?
- Mysql和mongodb有啥区别?
计算机网路
- RPC和http的区别
- 详细描述TCP四次挥手过程
Java中间件
- 秒杀项目会使用到哪些中间件?
- 为什么Redis是单线程?
- 如何保证Redis和数据库双写一致?
- 如何设计一个消息队列中间件?
- 分库分表后,id主键如何处理?
- 如何设计一个类似Dubbo的RPC?
最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法以及最新的简历模板等学习资料,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友扫描下方二维码免费获取:暗号:【CSDN】
看完三件事❤️
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
-
点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
-
关注公众号 『 java烂猪皮 』,不定期分享原创知识。
-
同时可以期待后续文章ing🚀
-
.关注后回复【666】扫码即可获取学习资料包