一面
大概就面了20来分钟
首先自我介绍,然后面试官一直问科研项目,项目里的难点。以及自己的收获,问了大概20分钟(折磨),问完科研之后,简单问了多线程,以及自己在哪些地方用过多线程,我举了自己华为软挑比赛的例子。最后就反问环节。
二面
1.Java集合中的list有哪些、区别、是否是线程安全的?它们如何实现线程安全?
2.Map有哪些?HashMap JDK7和JDK8有哪些不同,扩容机制了解吗?HashMap JDK7 中会发生死循环,了解过吗?
3.说下ConcurrentHashMap
4.JVM内存模型、垃圾回收、类加载模型
5.Java创建线程的几种方式,线程池有哪些参数及线程池的处理流程
6.sleep和wait方法的区别
7.事务的ACID、MySQL的隔离级别有哪些
8.哪些字段适合创建索引,哪些情景需要创建索引,联合索引使用时需要满足什么,全文索引,having?
9.MySQL乐观锁悲观锁,InnoDB实现的原理
10.volatile关键字、ThreadLocal
三面
1.做个自我介绍吧。
2.你平时是怎么学习技术的呢?
3.看你的项目,咱们聊聊分布式吧。
4.raft 的缺点,怎么解决?
5.你了解哪些一致性协议?
6.zab 和 raft 比较一下?zab 设置 observer 的好处,坏处?
7.multi-raft 谈一下?
8.cap 了解吗?为什么不能都保证?raft 保证了什么?
9.gossip 了解吗?redis 集群是怎么做到一致性的?
10.有哪些场景需要保证强一致性,有哪些场景需要保证最终一致性?
11.为什么有些场景需要保证可用性?
12.hbase 了解吗?
13.netty 的性能为什么好?pb 的序列化协议为什么性能好?
14.零拷贝讲一下?
15.select 和 epoll 的区别?
16.命令模式了解吗?给我讲一下?
17.代理模式讲一下?应用场景?aop 的实现为什么要用动态代理?
18.raft 的 leader 选举过程?
19.raft 的日志复制过程?
20.日志复制如果使用 follower 来接收日志,leader 崩掉,日志不一致的情况,
怎么设计日志复制功能。
21.es 的前缀查询了解吗?
22.怎么实现一个前缀查询?
23.前缀树存中文的问题?怎么解决?
24.做一道题吧:
一个一维数组,全是0 和 1,找最长的 1 子数组。
拓展一下:一个二维数组,找最大的1 的矩阵 。
- 线程池、参数详解?你怎么设置参数(I/O 密集型、计算密集型)
26.JVM 内存区域
27.如何排查一下线上 OOM 问题?
28.类加载机制?
29.双亲委派?tomcat 如何打破的
30.你最近读什么书吗?
31.你有什么想问我的吗?
我的面试经验汇总
下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
SpringCloud
Redis
JVM
MySQL
Zookeeper
Kafka
Dubbo
spring
Rabbitmq
springboot
最后
由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。
有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!