面试
一面电话
时长:30分钟
实际:25分钟的样子
难度:一般
- Nacos注册中心原理
从raft选举到pull、push整个流程
- Dubbo调用原理
首先跟面试官说了dubbo怎么把服务注册到nacos中,再到从nacos中获取注册服务列表,调用的几种方式和负载均衡算法
- Dubbo中3个消费者、4个提供者共建立了多少个连接
这个题回答了好久,主要是前面问了nacos,还以为dubbo跟nacos建立了多少链接,后面面试官说消费者和提供者怎么连接的
我:默认是dubbo协议
面试官:dubbo底层用了什么
我:TCP
面试官:难道发送一次请求就立马断掉连接吗
擦… 秒懂,所以面试的时候一定要细心听清楚问题
- Redis中什么是缓存穿透和缓存击穿,怎么解决
…说了很多,面试来了句缓存击穿用分布式锁那不等于后面请求都是串行的,后面说了好几种方式发现都不行… 这个问题就这么过了
- Redis为什么这么快
数据存储在内存中、多路复用…说了每个数据结构比如string用的是SDS、zset用了跳表和压缩列表…
- 在高版本中Redis用了多线程怎么保证线程安全的
命令解析用的是多线程,其它还是单线程处理
上午面试的,下午HR就给预约了二面,说需要电脑要写代码,慌的一塌糊涂
二面视频(需要写代码)
视频一
时长:60分钟
实际:50分钟的样子
难度:一般
晕了。。。。问了些什么都忘记了,只记得两道编程题
大约问了10分钟的八股文就开始写代码,我说用IDEA可行,他说太麻烦了,直接用的是腾讯文档共享写的, 慌。。。。。。
- 二分查找
这个简单^ ^
public int binSearch(int[] array, int value) {
int lng = array.length;
int median = lng >> 1;
if (array[median] == value) {
return median;
}
int start = 0;
int end = lng - 1;
while (start <= end) {