5.31一面,本来是约的5.29,然后面试官阳改时间了。
===========
一面,50分钟
这个面试官是个年轻的小哥哥,以常规的八股文为主吧,没啥刁钻问题
1进程间的通信方式
2tcp熟悉吗,详细说说三次握手都干了什么,以及每次握手后的状态
3四次挥手了解吗?详细说说。刚提到了一个timewaiting状态,为什么要有这个状态呢?
4集合有哪些呢?哪些是线程安全的集合呢?简单说说他们的实现。
5hashmap的put方法说一下。你刚提到了扩容,那么扩容时其中的元素是如何处理呢?在扩容的时候会有并发问题吗?
6concurrenthashmap了解吗?说说他的原理(1.7,1.8),put方法说一下?
7你刚提到了一个分段锁,那么他的底层是如何实现呢?(提到retrantlock,然后讲了aqs的源码,加到解锁过程)
8讲讲java内存模型
9mysql索引了解吗?什么情况下索引失效呢?
10redis的用法有哪些?
11消息队列如何保证消息不丢?
12你项目中是否出现过缓存与数据库不一致的情况?你是如何处理?一般有哪些处理方法呢?
13你项目中解决缓存血崩的方案是什么?还有其他的方案吗?
14之后就是项目业务相关
赛码网手撕:分解质数乘积:输入90,输出2*3*3*5
反问能对我的表现做一些学习上的建议吗?答:你的基础挺好的,主要是将这些方案弄到实际项目中(项目也没怎么深入问,可能看我项目是个单体小项目没啥兴趣)