时长:50min总结:面试官很看重基础攒人品~~1.Java集合,常见实现类2.Set底层3.HashSet处理重复数据(忽略还是报错)4.多线程操作Set,线程安全怎么实现5.set怎么遍历6.自定义排序怎么实现7.set和list区别,使用场景8.arraylist动态扩容9.arraylist的addAll方法,如果容量为1,addAll一个容量为100000的数组,怎么扩容?(addAll底层)10.Hash因子和Hash冲突11.为什么会产生哈希冲突,哈希值和输入数值为什么不能1:112.常见的哈希函数13.hashmap扩容14.为什么用红黑树15.红黑树的调整,相比平衡二叉树为什么实际应用优秀16.Java的特性17.Default修饰符和Proteted修饰符区别18.接口和抽象类,使用场景区别19.抽象类和抽象方法抽象字段之间的因果关系20.abstract关键字能修饰什么21.枚举类,可以new出来么22.反射,反射的应用,反射存在的问题23.为什么要用ES和Redis24.es索引和b+树索引区别25.ES的索引存储空间占用26.反问