全程75min笔试(leetcode原题反转字符串中的单词,第二题动态规划)一、JAVA方面1.集合相关有哪些集合,你常用的集合有哪些HashMap发生哈希冲突是怎么解决的HashMap为什么是二的n次幂(大概是这样)你常见的二叉树有哪些(中间他问了一句红黑树是二叉树吗?我说是,后面他说红黑树是什么三树四树之类的)你有没有实际使用过二叉树(我说哈希表里面有用到红黑树)2.面向对象相关JAVA中多态是怎么实现的static方法和非static方法的区别(我说了非static方法可以调用static方法)如果继承的类和实现的接口有重名的方法会怎么样二、多线程相关进程线程的区别单核CPU能应用多线程吗并行;并发的区别线程池的队列是怎么实现的如何考量用哪种队列为什么不直接用多个线程去执行任务而用线程池JAVA的锁有哪些偏向锁有什么作用ReentrantLock和Synchronized有什么区别三、MYSQL相关索引的作用索引有哪些类别怎么去根据实际业务去创建索引四、Redis相关常见的数据结构跳表;跳表一般用于干嘛你是怎么用分布式锁的分布式锁怎么释放锁缓存雪崩怎么解决5.22早上收到的感谢信,面试体验最好的一次,手撕依旧没撕出来(去除中间多余空格的逻辑错了),感觉跟面试官聊得也挺好的,如果手撕做出来了的话应该能过吧。