叮铃铃......晚上9:00这次没放我鸽子,电话声响起。告诉我明早可以去面试了。
第二天早早的收拾好,提前半个小时到达面试地点,面试也如约开始了。
美团一面
- 首先是自我介绍,巴拉巴拉,我自己讲了大约15分钟
- 最近做的比较熟悉的项目是哪个,画一下项目技术架构图?
- JVM老年代和新生代的比例?
- YGC和FGC发生的具体场景?
- Jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?
- 线程池的构造类的方法的5个参数的具体意义?
- 单机上一个线程池正在处理服务如果忽然断电怎么办(正在处理和阻塞队列里的请求怎么处理)?
- 使用无界阻塞队列会出现什么问题?
- 接口如何处理重复请求?
美团二面和三面
一Jvm相关
1. 对象在jvm中是怎么存储的?
2. 对象头信息里面有哪些东西?
3. Jvm内部如何划分?常量池在哪里
4. 些一段小程序是栈溢出,堆溢出
二GC
5. GC Root如何确定,哪些对象可以作为GC Root?
6. Gc如何分代的?每代使用什么算法进行垃圾回收
7. CMS过程是怎么样的?内部使用什么算法做垃圾回收
8. 分代垃圾回收过程
三并发相关
9. java中有哪几种锁
10. Synchronized内部原理
11. RenntrantLock内部实现原理
12. HashMap,HashTable,ConcurrentHashMap区别?内部实现?
13. 原子类内部如何实现的?
四数据库相关
14. innoDB索引数据库结构
15. BTree 、B+Tree区别?为什么使用B+树
五算法
16. 写程序判断一棵树是不是完全对称的二叉树
17. 写程序判断二叉树是不是相同
六其它
18 comparable和comparator的区别
19内存溢出和内存泄露分别指什么
1. 项目介绍
2. 开源架构:RoketMq设计介绍,kafaka和rabbitmq底层原理
美团四面
1. 项目介绍
2. Dubbo如何提供服务?有机器宕机怎么检测出来?如何找到服务
3. Zk如何管理服务和配置
4. Tair与redis有什么区别
5. Redis是单例的吗
6. Mysql的整体架构是怎么实现的
7. Innodb索引
8. Innodb主键索引和非主键索引区别
9. 了解java的nio吗
10. hashMap与concurrenHashMap比较
11. 介绍一下java多线程
12. 线程之间如何通信
13. 项目开发流程,如何推动了解整个项目情况
最后总结
通过这一轮的面试实战,我总结下某大厂核心部门简历评估、技术面试的要求有几方面
简历评估、初筛 :
1、 学校背景,top 20学校 软件工程专业加分,211学校加分
2、 职业经历,是否具有互联网从业背景,自毕业以来一直待在BATJ&TMD&FLAG加分
3、 项目背景,有中间件研发背景加分,开源组件贡献者加分,项目深度广度、与现有业务匹配度加分
4、其他因素,是否跳槽频繁,kpi得分等等
最后把我一直在看的面试文档分享给大家,希望能对大家有所帮助,都能拿到自己心仪的那个offer。
因为涉及的知识面太广了,不能把所有的学习笔记和面试题目全部展示出来。笔者这里已经都整理好了,有想获取到学习参考的朋友可以点击此处来获取就可以了!