一面
首先自我介绍,顺便讲一下自己做的项目
平时用什么工具抓包
说说jvm内存模型
程序计数器干什么
堆里边的内存分布
如何确定对象可以被回收
jvm回收对象的根搜索法,哪些对象可以作为根
什么时候回发生full gc
Java的类加载机制
类,重复加载会有什么问题
为什么会有线程安全的问题
如果只做赋值操作会不会有线程安全的问题
如何解决线程并发的安全问题
线程池有哪些参数,分别介绍一下
线程池如何回收线程
线程池的大小可以动态调整吗
如果想要调节线程池的大小会不会有什么问题
编程题:有多个线程去执行一个任务,如何拿到返回最快的那个线程的结果
乐观锁的性能为什么好
tcp怎么计算超时时间, 是固定的吗?一般是多少
如果syn包丢失了,多长时间会重传
ping是不是tcp协议
服务器有没有遇到time_wait的问题,为什么
去掉time_wait会有什么问题吗
time_wait主要在等什么呢,发生在什么时候
ack为什么不重传?
编程:二叉树的非递归中序遍历算法
n个有序链表合并成一个有序链表,时间复杂度是多少
二面
又说了一遍项目。。
这次面试官基本都是围绕项目来展开的
在项目中有没有发生过内存溢出的问题,如何发现的,解决的
有没有做过一些项目上的优化
netty的几种线程模型
设计题目:设计一个地铁卖票系统
主要考虑的点事如何找到最优线路
三面
又介绍做过的项目。。
MySQL的一致性是如何实现的
分布式事务如何做