一面
问的都是基础,类加载过程?序列化id?
集合类?实现Spring IOC?线程池的实现?
二面
1、项目介绍,旧数据库数据移到新数据库怎么实现的?为什么不用binlog?
2、有哪些offer?有头条的offer吗?
3、双11实现的大致过程?那秒杀如何巧妙实现呢?(从秒杀用户中随机选取若干个,使其购买成功)
4、(a+b)*c用什么数据结构存储?栈,或者二叉树
5、序列化id的作用
6、TCP和UDP的区别,使用场景?
- TCP面向连接,可靠传输,相对于UDP效率低,http的get,post等方法使用的就是TCP连接传输数据
- UDP没有连接,不可靠,但是传输速度快,用于视频会议等场合
7、你在淘宝上看了一件商品,然后你去浏览百度网页时,会看到那件商品,为什么?(广告~)
三面
1、synchronize和reentrantlock的区别?LOCK的模板方法有哪些?AQS的实现原理?
2、wait和sleep的区别?sleep没有释放锁,只是让出了时间片
3、叫车服务,有500量符合要求的车,怎么快速选出前10量?
根据车的远近、司机的评分等因素,进行堆排序,时间复杂度500log10
堆排序是稳定的吗?不是,稳定的有哪些?冒泡、插入、归并
4、mysql需要多少次IO?和B+树的高度有关
5、最有成就感的一件事?最有挫折感的一件事?
6、join/fork?用过吗?
7、阿里开源源码看过哪些?用过哪些?socket?dubbo?
8、URL进入SpringMVC后的一系列过程?
9、怎么配置SpringMVC?为什么进入dispatchServlet?
controller、方法、参数等的注解?
四面
1、 项目重点介绍,权限如何设计?
2、 算法 IP地址和int的双向转换
192.168.1.1如何转换成int类型?int类型如何转换成IP地址?用位运算解决
3、最近在学什么技术
学习dubbo,消息队列等,那学了这么多技术,用这些技术做过插件或者小demo吗?目前还没有。
4、有什么要问的?
转正答辩看中什么?
- 内部评估
- 学习能力,上手快不快
- 阿里学习java栈体系
- 对于项目需求的理解,讨论中的表现
- 对技术的热情
总结
前三面评级都是A,四面评级:B+,挂掉了,挂掉的原因,只学到了技术的原理,没有上手~