阿里云一面面经——4.8
面试的是阿里云消息队列中间件团队,就是那个搞出RocketMQ的大佬团队。我个人主要做的是开发方向,对这种鸡架几乎一窍不通,能看得出来面试官很想问点我会的,但结果就是我几乎全程在对不起,我不知道。但不得不说阿里云这场面试的体验很好,很多我不会的面试官也一步步引导我,就当刷个经验了(而且我的学校不是23所,能有面试我已经很高兴了)。
1.进程与线程之间的区别
2.redis为什么快?(单线程处理计算密集型任务,reactor处理网络)
3.ssh访问server的整个网络流程是怎样的?(我按照网络七层模型+socket+零拷贝+局域网+互联网这个流程说的)
4.ssh怎么保证安全的?(仿照https的tls握手回答的)
5.Netty为什么快?(零拷贝,直接内存,reactor,epoll)
6.Netty中直接内存的内存池分配算法知道吗?(低头道歉)
7.零拷贝有哪些坏处?(大文件+pagecache情况下的缓存中热点数据失效,小林coding上讲过)
8.除了reactor框架外你还知道哪些框架?(低头道歉)
9.分布中的raft知道吗(说了下选举,面试官笑着说:细节说的不太对哦,我:低头道歉)
10.paxos知道吗(我raft都一知半解,何况paxos?低头道歉)
11.说下你用过哪些RPC框架?(gRPC)
12.gRPC为啥会使用protobuf?(回答了proto编解码,并说了下不同编解码的优劣)
13.编解码中的版本向下兼容策略了解吗?(低头道歉)
14.假如当下让你优化一个RPC框架,你有哪些思路?(他说是开放题,我就从服务发现之类的开始说,扯了好几分钟后面试官打断说动态代理中的优化知道吗?我:低头道歉)
15.说下pulsarMQ与RabbitMQ的不同(我实习用的pulsarMQ,项目用的RabbitMQ,所以面试官才问的)
16.说下pulsarMQ的ack机制(就记得是个分段ack,低头道歉)
17.负载均衡策略有哪些?
18.假如当前某台server的网络请求出现堆积,该怎么排查(场景题?我首先说这个是网络IO堆积,则表明负载均衡的proxy认定该server的CPU或者内存并没有饱和,那么说明不是机器问题。然后说使用linux的命令查看是哪个进程的原因,接着查看是哪个线程的原因。然后去捞日志或者查看监控判断是不是线程运行过慢导致的线程池阻塞等等)
19.拷打实习
手撕:判断链表是否有环,并返回环开头的节点
反问:
1.表现咋样?回答:还行(可以看得出来面试官已经很照顾我的情绪了)
2.怎么提升?(多去了解原理,多看源码,多思考)
3.实习生进去干什么?
#阿里云##阿里云面试##阿里##阿里面试#