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

马上进入求职招聘高峰,总结了一份BAT(阿里、百度等)资深Java相关的面试题合集给到大家。

JVM

  1. JVM内存模型结构
  2. 方法区和直接内存什么时候会oom?
  3. JVM收集器G1的内存模型和CMS的内存模型有什么不同?
  4. jvm调优用过吗?
  5. 如何查看java内存使用情况(jconsole、命令jmap、jstack等等)

集合

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

多线程

  1. 线程的几种状态,请画出具体的状态流转图?
  2. Java wait、sleep的区别?
  3. volatile如何实现指令重排序?
  4. 线程池中的阻塞队列如果满了怎么办(拒绝策略)?
  5. Synchronized和AQS异同,AQS公平非公平如何实现;
  6. 多线程里面对一个整型做加减为啥不能用volatile;
  7. voliatile和synchonized有什么区别?synchonized和jdk提供的Lock包又有什么区别?

算法

  1. 二叉树宽度遍历
  2. 红黑树
  3. 数据结构的话,链表,树,图的基本知识得懂
  4. 了解树的先序遍历,中序遍历,后序遍历。图的广度优先搜索算法,深度优先搜索算法。

Spring

  1. Bean的生命周期;
  2. 什么是DI、为什么DI、DI的类型(构造器注入、方法注入);
  3. Spring boot和spring的差别,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何启动的;
  4. Spring如何解决循环依赖问题;

数据库

  1. Join(inner、left、right)的区别?
  2. Union和union all区别?
  3. ACID,具体是啥意思?
  4. 事务隔离级别?
  5. 幻读和不可重复读的区别?
  6. Mysql和mongodb有啥区别?

计算机网路

  1. RPC和http的区别
  2. 详细描述TCP四次挥手过程

中间件

  1. 秒杀项目会使用到哪些中间件?
  2. 为什么Redis是单线程?
  3. 如何保证Redis和数据库双写一致?
  4. 如何设计一个消息队列中间件?
  5. 分库分表后,id主键如何处理?
  6. 如何设计一个类似Dubbo的RPC?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值