今天给大家分享一篇 美团后端Java一面面经, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~
最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。
点击下载完整PDF☞ 2022年最新Java面试题集
大四没课了,又还没安排实习,在家闲的太无聊,就投了春招,结果就是毒打了,哈哈哈(都是常规问题,主要是之前背的八股文全忘了)。
不过我被毒打了没事啊,大家的面经有了就行!
美团一面
-
自我介绍
-
最近的一个项目介绍
-
问项目(这个要参考自己的项目,我这是一抓一大把的秒杀项目)
3.1 说说你项目里整个秒杀的流程
3.2 怎么保证不会超卖的?怎么做限流防刷的?
3.3 你把库存预存到Redis 中,预减成功才去下单,那你如果预减成功但是下单失败,你Redis中的库存怎么增加回去?会不会有什么问题?
3.4 还有你这个用户登录用了2次MD5加密,第一次使用固定salt进行MD5加密,那如果这个salt被暴露了,那么你数据中存的哪些加密后的密码怎么处理?
3.5 中间还细问了很多。 -
多线程相关
4.1 synchronized 和 lock 的区别?
4.2 synchronized 和 volatile 的区别?
4.3 synchronized 、 lock、volatile 的底层实现分别是什么?
4.4 什么是CAS?CAS 会存在哪些问题?怎么解决?
4.5 Java并发包里类知道吗?CurrentHashMap 是怎么保证线程安全的? 1.8 和 1.7 有什么区别? 为什么 1.8 不使用 分段锁了? -
集合相关
5.1 Java 集合大概知道哪些?
5.2 ArrayList 扩容过程说一下?
5.3 说一下HashMap 底层实现原理,put数据的过程?什么时候升级红黑树?什么时候有转回链表?扩容的过程知道吗? -
JVM相关
6.1 JVM 运行时区域说一下有哪些?是不是线程安全的?会抛哪些异常?具体说说。
6.2 垃圾回收算法有哪些?介绍一下。
6.3 垃圾回收器知道哪些?说说看?
6.4 垃圾回收器这么多,那项目怎么选择垃圾回收器呢?
6.5 JVM 调优有了解过吗?平时碰到过相关的问题吗?
6.6 类加载模型知道吗?双亲委派模型有什么好处?知道怎么破坏双亲委派模型吗。 -
Spring 相关
6.1 Spring 中的 AOP 底层实现原理
6.2 Spring 中的 IOC 底层实现原理
6.3 知道一个 Spring Bean 的实例化过程吗?
6.4 Sring MVC 的执行流程说说看? -
Redis 相关
8.1 看你两个项目里都使用到了Redis,你这两个项目里都是怎么使用的?是怎么选择数据类型的?8.2 这些数据类型的底层实现有了解过吗?
8.3 Redis集群模式知道吗?项目里用了集群没有?
8.4 RDB 和 AOF 的区别知道吗?
8.5 Redis 和 数据库的数据不一致性知道吗?有什么好的解决办法没有?(缓存一致性的问题) -
MySQL 相关
9.1 你项目中MySQL 用的哪个版本?
9.2 MySQL 的存储引擎知道哪些?有什么区别?默认的哪个?9.3 索引有了解过吗?索引有哪些类型?索引的底层实现?
9.4 为什么要用B+树实现?相比于其他的实现方式有什么好处吗?
9.5 最左前缀原则知道吗?为什么要遵守最左前缀原则呢?
9.6 索引优化知道吗?你索引优化的思路或者流程是什么? -
算法题
给定一个字符串,计算这个字符串的最长回文子串的长度。(动态规划) -
你有什么想问的?