题1: 如何设计一个HashMap 先自己说了结构,使用拉链法来解决冲突,有一个Node(单链表)的数组table,还有数组长度一般设置为2的幂次,容量、加载因子和阈值。然后面试官一直没说话,我就继续讲了它的put方法,根据对象的hashcode的值,可以先做一下高位与低位的与操作增大随机性得到hash值。通过hash值与(数组长度-1)相与操作,相当于取模操作来确定在table中的位置。然后通过equals方法确定在链表有无存在,没有存在则添加进链表,已存在的话则更新值。 我说完又是沉默了好几秒,然后不知道是不是网络或是其它原因,视频面试挂断了。然后面试官马上重新发起面试邀请。 ...