记得大概的一些问题
1.hashmap的实现原理,讲一下?hashmap能存null吗?存在哪里呢?
if (key == null)
return putForNullKey(value);
//那就看看这个putForNullKey是怎么处理的吧。
private V putForNullKey(V value) {
for (Entry<K,V> e = table[0]; e != null; e = e.next) {
if (e.key == null) {
V oldValue = e.value;
e.value = value;
e.recordAccess(this);
return oldValue;
}
}
modCount++;
addEntry(0, null, value, 0);
return null;
}
放在链表的头部。
2.rocketmq如何保证消息的顺序?
消息队列,先进先出。消费保证是单线程的,即可以保证顺序
3.redis实现分布式锁,有什么问题呢?如何解决?
https://www.cnblogs.com/diegodu/p/5807154.html
4、dubbo的spi与jdk的spi有什么不同呢?具体有没有用过?
http://dubbo.apache.org/zh-cn/docs/dev/impls/protocol.html
5、dubbo用的什么协议?为什么要用这种协议呢?
长连接,单线程,多路复用。适合消费者比提供者多。适合数据量小,请求量多的场景。大量请求才能充分利用宽带。
官方介绍:
http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html
6.springcloud用到过你们哪些功能?
用到了熔断、链路跟踪
7、有看过jdk源码吗?有看过spring、dubbo源码吗?
看过部分
8、做得最成功的一个项目是什么?
说一个
9、分库分表有用过吗?
了解没用过
10、如何控制定时任务的执行顺序?
总结:
把问题研究透彻