美团点评 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
来源:牛客网
- 介绍项目(瞎说我用了分布式锁)
- 分布式锁的实现
- 分布式锁过期解决
- 前缀树是什么 前缀树的使用场景
- 分布式数据库主从复制(我说我不会分布式的,我会主从复制,然后面试官叫我讲讲)
- MySQL 死锁发生的原因和解决
- MySQL 分别建立索引 a,b,c ,语句 select …where b=x,c=x,a=x 能不能用到索引,建立
联合索引能不能用到,a=x,b>x,能不能用到,用到几个索引 - B 树和 b+ 树的区别 b+ 树的优点
- Linux cpu 满了怎么排查(进程相关的我是真的不会啊,平时没接触,看几天博客也不
明白) - 怎么查看占 cpu 最多的线程
- Linux 怎么搜索文件中的字符串,写到另一个文件中
- liunx 网络相关命令(具体啥问题我忘了,反正我不会)
- 如何判断链表是否有环
- Java = 和 equals 的区别 15. Java contentMap 和 HashMap 什么区别,线程安全怎么实现
- HashMap 怎么解决哈希冲突,哈希冲突还有什么解决方法
- Java 运行时异常和检查性异常
- Java 类加载
- 什么是泛型 泛型的使用场景
- 面向过程和面向对象(一紧张差点三大特性的多态想了十秒才说出来)
- 多态是什么 父类如何调用子类的方法
- 问我看了啥书(设计模式,图解 HTTP,Modern PHP…被打断然后开始问设计模式)
- 单例模式的用途 静态内部类实现单例模式的方式
- 工厂模式的用途
- 策略模式的用途
- Get 和 post 请求的区别
- 网页请求的整个过程
- 说说自己的优缺点,对缺点的改进(缺点太明显了,表达能力不行,面试官问我个啥东
西我心里知道啥意思但不知道怎么给他解释)
新鲜校招美团面经(一面凉)
作者:我也来求 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
来源:牛客网
面试大概七十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了。
网络相关 - OSI 七层模型都是什么
- 举例网络协议,都在哪个层
- TCP UDP 区别
- TCP 如何实现可靠连接
- Time_Wait 中 2*msl 为什么
- 如果 TCP 突然接收方故障 会发生什么
- HTTP 状态码 含义,503 504,200
- GET POST 区别
- 一个 url 从输入到访问经过了哪些过程
数据库相关 - MySQL 有哪些锁?
- 解释一下 ACID 都是什么
- Innodb 中索引的实现
- B+树
- AUTO_INCREMENT 原理(考察并发情况)
- 索引有哪些缺点?
操作系统、Linux 相关 - 死锁产生的原因
- 进程、线程区别,什么时候用线程
- 如何实现一个线程池,Java 中线程池如何进行配置
- linux 中有哪些常见的指令,进行介绍
- select、poll、epoll 有没有了解过,讲解一下 6. 线程切换,引申到 Java 阻塞 运行
- 页面置换算法有哪些 介绍一下
Java 相关 - JVM 内存模型
- GC 垃圾回收算法
- 讲解新生代 老年代
- Java 这块问的其他问题有点忘了
Redis - Redis 是怎么实现的
- Redis 常用数据结构及底层数据结构实现
思维、算法(或者应该说是脑筋急转弯) - 给出一个 rand5(),实现一个分布均匀的 rand7()生成器
- 有一个点,向北走 5 公里、东走 10km、向南走 5 公里,回到原点。这样的点有几个,
证明。 - 有一个 n 克的物体、一个天平和若干砝码,这个天平没有刻度,试问最少用多少个什么
样的砝码可以将这个物体的质量称出。砝码的质量和个数自行指定。