美团面经
部门
到店平台技术
时间线
3.16 笔试 编程5(100 100 16 70 10)
3.20 一面
3.27 二面
4.2 排序挂
一面(视频面,1h)
-
介绍下上段实习做了什么
-
Java的优缺点
怎么理解Java半编译半解释
解释执行效率低,有什么优化方式吗
什么是JIT、AOT
-
面向对象和面向过程的区别
解释下面向对象的几个特性
封装的好处
继承和组合的区别、使用场景
接口和抽象类的区别
-
介绍下Java中集合框架
list和set区别
set底层如何实现
map各个具体实现之间的区别
ConcurrentHashMap的底层实现,1.8相比1.7有哪些优化
-
介绍下JVM垃圾回收机制
如何判断一个对象是否为垃圾
-
进程和线程的区别
创建线程的方式,继承Thread类和实现Runnable接口的区别
-
介绍下JMM
介绍下MESI的实现原理
-
介绍下MySQL中索引实现原理
-
介绍下ACID,具体如何实现
-
给了一个select语句,设计索引
创建索引的注意事项
QPS比较高数据库压力大,怎么优化(MySQL读写分离+Redis缓存)
-
手撕算法 三数之和
问的比较基础,个别细节忘了面试官还会引导
二面(视频面,1h)
-
介绍下上段实习做了什么(30min)
产出怎样,如何设计技术方案,新功能上线后如何评价它是否成功,实习中最大的挑战,如何解决遇到的问题,如何学习新技术,为什么离职
-
一道SQL题,手写查询语句和创建索引
创建索引的注意事项
-
ES数据结构
-
MySQL、ES、MongoDB使用场景
-
Redis list、string、hash底层实现
-
介绍下Redis分片集群
访问数据的流程
如何确定数据在哪个槽,槽的相关信息如何记录
Redis还有别的sharding方式吗
-
ThreadLocal实现原理
为什么不用现成的HashMap
-
如何排查Full GC
shadow heap和retained heap的区别
-
说说知道的设计模式
手写单例模式、工厂方法模式
-
如何处理被分配到的工作任务