美团 暑期实习 二面凉经
全程项目拷打,没有听实习或者项目做了什么,直接根据实习涉及的技术栈追问八股,缓了几天才缓过来
非技术问题:
- 在公司实习做的项目和学校做的项目有什么不一样的地方?有什么挑战?在学校学到的东西和现实用到的有什么不一样的?
- 怎么理解互联网业务?对于业务开发有什么想法?怎么理解平台经济?平台经济未来的发展方向是什么样的?
- 对互联网行业,产业,商业模式的思考,对经济模式是否有信心,增长点
- 遇到了什么困难?通过自己的努力解决困难的经历?
- 最近看了什么书?有看书的习惯吗?
- 业务开发和技术开发的边界是什么?怎么快速学习新的业务?
技术问题:
1. 讲一下springcloud的组件
2. consul服务中心的原理,为什么要服务注册,如何完成服务注册?为什么不单独缓存服务的地址信息?注册服务列表的内容?健康状态?怎么监控服务是否在线?心跳检测能完全完成健康监测功能吗?
3. 一致性问题,服务状态改变,服务健康记录如何修改?
4. CAP理论,CAP和注册中心的关系
5. spring和springMVC,什么是MVC
6. IO怎么理解?为什么IO次数多会有瓶颈?操作系统涉及的IO模型?怎么实现网络通信?用户态和内核态?
7. JAVA的IO模型?netty框架原理?零拷贝底层机制?netty和Kafka怎么实现零拷贝?
8. Kafka是什么语言编写的?看过源码吗?
9. MySQL常用的存储引擎?有哪些数据结构的索引?innodb支持哪些索引?
10. 哈希索引?什么场合适合哈希索引?为什么不用哈希索引?
11. B+树相比于B树的优点?innodb为什么选择B+树?为什么不用二叉树?为什么选择N叉结构?层数增加对于磁盘和内存有什么样的影响?为什么innodb存储引擎不涉及成hashmap一样的底层机制?
12. 聚簇索引,非聚簇索引,主键索引
13. 什么样的字段适合加索引?为什么不所有字段加索引?超大数据量的情况下,姓名和学号两种情况下选择哪一个作为索引?考虑不断新增数据的情况?每新增一条数据,索引会发生什么变化?B+树会发生什么变化?
14. redis为什么快?redis的IO模型?
15. 跳表,为什么redis选择跳表?为什么不用二叉树,红黑树?
面试官让多思考为什么要设计各个情况的数据结构。很多没答上来,太菜了,没好好做项目复盘和八股理解,面试经验也少,很感激这位面试官耐心跟我聊了这么久。