Java面经合集:CMS+红黑树+线程状态+事务隔离+中间件

马上进入求职招聘高峰,总结了一份BAT(阿里、百度等)资深Java相关的面试题合集给到大家,希望在接下来的面试求职中会对大家有所帮助。

文末有相关的2019最新BAT资深java面试题答案~用于参考

JVM
JVM内存模型结构
JVM的垃圾回收算法?
JVM有哪些GC,各自的区别?
方法区和直接内存什么时候会oom?
JVM收集器G1的内存模型和CMS的内存模型有什么不同?
jvm调优用过吗?
如何查看java内存使用情况(jconsole、命令jmap、jstack等等)

集合
Arraylist、linkedlist差异,应用场景;
HashMap在JDK1.8有哪些改动?
HashCurrentMap和HashMap的区别在哪里?
Hashmap什么时候使用红黑树?

多线程
线程的几种状态,请画出具体的状态流转图?
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四次挥手过程
中间件
秒杀项目会使用到哪些中间件?
为什么Redis是单线程?
如何保证Redis和数据库双写一致?
如何设计一个消息队列中间件?
分库分表后,id主键如何处理?
如何设计一个类似Dubbo的RPC?
以上就总结的资深BAT(阿里、百度等) Java面试题合集,以下是小编整理的一套面试导图,以及高级Java必考题答案(已整理为pdf文档),用于参考~

Java面经合集:CMS+红黑树+线程状态+事务隔离+中间件

Java面经合集:CMS+红黑树+线程状态+事务隔离+中间件

全面覆盖:阿里、腾讯、字节跳动、百度、拼多多、京东、美团等一线知名互联网企业。

内容包括:redis、高并发、多线程、微服务、分布式、MySQL、数据库、线程、锁、jvm、Java虚拟机、spring等。

领取方式:点击链接加入群聊【Java进阶架构学习交流】:https://jq.qq.com/?_wv=1027&k=5ieAHh6 免费领取

猜你喜欢

转载自blog.51cto.com/14207399/2436872