前情提要
这是一个发生在我朋友身上的真实事情:
这里就叫他 程序员Y 吧。
程序员Y 工作不到两年,周末在朋友圈发了个喜报,准备入职美团。
之后,我就带着祝福跟Y聊了许久,聊天的内容就是具体了解一下他面试的过程,心路历程和未来的打算。
之所以今天才发文章,是因为我一直在等他整理面试问的内容。今天正好就一并分享出来。
严格来讲是三面,但是Y笑着说其实只有二面...
美团一面 (80min)
(为保证内容纯正,下面的语言是由程序员Y自己整理的,霸哥没有任何改动)
面试主要是从一个系统设计出发,考察基础跟项目架构经验。 美团相当重视基础问题(计算机网络、操作系统)
主要是围绕一个系统优化来的,下面就只写中间问的几个点:
- 线程池用过哪些,线程池有哪些参数,然后问我几个常用线程池的用法和实际场景问题。
- 集合框架的知识,hashmap,ArrayList,LinkedList源码相关知识,基本整个介绍了一遍,与hastable,concurrenthashmap相互的关联和区别
- 说几个垃圾回收器,cms回收器有哪几个过程,停顿几次,会不会产生内存碎片。老年代产生内存碎片会有什么问题。
- 讲讲快速排序,分析一下时间复杂度?
- 双亲委派模型介绍一下
- java中同步、volatile关键字
- jvm内存分区,为什么要有新生代和老年代
- 有做个JVM内存优化吗?
- 数据库索引 主键和唯一索引有什么区别
- 聚集索引和非聚集索引的区别?
- MySQL存储引擎innoDB和MyISAM的区别?
- innoDB的B+树索引叶子节点的Data域存储的是什么?MyISAM的B+树索引叶子节点的Data域存储的是主键还是物理地址?
美团二面 (70min)
正儿八经的面试了.....
- MySQL innodb的b+树索引,主键索引,聚簇索引有什么区别。
- 数据库四大特性
- 事务的四大隔离级别
- jvm场景问题, 标记清除多次后老年代产生内存碎片,引起full gc,接下来可能发生什么问题。
- MySQL里有哪些锁,行锁表锁,乐观锁呢
- MySQL的死锁怎么产生的,举了两个例子。
- dubbo里的zookeeper是做什么的
- aio,nio,bio的了解,NIO的核心概念有哪些?
- 常用的NIO框架有哪些?优劣势
美团三面-总监面 (60min)
- 分布式下redis如何保证线程安全
- redis持久化的方式以及区别
- zookeeper如何实现分布式锁、其他分布式锁怎么实现
- kafka的架构,如何用kafka保证消息的有序性
- 数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
- 最有技术难度的项目,介绍下相关核心设计流程。
- 工作中,遇见了技术瓶颈无法解决,你的解决思路?
- 未来你的职业规划是怎么样?
这个60min很关键了↑
HR直接给录用函
谈笑风生....聊薪资,工作地点,还有一些要录入系统的基本信息,留了电话
淦!太特么优秀了!
我问他,为何如此的胸有成竹?
他给我发来了一份文件,说你可以从里面随便挑一个问我!更别说这次美团问得这么基础...基础...基础...
我打开文件一看...
且不说内含阿里云、蚂蚁金服、腾讯、百度、携程等一线互联网大厂的真题,后面还有涵盖微服务、并发编程、数据库、消息中间件、JVM、MySQL、Redis、Spring、SpringBoot、SpringCloud、SpringMVC、MyBatis等java主流技术的面试题及解析,原来如此了~
需要免费领取的程序员朋友麻烦点赞、喜欢、收藏这篇文章,然后点击下方传送门就可以领取了