60min,面试官态度很好,还很有耐心
0、自我介绍
1、三次握手
2、四次挥手,每一次挥手之后客户端和服务器的状态,为什么TIME_WAIT是2倍最大报文存活时间
3、NIO和BIO的区别,select和epoll的底层原理
4、同步和异步的区别,异步底层的实现原理
5、Bean的生命周期
6、BeanDefinitionReader是怎么读取XML中的配置的
7、Bean实例的创建有哪几种方式
8、AOP的理解,代理方式,代理底层怎么实现的
9、SpringMVC的流程,View输出的是什么,HandlerAdapter的作用是什么,JSP懂不,servlet懂不
10、线程池,拒绝策略,任务执行流程,worker线程管理
11、synchronized和Lock的区别,sync在jvm里怎么实现的,公平和非公平的区别,抢占是怎么体现的,是队列里的线程去抢占锁吗,AQS解释一下
12、数据库的事务并发有哪几种,隔离级别有哪几种,还有哪种方式可以解决幻读
13、MVCC
14、反问
二面时间7.27
0、没让自我介绍
1、项目中遇到什么困难
2、沾包半包问题怎么解决
3、你的自定义协议怎么设计的
4、讲讲reactor
5、编解码在reactor的哪一步
6、超时重传和快重传
7、算法题:给定一个数组,找出频率最高的前m个数
总结:不足的地方很多,活该被挂。面试官给我一句话印象深刻,“你科班的竟然不知道快重传!?”



