猫眼java岗面经
猫眼一二三面面经,发出来攒攒人品
1、osi七层网络模型,五层网络模型,每次层分别有哪些协议
2、tcp三次握手,四次挥手过程以及三次握手四次挥手的原因,timewait的原型,icmp属于
3、tcp拥塞控制机制,慢开始,拥塞避免,快重传,快恢复
4、乐观锁 和悲观锁
5、死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决
6、简述快排的思想、手写快排,以及最好情况下时间复杂度最低的是那种排序
7、虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型
8、虚拟机调优参数
9、如何判断链表有环
10、线程和进程的区别
11、进程间的通信
12、会那些设计模式,单例模式,工厂模式,***模式,装饰器模式
13、hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同
14、volita的两层语意,不能保证原子性,原子类
15、数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁
16、b+树和b数的区别,b+数的具体结构
17、聚簇索引和非聚簇索引的区别
18、innnodb和myisam的区别,各自的b数索引叶子节点分别存储什么
19、全文索引,索引什么时候会失效
20、索引的优化,最左前缀原则
21、 synchronized和reetrantlock锁
22、如何实现让一个线程等待其他线程完成后在执行
22、AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁
23、aop和ioc理解和原理,反射,cglib***,动态***,如何实现
24、线程池的参数,各种线程池
25、数据库三大范式
26、string ,stringbuild,stringbuffer区别,string内部结构
27、拆箱装箱的原理
28、springboot的启动流程
29、md5加密的原理
30、 Lambda表达式
31、如何实现list和map
以上是一二面合在一起的
三面全程就撕一道代码题,没撕好,感觉可能会凉在这一面了