总结
虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。
上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料
有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
3、分布式事物与分布式锁(扣款不要出现负数)
4、分布式session设置
5、执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)
6、Zookeeper有哪些用
7、JVM内存模型
8、数据库垂直和水平拆分
9、MyBatis如何分页;如何设置缓存;MySQL分页
10、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别
11、分布式session一致性
12、分布式接口的幂等性设计「不能重复扣款」
===========================================================================
1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图
2、JVM老年代和新生代的比例?
3、YGC和FGC发生的具体场景
4、jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?
5、线程池的构造类的方法的5个参数的具体意义?
6、单机上一个线程池正在处理服务如果忽然断电该怎么办?(正在处理和阻塞队列里的请求怎么处理)?
7、使用无界阻塞队列会出现什么问题?
8、接口如何处理重复请求?
9、具体处理方案是什么?
10、如何保证共享变量修改时的原子性?
11、设计一个对外服务的接口实现类,在1,2,3这三个主机(对应不同IP)上实现负载均衡和顺序轮询机制(考虑并发)
===========================================================================
1、自我介绍,技术特点
2、兴趣是什么,优势是什么
3、jvm,jre以及jdk三者之间的关系?
4、Dubbo的底层原理,Zookeeper是什么
5、cincurrentMap的机制;TreeMap;Volatil关键字
6、快速排序;广度优先搜索(队列实现)
7、缓存的雪崩以及穿透的理解?
8、HashMap的key可以重复吗?
9、synchronized和lock的区别?
10.开发一个大型网站你会考虑哪些问题?
小编总结的结论:
通过面试题来看,可以看出目前互联网公司面试考点为:
1.性能调优、算法数据机构(基本都会问的)
2.高并发下数据安全、接口冪等性、原子性等
3.分布式下协同、已经锁的处理
4.数据库的分库分表、项目之间的垂直拆分
出现频率高的技术点有:
1.HashMap
2.JVM
最后
笔者已经把面试题和答案整理成了面试专题文档
CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**