美团点评 2020 面经汇总-Java 工程师
目录
美团 JAVA 一面………………………………………………………………………………………………………………………….1
新鲜校招美团面经(一面凉)………………………………………………………………………………………………..2
菜逼的坎坷之路(JAVA 后台研发)………………………………………………………………………………………3
美团-金融…………………………………………………………………………………………………………………………..3
美团-数据平台…………………………………………………………………………………………………………………..4
美团-到家…………………………………………………………………………………………………………………………..5
美团-餐饮…………………………………………………………………………………………………………………………..6
美团后台面经…………………………………………………………………………………………………………………………….7
美团点评二面、三面、hr 面社招 java 面经…………………………………………………………………………8
【美团】后台开发一面面经(凉凉)…………………………………………………………………………………11
美团 JAVA 一面
作者:蓝风铃
链接:https://www.nowcoder.com/discuss/362152?type=2ℴ=3&pos=2&page=1
来源:牛客网
1. 介绍项目(瞎说我用了分布式锁)
2. 分布式锁的实现
3. 分布式锁过期解决
4. 前缀树是什么 前缀树的使用场景
5. 分布式数据库主从复制(我说我不会分布式的,我会主从复制,然后面试官叫我讲讲)
6. MySQL 死锁发生的原因和解决
7. MySQL 分别建立索引 a,b,c ,语句 select …where b=x,c=x,a=x 能不能用到索引,建立
联合索引能不能用到,a=x,b>x,能不能用到,用到几个索引
8. B 树和 b+ 树的区别 b+ 树的优点
9. Linux cpu 满了怎么排查(进程相关的我是真的不会啊,平时没接触,看几天博客也不
明白)
10. 怎么查看占 cpu 最多的线程
11. Linux 怎么搜索文件中的字符串,写到另一个文件中
12. liunx 网络相关命令(具体啥问题我忘了,反正我不会)
13. 如何判断链表是否有环
14. Java = 和 equals 的区别15. Java contentMap 和 HashMap 什么区别,线程安全怎么实现
16. HashMap 怎么解决哈希冲突,哈希冲突还有什么解决方法
17. Java 运行时异常和检查性异常
18. Java 类加载
19. 什么是泛型 泛型的使用场景
20. 面向过程和面向对象(一紧张差点三大特性的多态想了十秒才说出来)
21. 多态是什么 父类如何调用子类的方法
22. 问我看了啥书(设计模式,图解 HTTP,Modern PHP…被打断然后开始问设计模式)
23. 单例模式的用途 静态内部类实现单例模式的方式
24. 工厂模式的用途
25. 策略模式的用途
26. Get 和 post 请求的区别
27. 网页请求的整个过程
28. 说说自己的优缺点,对缺点的改进(缺点太明显了,表达能力不行,面试官问我个啥东
西我心里知道啥意思但不知道怎么给他解释)
新鲜校招美团面经(一面凉)
作者:我也来求 offer
链接:https://www.nowcoder.com/discuss/361998?type=2ℴ=3&pos=3&page=1
来源:牛客网
1 月 13 日 14:00 美团面经(一面凉)
内推的简历,半天之后约的面试
60min
1.上来先写代码,两个线程交替输出 1-100
2.JAVA 锁机制(synchronize,ReentrantLock 等)
3.乐观悲观锁
4.sql 语句慢查询如何调优(这个贯穿了下面二十分钟,我数据库弱点,凉在此)
5.主键索引和普通索引区别
6.项目用的什么数据库,什么引擎,底层是什么(很底)
7.说一下 B+树和 B 树
8.B+树索引都能查到叶子节点么(联系第五题)
9.mvcc 多版本并发控制(不造)
10.隔离级别了解么,说一下
11.JVM 调过么,用的什么垃圾回收器(G1)
12.讲一下新生代老年代(这里给我挖了个坑,等我说完,告我 G1 不分新生代老年代,我还
没学到啊可惜)
13.TCP,UDP 区别
14.输入 URL 会发生什么
15.Linux 常用操作
16.线程进程区别17.用过什么中间件或者消息队列么(了解过,但没用过,也没接着问了)
18.还有继续考研的想法么
19.有什么问题想问我
总的来说还是挺不错的一次面试经历,回答上来百分之八十吧,不会的主要集中在了数据库
那里,问的还深,
问到了底层调的一些 C++本地方法了,还有就是太诚实了,把自己就学了 20 天 JAVA 的事
实告诉了面试官,所以最后
HR 给的答复是,实践少了一点,么得下一面了。
菜逼的坎坷之路(JAVA 后台研发)
作者:YY 的晕
链接:https://www.nowcoder.com/discuss/352030?type=2ℴ=3&pos=4&page=2
来源:牛客网
美团-金融
一面
JVM
JVM 的结构
新生代和老年代的垃圾回收算法
虚拟机栈和本地方法栈的区别
类信息会加载到 JVM 哪个区域
JAVA 基础
HashMap 和 ConcurrentHashMap 的区别
final 的作用,加在变量、方法、类的区别
新建一个 string 会创建几个对象
哪些类是线程安全的
线程池的参数;为什么需要超出最大容量的策略
ThreadLocal 了解吗
Spring
AOP 的实现原理
@Autowired 和@Resource 的区别
什么情况下会用@ResourceMySQL
B+树的优势
悲观锁和乐观锁了解吗
数据库如何实现乐观锁
设计模式
工厂模式怎么理解
单例模式有哪几种实现方式
懒汉和饿汉的区别,懒汉的缺点
算法
反转链表
二面
JAVA 基础
HashMap 和 ConcurrentHashMap 的区别
hash 冲撞怎么办?如何 rehash
HashMap 的遍历方式
为什么 HashMap 是线程不安全的
volatile 和 synchronized 的区别
Spring
SpringBoot 的优势
SpringMVC 的 MVC 指什么?好处呢
Redis
主从结构了解吗
宕机之后如何恢复数据
消息队列
rabbitmq 和 kafka 的区别
rabbitmq 如何保证事务
消息队列的优势
美团-数据平台
一面
JAVA 基础
ConcurrentHashMap 的特点
JUC 包下其他并发类了解过吗
多个消费者生产者,如何处理同一段数据(消费者-生产者模型)操作系统
线程间通信的方式
JVM
阐述 JMM 内存模型
垃圾回收算法有哪些
标记-整理会触发 Stop The World 吗
什么情况下触发 mirror GC
JVM 结构
新建的字符串会存到哪
消息队列
设计时应该考虑什么问题
如何保证高可用
算法
n 个有序数组,找出 Top k
美团-到家
一面
JVM
JVM 存在的优势
通过什么方式来判断是否回收
哪些对象可以当 GC root
虚拟机栈的对象为什么能当 root
堆和栈区别
JAVA 基础
ArrayList 和 LinkedList 区别
HashMap 的底层数据结构
JDK 1.8 中 HashMap 有哪些变化
静态变量和非静态变量的区别
类和对象的区别
Synchronized 和 Lock 区别
Lock 底层实现
Exception 和 Error 的区别
线程池常用参数
在什么情况下使用这些参数(线程池工作流程)
设计模式
手撕单例模式的双重检验锁为什么要有两次检验
Redis
Redis 为什么快
Redis 如何保证可用
MySQL
B 树索引和 hash 索引区别
聚簇索引和非聚簇索引
计算机网络
HTTPS 建立连接流程
算法
LeetCode11 water
给定一个数,通过调换顺序,找到比这个数大的最小数
美团-餐饮
一面
Spring
循环依赖,可以初始化成功吗
其他问题比较简单没印象了
二面
JVM
CMS 和 G1
JAVA 基础
HashMap 和 HashTable 区别
ConcurrentHashMap 和 HashMap 有什么不同
阐述乐观锁,悲观锁
阐述 CAS
MySQL
B+和 B 树的区别
Innodb 和 Mysiam 索引区别
left join, right join 区别
联合索引和普通索引的区别
事务隔离等级
事务特性(ACID)慢查询如何排查
explain 中 index 和 ref 区别
美团后台面经
作者:lvsw
链接:https://www.nowcoder.com/discuss/343031?type=2ℴ=3&pos=5&page=1
来源:牛客网
一面
1、自我介绍,介绍一下项目,缓存是什么,给个秒杀场景,如何防止超卖?
2、hashmap 底层数据结构,hastable,concurrenthashmap 如何实现线程安全的
3、用过线程池吗?线程池的参数,提交一个任务时的过程,核心线程会被回收吗?拒绝策
略
4、看过什么源码?讲一下 spring,aop 和 ioc,会什么设计模式?单例,写一个
5、写了个 dcl,为什么进行两次判空,为什么用 volatile?
6、jvm 内存模型,存放什么,什么线程私有,线程共享,如何判断一个对象需要被回收,
可以作为 GCRoot 的对象有哪些?
7、写个题吧,判断一个字符串的大括号中括号小括号的格式是否正确,比如字符串是一段
代码,最后写的不完美,面试官说还行,知道用栈。
8、工作地点是北京可以接受吗?
9、你了解美团吗?回答,知名互联网公司(裁团),中国 top5,面试官:不是,是 top3;
10、你还有什么想问的吗?
二面
问项目,抠细节,被问到哑口无言,表现极差
生产者消费者模式
讲一下 NIO、AIO,这个被问得很难受,抠的太细,具体不记得了,了解的不深
最后还是问了意向,搞不懂三面
上午二面,下午收到的三面通知,下午六点面试
1、问研究方向,本人做天线的,面试官好像很感兴趣,一直问,问了接近 20 分钟,聊得
2、问项目,问的不深,不问技术,给各种场景题,我严重怀疑面试官不是可能是产品经理;
3、你有什么想问吗?我:(感觉过的可能性很小,就随便问了)这是 hr 面吗?我有下一面
吗?面试官:额,是技术面,我只是不深问
美团点评二面、三面、hr 面社招 java 面经
作者:leetcode_java
链接:https://www.nowcoder.com/discuss/342094?type=2ℴ=3&pos=6&page=1
来源:牛客网
美团点评社招 java 一面面经
1、做一下自我介绍吧,简单说一下你的项目?
2、有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较
好。
3、java 的基本类型有哪几个?String 是不是 java 的基本类型?String 为什么要是 final 类型
的?
4、反射机制的底层实现是什么?动态呢?动态的实现原理?
5、hashmap 了解吗?说一下 hashmap 相关的一些东西?hashmap 是线程安全的吗?为什
么是线程安全的?concureenthashmap 了解吗?他是如何实现线程安全的?你刚才说 1.8 基
于 cas?cas 的 ABA 问题怎么解决?
6、说一下 JVM 的线程模型?这些区域都分别是干啥用的?java 线程模型和 jvm 线程模型注
意区分、总结下,网上很多文章都是错的。
7、说一下 java 类加载器的工作机制?类加载在那个区域进行的?
8、说一下 java 的线程模型?violate 了解吗?他的原理是什么?violate 是线程安全的吗?为
什么不是?
9、保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读
10、数据库的索引有哪几种?为什么要用 B+树来做索引?组合索引和几个单个的索引有什
么区别?数据库的大表查询优化了解吗?MVCC 机制了解不?MVCC 机制有什么问题?怎
么去解决这个问题?mysql 慢语句调优做过吗?说说你是怎么做的?
11、redis 了解吗?你说说怎么用 redis 实现分布式锁?
12、spring 中 Bean 的作用域,springMVC 的 controller 是线程安全的吗?怎么去保证线程
安全呢?13、消息队列有用过吗?说说你怎么用的?你这么用感觉不大对吧。。大写的尴尬。。
14、计算机网络了解吗?说一说 TCP 三次握手和四次挥手吧,感觉这个真的是计算机网络
必考知识点啊,每次问到计算机网络都会问这个。time_wait 状态产生的原因是什么?,有
什么危害?可以如何避免?
15、leetcode153. 寻找旋转排序数组中的最小值
假设按照升序排序的数组在预先未知的某个点上进行了旋转。
( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。
请找出其中最小的元素。
你可以假设数组中不存在重复元素。
示例 1:
输入: [3,4,5,1,2]
输出: 1
示例 2:
输入: [4,5,6,7,0,1,2]
输出: 0
你手里有哪些 offer 了?最快什么时候能入职呢?还有什么问题想问的?然后说会有 hr 联
系你,第二天就接到了 hr 约二面时间的通知。
总结下来,面试问的东西还是挺宽的,而且问的很细,一个知识点基本都是问到答不上来为
止。还是有很多东西需要加强?在美团的面试中还是学到了一些东西。
美团点评二面
1.首先还是问项目。问的比较细,比较全。
String,StringBuffer,StringBuilder 的区别,为什么 String 是不可变的,StringBuffer 和
StringBuilder 哪个是线程安全的,他们分别适用于什么场景。
java 类加载过程是怎么样的,说一下 volatile。
并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?
数据库慢查询优化了解哪些?说了很多,面试官说假如这些都已经做好了还是很慢怎么办?
最后不清楚问了下面试官,面试官主要想了解数据库分区的知识。
说一下 spring 容器的启动过程?
讲一下分布式锁,基于 zookeeper 实现和 redis 实现在性能上有什么差异?
kafka 如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?
最后写了道题,leetcode55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一
个位置。
示例 2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永
远不可能到达最后一个位置。
最快什么时候能过来?有什么问题想问的?然后说后面有 hr 再和你联系。
美团点评三面
面试官首先问了很多简历中的一些基本信息.画一下你这个项目与哪些工程交互,它在你们
的产品中处于什么样一个位置
画一下你们这个项目的架构图,挑一个你觉得比较难的业务场景来讲一下,
你们这个项目中都遇到了哪些问题呢?说说你们最后都怎么解决的
写了一段代码,问这个代码最后输出什么?申请多大的内存空间,都在什么位置申请的
public class Test {
public static void main(String[] args) {
String str = “hello”;
test(str);
System.out.println(str);
}
public static void test(String str){
str = str + “world”;
System.out.println(str);
int[] a = new int[1024];
}
}
hashmap 了解吗?他的 set 和 get 的时间复杂度是多少?为什么是 O(1),说下详细过程,hashmap 是线程安全的吗?
Jvm 了解吗?jvm 中哪些可以作为垃圾回收的 gcroot?为什么呢?
什么时候能过来上班?然后就说等会 hr 面。
美团点评 hr 面
问了下基本情况,什么时候能过来,为什么想换工作?在上家的绩效和薪水情况,期望工资
是多少。
【美团】后台开发一面面经(凉凉)
作者:丞之不可以喝
链接:https://www.nowcoder.com/discuss/335487?type=2ℴ=3&pos=8&page=1
来源:牛客网
面试大概七十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了。
网络相关
1. OSI 七层模型都是什么
2. 举例网络协议,都在哪个层
3. TCP UDP 区别
4. TCP 如何实现可靠连接
5. Time_Wait 中 2*msl 为什么
6. 如果 TCP 突然接收方故障 会发生什么
7. HTTP 状态码 含义,503 504,200
8. GET POST 区别
9. 一个 url 从输入到访问经过了哪些过程
数据库相关
1. MySQL 有哪些锁?
2. 解释一下 ACID 都是什么
3. Innodb 中索引的实现
4. B+树
5. AUTO_INCREMENT 原理(考察并发情况)
6. 索引有哪些缺点?
操作系统、Linux 相关
1. 死锁产生的原因
2. 进程、线程区别,什么时候用线程
3. 如何实现一个线程池,Java 中线程池如何进行配置
4. linux 中有哪些常见的指令,进行介绍
5. select、poll、epoll 有没有了解过,讲解一下6. 线程切换,引申到 Java 阻塞 运行
7. 页面置换算法有哪些 介绍一下
Java 相关
1. JVM 内存模型
2. GC 垃圾回收算法
3. 讲解新生代 老年代
4. Java 这块问的其他问题有点忘了
Redis
1. Redis 是怎么实现的
2. Redis 常用数据结构及底层数据结构实现
思维、算法(或者应该说是脑筋急转弯)
1. 给出一个 rand5(),实现一个分布均匀的 rand7()生成器
2. 有一个点,向北走 5 公里、东走 10km、向南走 5 公里,回到原点。这样的点有几个,
证明。
3. 有一个 n 克的物体、一个天平和若干砝码,这个天平没有刻度,试问最少用多少个什么
样的砝码可以将这个物体的质量称出。砝码的质量和个数自行指定。