一.手撕部分1. 分解质因数 (没想到只是找个实习要写算法,关键是还不会呜呜呜)2. 写一下stream流的那些用法二.项目:1.问了断点续传的流程前端发送请求上传分块带上name和分块号-》后端检查分块再插入-》前端发送请求合并-》后端合并并且检验md52.项目中分布式锁是怎么设计的三.八股1. 常见的集合集合主要分为Collection和Map,包括ArrayList,CopyOnWriteArrayLIst,Vector,HashMap,ConcurrentHashMap,HashSet,TreeSet2. 说一下hashMap什么时候链表会变成红黑树?HashMap中一个链表容量大于8并且元素数量超过64时(太久没背了,前面忘了,唉)3. 线程池的核心参数核心线程鼠,最大线程数,线程存活时间,单位,阻塞队列,线程工厂,拒绝策略4.线程五种状态创建-》就绪-》运行-》阻塞/销毁5.redis主要是用来做什么的,为什么要redis缓存热点数据,加强响应速度,减少数据库压力6.java是怎么实现内存共享的,主要用于什么地方java使用valitile关键字实现,主要用于原字增强类用于修饰的value7。解决高并发的主要三个要素保证可见性,有序性和原子性8.说一下AQS这个不太会说,就说了规定了高并发下用于规定线程的行为9.说一下你认为的线程不安全的情况只回答了常见的先读后写的问题10.说一下elasticSearch主要是做什么的这个自己太久没用了,大概说了点就是elastic是根据关键字打分,也用来存储信息,但是可以利用其倒排索引的特性来更好的查询数据提高用户体验四.总结面试官人挺好的,自己还是太菜了,这只是一个实习面试,面了一个小时,这几天天天内耗,八股忘了好多,准备找个实习备春招了