阿里Java一面题目
-
osi七层网络模型,五层网络模型,每次层分别有哪些协议
-
死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决
-
如何判断链表有环
-
虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型
-
虚拟机调优参数
-
拆箱装箱的原理
-
JVM垃圾回收算法
-
CMS G1
-
hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同
-
md5加密的原理
-
有多少种方法可以让线程阻塞,能说多少说多少
-
synchronized和reetrantlock锁
-
AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁
阿里Java二面题目
-
B-Tree索引,myisam和innodb中索引的区别
-
BIO和NIO的应用场景
-
讲讲threadlocal
-
数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁
-
数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决?
-
数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?
-
共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗?
-
Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
阿里Java三面题目
-
高并发时怎么限流
-
线程池的拒接任务策略
-
springboot的启动流程
-
集群、负载均衡、分布式、数据一致性的区别与关系
-
数据库如果让你来垂直和水平拆分,谁先拆分,拆分的原则有哪些(单表数据量多大拆)
-
最后谈谈Redis、Kafka、 Dubbo,各自的设计原理和应用场景