看的也是小林 Coding
他提到的重点有:

  • HashMap:put 过程、扩容机制、为什么初始容量是 2 的幂次、链表转红黑树的条件,这些几乎每次都会问,而且很容易被追问到细节。
  • ConcurrentHashMap:JDK 1.7 的分段锁和 JDK 1.8 的 CAS + synchronized 方案的区别,是并发面试里的高频考点。
  • ArrayList 的线程安全问题:为什么不安全、具体会出现哪些问题、有哪些替代方案,这个看起来简单但答起来很容易流于表面。
  • equals 和 hashCode 的关系:这两个方法为什么要配套重写,放到 HashMap 和 HashSet 里会有什么影响,基础但经常被忽略。

先搞清楚ArrayList 和 HashMap 的底层原理

概念
List
Set
Map