一面
主要还是项目、工作经历和java基础吧,聊半小时左右吧
二面
1. java项目相关的有吗?
2.并发包相关的用过啥
3.线程池
4. Threadlocal,成员变量属于谁?(答主线程。。面试官比较好引导下,属于每个线程,毕竟线程局部变量)
5. ConcurrentHashMap为啥线程安全,底层结构(先说了HashMap的,顺嘴说了句jdk1.8转红黑树)
6.红黑树查询时间复杂度(普通二叉树O(logn),红黑树是特殊二叉树,有一些性质,查询效率应该也是O(logn)??不记得的)
7.那说下红黑树的性质吧(要不是视频都要抽自己了,就记得有四个性质,说不上来,基础好久没看了)
8.场景题:单元测试,要求1:4个测试线程同时启动;要求2:4个结束后对共享变量进行检测,提示我可以用并发包(我刚才都没想到有啥,这咋搞)。刚开始是懵的,说用刚才的
Threadlocal设置变量,因为线程隔离能对比验证,面试官纠正只关注线程的,,然后就有想法了,要求1同时启动就start后wait下,等都start后再notifyall,OK,过了;要求2真想
问的其实是同时结束怎么知道,那就设flag 变量呗,再进行检测,那设几个呢,那其他的还没结束咋办,哦是啊,那四个吧,OK,能解决问题,但四份修改代码不是最优的
9. TCP的滑动窗口
10. TCP拥塞控制(问问题都包装了下,没那么直白)
11. TCP拆包与粘包
12. 算法:20G数据,有大数有小数,不超过long,怎么去除top100
全部评论
(2) 回帖