#快手##字节跳动##腾讯##阿里巴巴##实习#一面 1.131.自我介绍2.实习拷打● 相关流程梳理● 总结一下实习所做的技术难点的地方3.八股● hashmap的数据结构了解吗● hashmap什么时候链表变红黑树,什么时候红黑树变链表● 为什么阈值不一样● hashmapput一个元素的过程● 怎么根据hashcode得到数组下标的● put只能put不存在的元素吗,put存在的元素会发生什么● hashmap怎么扩容的● 一个槽是3,长度是16,扩容后,原本3的槽的元素可能在哪些槽里面● 为什么数组长度是2的n次方● hashmap线程安全吗,想要用线程安全的hashmap用什么东西● concurrenthashmap的底层结构是怎么样的● 1.8后concurrenthashmap的锁粒度是怎么样的● 为什么1.8前后锁粒度会发生这样的变化● violate讲讲他底层● violate除了保证可见性他还能保证什么呢● syn讲讲他底层● synjdk1.8做了优化,不是直接就重量锁,讲讲这个过程● syn公平还是非公平● reentlock讲讲他底层● reentlock公平还是非公平● 讲讲线程池中提交一个任务的过程● 线程池本质上什么模式的典型实现● 线程池的拒绝策略有哪些● jvm怎么判断一个对象能不能被回收● gc roots有哪些东西● jvm有哪些经典的垃圾回收算法,不是垃圾回收器,讲讲区别● 分代收集讲讲● mysql中有一个id,A,B,C index(A,B) select * from where B=?走不走索引,为什么 select * from where A like“hello%”走不走索引,为什么 select * from where A lkie “%hello”走不走索引,为什么 select length(A) from where A=?走不走索引,为什么 select * from where A = ?这条sql语句执行过程 select id from where A = ?这条sql语句执行过程● redis有什么数据结构● redis的zset底层结构● skiplist的随机算法,具体父链表跳几格是怎么算的● zset除了skiplist还有什么● redis对于ttl过期的key是怎么处理的● redis的持久化机制讲讲● AOF文件里面存什么,RDB文件里面存什么● 生产实践中RDB和AOF什么用的多,还是用其他的4.算法一个有序数组,输入一个数字,求这个数字在这个数组中重复的次数