快手后端一面面经
1.在阿里云实习怎么做的?组里做的是什么?需求来了你是怎么上手做的?有什么成长,技术上学到什么?我说了个具体的例子,主要聊了消息队列解耦,还有学习内部技术论坛的帖子。
2.什么情况下应该去解耦?聊得不算很好。
3.聊一个技术论坛上看到的最有收获的技术。聊了 RocketMQ和Kafka区别,零拷贝,存储,高可用,namespace等等。
4.如果你在一个新团队,你怎么选择用RMQ还是Kafka呢?我主要说看业务场景和企业基础建设。
5.https和http区别。讲了https加密过程,数字证书。反问我那请求时候的url会不会加密呢?回答没了解过
6.去哪申请数字证书?了解过有证书颁发机构,具体不知道。
7.如果私钥泄漏了该怎么办?我先回答换私钥,他问还有呢?私钥泄漏了中间人就可以拿到数字证书了。然后我回答去废弃老的数字证书。
8.tcp和udp区别?聊了udp不可靠,聊了qq之前的实现(用udp改的,所以QQ聊天会乱序)。他问我那想要udp快捷但是不乱序怎么办?能从应用层改吗?我说感觉还是得从传输层改udp协议。
9.synchronized和reentrantlock区别10.hashmap底层
11.String怎么保证不可变的?答了字符串常量池(感觉他想让我说String底层用的final)12.项目里乐观锁防超卖咋做的?13.gc日志看了什么?
14.项目用的哪个垃圾回收器?
15.sql注入是什么?怎么防范?我说用安全包防范,他问我包里面那些具体实现。只回答了一个字符串过滤。
16.iwt是怎么实现的?聊了无状态,签名算法。他问我签名算法有哪些?保证了什么性质?聊得不太好。
算法:两个有序list合并