美团面试经历(还原最真实的4面)
美团一面:
1、自我介绍
2、聊项目相关
- 介绍项目
- 怎么保证redis与Mysql的数据一致性
- 见你写了个加随机数预防缓存雪崩,解释一下
- 未改进和改进后的Jmter测试性能对比
3、Redis
- 为什么选择Redis作为缓存?
- 为什么Redis的性能十分的高?
- 说一下单进程、单线程的Redis和你平时写的多线程程序的对比
- 如何保证Redis的高可用?(哨兵、持久化策略RDB、AOF)
- 解释一下哨兵、RDB、AOF
- 主从一致性
- Redis数据淘汰策略
- 能说一下分布式事务吗?
- setnx是事务吗?
4、Mysql
- 解释一下事务
- 讲一讲事务隔离级别
- 为什么使用B+树作为索引
- 聚簇索引和非聚簇索引的区别
5、Java
- Java是如何保证其安全性的
- 刚见你说了Java 内存泄漏问题,解释一下什么情况下会出现
- 说一下BIO、NIO、AIO
6、手撕算法
- 一个数组找出出现次数最多的一个数,如果多个数出现的次数相同则输出第一个
- 生产者消费者(一对一)
7、其它
- 平时怎么学习的
- 有什么需要问的吗?
美团二面:
1、手撕算法
- 10个多线程保证 i从0加到10 (差点翻车,主线程忙等另外10个线程完结)
- 反转链表
- 上台阶(n=80)
2、操作系统
- 常用的linux命令说一下
- 操作系统中的信号 和 信号量有什么关系
- epoll 和 Selector 有什么区别?
3、计算机网络
- 说一下拥塞控制
4、数据结构
- 说一下红黑树,你平时用的技术哪里用到了它?
- 哈希表怎么处理冲突?
5、项目相关
- 把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?
- spring 和 springboot的关系你是怎么理解的?
- Spring IOC和AOP说一下你的理解
- 为什么用消息队列?
- 对于消息的重复消费你有什么设计方案吗?
美团三面:
- 你怎么学的Java啊?
- 设计模式了解吗?单例讲一下,懒汉饿汉double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下
- 联合索引什么时候不会触发索引?
- AOP了解么,有什么好处,如何使用,怎么实现的?
- 支付宝到银行的转账业务怎么实现?
- redis实现分布式锁
- 三台机器集群,按不同权重访问,怎么做?
美团四面(hr):
- 先介绍一下你自己吧
- 说一下四种IO模型
- 平时怎么去学习的?
- 为什么你说学习了要去实践?
- 说一下的最大的优点和缺点
- 举一下你缺点的例子
- 想象一下你几十年后是怎样的生活?
- 你觉得最痛苦的一段时间
- 对你影响最大的一件事情
- 在安排活动的过程中有没有发生什么冲突?
- 你有什么崇拜的人吗?
- 你有什么想问的?
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取
来学习,当自己能上手再买这些书看又是非常有收获的事了。
这些视频如果需要的话,可以无偿分享给大家,点击这里即可免费领取