美团后开实习面经(已收到邮件offer)
坐标:2020实习 北京后开
19号笔试批次 ac1道, 一道73%,一道45%
3.24 一面
1.自我介绍
2.平时怎么学习java的?
3.什么是面向对象?面向对象好处,体现在哪?
4.javaweb项目中怎么实现用户登录功能?
(答:使用session和cookies)
5.怎么实现跨域单点登录?
(答:,说了说jwt具体怎么实现,这里不知道对不对,感觉可能不对)
6.spring的IOC和Aop介绍一下?
(说了反射、工厂模式和动态代理,之前看过一点源码,说的比较详细,包括每步调了什么方法等)
7.数据库索引的底层实现?B加树的优势是什么?
(范围搜索方便,树矮胖,然后说如果一个叶子节点是一页16k,大概可以存储1000个索引,三层b+树就可以存储百万数据等等)
8.innodb和myisam的区别是什么?
(从功能、从索引、从锁、从文件结构(.myi\.myb\.ibd)四个方面说的)
9.感觉你的描述中innodb功能比myisam更强,你是这么觉得吗?
答:个人感觉更强一点吧,毕竟mysql5.5开始innodb成为默认引擎,而且5.6.4版本开始innodb也支持全文索引了
10.设计模式用过哪些?写一个单例吧
答:单例一般可以饿汉式、双检锁懒汉式、枚举和静态内部类来实现,然后写了一个最简单的枚举
11.写一个死锁的例子
12.写一个算法实现从100个人中随机抽5个人中奖,要完全随机
13.日常反问
3.24 二面
20分钟后开始2面
1.描述一下springMVC的工作过程
2.springboot的事务注解是怎么实现的?springboot是怎么实现自动配置的?
(这里之前看过一点源码,把过程说的还算详细)
3.hashmap的底层实现?
(答了底层结构,初始大小、get、put过程,链和红黑树转化条件,hash冲突怎么解决,怎么rehash等,还有rehash是为什么可能出现死循环)
4.抽象类和接口的区别
5.迭代器和for循环的区别
6.网络七层模型,http是哪一层
(本人研究生方向网络相关,http扯了好久,各个版本演进、报文头,各种方法)
7.redis的缓存雪崩、缓存穿透原因现象和解决措施
8.rpc解释一下
(崩溃,小菜鸡没学过)
9.那么如何解决一个高并发场景呢?
(答数据库主从复制读写分离,分库分表,服务器划分不通服务或者负载均衡,加消息队列和缓存)
10.你更想做系统开发方面还是算法方面
11.写一个负载均衡算法,三个服务器,分别可承受10%20%70%的请求,用户每次请求返回一个访问哪台服务器的结果
(本来还想着怎么这么简单,直接产生随机数,条件判断)
面试官:如果我服务器增加了或者有的宕机了,不改代码怎么实现,考虑一下面向对象思想
(开始渐渐崩溃)
12.日常反问
3.26 hr面
1.觉得之前面试官怎么样?(一开始以为是面试体验回访呢)
2.未来有什么规划?
3.实习时间?
4.有什么其他问题?
4.2 hr
1.实习时间?
2.薪资?
3.有其他问题吗?
最后祝大家都心想事成,顺利上岸