美团一二面(美团优选java)面经
时间线
8.15:投递;
8.19:收到回复;
8.22:笔试;
8.23:收到回复;
8.26:一面;
8.27:收到回复;
9.1:二面;
一面(50多分钟)
面试官挺随和,看上去挺年轻的,问的很耐心,有说错的也会纠正我,面试体验不错
- 自我介绍
- 项目介绍
- 用户登录是怎么做的
- 为什么用分布式
- 怎么实现热点文章的二级缓存
- 为什么要设置过期时间
- 文章如果更新的话热点文章这块是怎么做的
- MySQL主从复制
- Redis除了缓存热点信息,还可以用来干什么(说了分布式锁)(还可以做验证码、消息队列、排行榜等)
- 分布式锁是什么,Redis是怎么做的
- 项目中的Redis和Zookeeper具体是怎么操作的(直接用SpringBoot 的注解。。。)
- 如果有多个服务器提供服务的话是怎么确定用哪个服务器的(负载均衡策略说了一通)
- 问了两个sql语句(一个联表查询,一个IFNULL的运用,IFNULL当时不记得了,尴尬)
- 问了左、右、内连接是什么
- 索引的话都有哪些索引类型,分别用在什么情况(主键索引,唯一索引,非空索引,普通索引、组合索引等)
- 问了些组合索引有效失效的情况
- 前缀索引和最左匹配
- 慢查询是什么,怎么发现满查询的语句
- MySQL事务(介绍了MVCC)
- 死锁是什么
- Redis的原理有了解吗,说一些(说了一些Redis对数据类型的优化)
- Redis持久化
- 介绍一下你对Spring的IOC和AOF
- 写了个简单的算法题(两个有序数组的合并)5分钟不到写完
- 如果要求合并后的数字不允许重复怎么做
- 口述了一个算法:类似于计算岛屿的数量;升级:计算最大的岛屿面积
- 反问:部门(美团优选);技术栈;对我的评价(掌握的还好,建议可以多学一些中间件,像消息队列什么的,工作可能会用上)
面完收到一个面试评价的短信,还以为直接挂了,吓死。
第二天收到hr电话约9.1号二面。
二面(50分钟左右)
这面面的有点奇怪,面试官在我回答完一个问题后总是过了挺久才接着问,问题也不是寻常的八股,有些问的很宽泛,让我不好答。而且没有反问。感觉有点凉,希望可以到后续环节。
- 自我介绍
- 平时是怎么学习的(视频、博客、书)
- 没有看一些专业书籍吗(看的少,时间有限,使用主要是看视频和别人的博客)
- 别人提炼的视频不会有问题或者遗漏吗(确实会有不深入或者遗漏的,针对这些我会额外的搜索一些书籍或文章看)
- 项目介绍
- 项目达到你的预期了吗
- 为什么用分布式
- 学完用完分布式有什么收获(说不出啥收获)
- 讲一下分布式的通信(讲了RPC和HTTP的区别,Dubbo针对通信的封装)
- 讲一下rpc通信的流程(不记得了T.T)
- 项目中服务通讯的过程
- zookeeper用来干什么
- zookeeper作为注册中心有什么特性
- zookeeper的底层有些了解吗(讲了节点、watcher)
- Redis用来干什么
- Redis用了哪些数据结构
- Redis持久化讲一下
- 生产过程中是怎么使用持久化的
- MySQL用来干什么
- 对存的账号的密码有加密吗(没有)
- 如果要加密的话可以怎么加密(hash进行映射,使用类似SSL的对称和非对称加密)
- 面试官又讲了写加密什么的,问我用hash加密不就够了,为什么要公钥私钥什么的(我也不知道啊)
- 算法:字符转为数字(存在+-,存在干扰字符如abcd,不能转为数字的输出0)5分钟左右写完
- 算法:青蛙跳台阶问题(不能递归,直接动态规划写完)5分钟左右写完
- 面试官说你是不是最近刷了不少题(当然得刷些题)
- 平时怎么刷题学习的
- 平时除了刷题和自己的项目,应该很少编码了吧(学校课题组用c++做的工业软件,自己被分配用python做神经网络的东西,编码还是有的)(自己挖了个坑)
- 讲下C++、java、python你在使用时候的区别感受
- 面向对象的话,你用的时候感觉有什么优点,发散说一下自己的感受(说不出什么🤣)
- python虽然有面向对象,但更多的是用作脚本,你觉得它有什么优点,使用有什么感受(这也说不出什么🤣)
- 对操作系统的了解(讲了讲虚拟内存)
- 最近有学什么(说了JVM,JMM)(面试官让讲了讲JVM)
- 说说自己的优缺点
- 想去的工作地点区域
听说美团优选加班比较严重,但好像哪儿都差不多。
希望可以通过二面吗,许愿一个hr面,许愿一个offer。