![image.png](https://static.studygolang.com/190319/daec76948c5b56ddfb7472b568c1c0cf.png)
**前言**
现在是求职招聘高峰,总结了一份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包又有什么区别?
必问多线程面试题总结,“金三银四”不留遗憾
https://zhuanlan.zhihu.com/p/57765133
**算法**
- 二叉树宽度遍历
- 红黑树
- 数据结构的话,链表,树,图的基本知识得懂
- 了解树的先序遍历,中序遍历,后序遍历。图的广度优先搜索算法,深度优先搜索算法。
**Spring**
- Bean的生命周期;
- 什么是DI、为什么DI、DI的类型(构造器注入、方法注入);
- Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的;
- Spring如何解决循环依赖问题
最全Spring面试题总结,“金三银四”披件外衣不怕冷!
https://zhuanlan.zhihu.com/p/57829636
**数据库**
- Join(inner、left、right)的区别?
- Union和union all区别?
- ACID,具体是啥意思?
- 事务隔离级别?
- 幻读和不可重复读的区别?
- Mysql和mongodb有啥区别?
**计算机网路**
- RPC和http的区别
- 详细描述TCP四次挥手过程
**Java中间件**
- 秒杀项目会使用到哪些中间件?
- 为什么Redis是单线程?
- 如何保证Redis和数据库双写一致?
- 如何设计一个消息队列中间件?
- 分库分表后,id主键如何处理?
- 如何设计一个类似Dubbo的RPC?
**最后**
针对于上面的面试问到的知识点我总结出了适合于工作2-5年以上开发经验的java程序员在面试中涉及到的绝大部分架构面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也可以关注我一下以后会有更多干货分享。
**资料领取方式:加Q群:721886889 领取!**
**点击链接加入群聊【Java攻城狮探讨交流群】**:https://jq.qq.com/?_wv=1027&k=5dMNHo0
![image.png](https://static.studygolang.com/190313/f84baf8ba66d3c21bfa263bf88fd156b.png)
有疑问加站长微信联系(非本文作者)