前几天得知我的某个可爱的应届小学妹一次性拿下美团Java岗4面offfer,导致我越发觉得自己真心有点菜鸡,我弱小的心灵受到了一万点暴击!
学妹自述:
美团,是在boss上投的简历,之前也投过一次,简历都没通过删选,后来让同学帮忙改了一下简历,重新投另一个部门,获得了面试机会。
4月23日,中午HR打电话过来预约了下午4点半面试,说会在线写代码,让我准备好网络环境。结果5点半还没打电话过来,被放鸽子。与hr重新沟通过后,确定周下一下午再面,可是跟hr沟通预约这一套貌似在美团并没有什么用。
羡慕归羡慕,不过这又为我码字提供了素材(哈哈哈),咱今天就大致分享一下学妹的这美团Java4面面经,看看人家面试都问了些啥(并在文末附带 ☛☛Java面试+学习资源☚☚)。
美团Java岗一面(20分钟左右)
学妹自述:晚7点,因为想到下周一才面试,我刚准备出去打个羽毛球,北京的电话就来了。面试官各种抱歉,说开会拖延了。。
算法题:给一个数字串,要求划分为有效的ip地址,求出所有的结果
输入:s = "25525511135" 输出:["255.255.11.135","255.255.111.35"] 输入:s = "0000" 输出:["0.0.0.0"] 输入:s = "101023" 输出:["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]
学妹自述:一面挺匆忙的,我估计面试官刚开完会还没吃饭呢。他说让我等,可能再找一个同事面我,可能就直接告诉我结果了。从一面面试官的声音和口吻,我判断他一定是个部门老大,问的设计偏多,后面hr告诉我他就是我要去的部门的老大。。哈哈。。
美团Java岗二面(60分钟)
Part 01 技术问题
Java如何使用jdbc连接数据库?
如何实现线程安全?
如何创建线程?如何创建线程池?
说说都有哪些锁?
了解spring boot吗
redis特点
redis都有哪些数据结构?
用到了redis哪些命令?
redis的应用?
为什么redis是单线程?
redis的复制与集群?
redis的持久化?
rdb的两种策略?
rdb和aof各有什么优缺点?
Part 02 项目
- 介绍一下项目
- 说说秒杀的流程
- 如何解决超卖的?
- 为什么要用redis?
- 库存没卖完怎么办?
- jmeter<typo data-origin="压测" id="typo-1062" ignoretag="true">压测</typo>如何?
- 消息队列的作用?
- 如何减库存的?
- 秒杀时突然想增加库存怎么办?
Part 03 算法题
- 给一非空的单词列表,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。
美团Java岗三面(75min)
- 自我介绍
- 聊项目
- 讲讲 ThreadPoolExecutor 的七个参数?怎么配置?能说一下核心线程数、最大线程数、工作队列之间的数量关系吗?
- ThreadPoolExecutor 中提交任务后的执行步骤?
- 如果我需要任务有返回结果的话你需要传入什么类型的任务?
- 还用过别的设计模式来解决类似的问题吗?(项目中的问题,扯动态代理,又问了两种动态代理实现的区别,Spring AOP 用的是哪种)
- Spring AOP 有出现过代理失效的情况吗?你在哪里用到过 AOP ?
- 讲讲 Spring 的事务管理吗?
- (中间穿插一道算法题、SQL 题)
- 你在开发过程中都遇到过哪些异常?你是怎么处理的?(空指针、SQL 异常、类型转换异常)
- 各种空指针异常判断题
- 算法题:有一个正整数 n(n < 100),期望找出一个最小的 n 的倍数 m(m < 2^64 - 1)且 m <typo data-origin="只由" id="typo-1607" ignoretag="true">只由</typo> 1、0 组成,例如:输入 n = 2 输出 m = 10,输入 n = 3 输出 m = 111
美团Java岗 hr面(15min)
- 哪里人?能接受异地工作吗?
- 平时学习怎么样?有参加竞赛或获得奖学金吗?
- 介绍一下项目经历,你在这里面扮演什么角色?
- 高考多少分之类的问题
如何备战Java面试?
谈到怎么准备Java面试,我想说,若你还同无头苍蝇一般不知如何下手,那么第一件事你要做的就是梳理自身的知识脉络。毕竟,想要进大厂,就需要具备更多的知识树,需要掌握更全面的知识体系,所以就需要对知识进行一个系统的梳理了。
如果觉得自己手绘Java知识脉络图比较麻烦,可以借鉴参考下方我之前大致手绘一份知识网图(Java知识体系庞大,我是用的xmind绘制的脉络图,文中无法直接上传原件,截图如下,内容过多以至于图片不够清晰,但可提供分享原件, ☛☛戳☚☚)。
此外,关于面试刷题,个人觉得这份 “Java高分面试指南”很不错,包含25个专题内容,整个1000+题50w+字解析,够你刷到秃顶:
- JavaOOP
- Java集合/泛型
- Java中的IO与NIO
- Java反射
- Java序列化
- Java注解
- 多线程&并发
- JVM
- Mysql
- Redis
- Memcached
- MongoDB
- Spring
- Spring Boot
- Spring Cloud
- RabbitMQ
- Dubbo
- MyBatis
- ZooKeeper
- 数据结构
- 算法
- Elasticsearch
- Kafka
- 微服务
- Linux
最后,还有2021最新整理的“Java中高级核心知识点解析”,查漏补缺知识点刷它最合适不过,包含整个30类知识点的集合:
- JVM
- JAVA集合
- JAVA多线程并发
- JAVA基础
- Spring原理
- 微服务
- Netty与RPC
- 网络
- 日志
- Zookeeper
- Kafka
- RabbitMQ
- Hbase
- MongoDB
- Cassandra
- 设计模式
- 负载均衡
- 数据库
- 一致性哈希
- JAVA算法
- 数据结构
- 加密算法
- 分布式缓存
- Hadoop
- Spark
- Storm
- YARN
- 机器学习
- 云计算
从学习路线→☛面试刷题→☛核心知识补漏,以上全套的Java学习资源皆可共享给有需求的你, ☛☛共享☚☚