如果让你来做HashMap扩容,如何实现在不影响读写的情况下扩容?

时间:2023-03-08 20:10:37

我觉得逼格高,不是体现在问题多刁钻,知识点多深,而是一个非常明确,无歧义的问题,能考察出面试者多方面的能力。这个问题背后:
1.了解java中,HashMap的实现;如果一个面试者了解这一点,说明至少他关心过java提供的数据类型的实现,甚至极可能看过源码,他应该不会是一个纯粹的苦力。
2.知道『不影响读写的情况下扩容』是什么含义,说明他在工作中了解多线程的相关知识。
3.如果他能提到ConcurrentHashMap中的相关内容,说明他日常编程中有使用到concurrent包,可以继续聊聊,否则他对多线程的使用可能非常初级。
4.如果他能提出一些解决方案,即使不完整,也能看出他对类似cas等算法、分布式一致性等问题的了解程度。

作者:章孜
链接:https://www.zhihu.com/question/53673888/answer/136275541
来源:知乎
著作权归作者所有,转载请联系作者获得授权。