前言
不知道大家有没有这样的经历,明明感觉自己这个技术掌握的还行,能写在简历里肯定是有点自信的,但是被面试官一问,就感觉啥也不是
当我从面试的大楼里出来的时候脑袋里还是昏昏沉沉的,你压根不知道我经历了什么,我就面试一个开发岗位,有必要问我这么多
后来咨询了一下我在阿里的师兄,他是这么说的:现在的就业竞争很激烈,在考察技术的时候不单单是停留在应用层面,底层的原理你也要有所了解,这样在遇到不可控问题的时候你才能游刃有余的解决掉。
跟他谈了蛮久,了解到我一些问题后,直接给了我一份他的学习笔记,让我回去用两个星期啃完,大家一起来看看吧
由于篇幅影响,只展示一下大概内容吧
Spring技术内幕深入解析Spring架构与设计原理
Spring核心实现
![image](https://img.php1.cn/3cd4a/1eebe/cd5/443b30bb45e66690.webp)
美团面试经历(还原最真实的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模型
- 平时怎么去学习的?
- 为什么你说学习了要去实践?
- 说一下的最大的优点和缺点
- 举一下你缺点的例子
- 想象一下你几十年后是怎样的生活?
- 你觉得最痛苦的一段时间
- 对你影响最大的一件事情
- 在安排活动的过程中有没有发生什么冲突?
- 你有什么崇拜的人吗?
- 你有什么想问的?
最后
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**点赞后点击这里免费下载文章资料!**
![](https://img.php1.cn/3cd4a/1eebe/cd5/5287a7b3296ea13e.webp)
![](https://img.php1.cn/3cd4a/1eebe/cd5/8343fdbffb0056b5.webp)
![](https://img.php1.cn/3cd4a/9b0d/ae9/2d998ad7838fbf16.jpeg)
[外链图片转存中…(img-aC45028d-1619667771717)]
[外链图片转存中…(img-824lSaH1-1619667771721)]
[外链图片转存中…(img-dxPRzniR-1619667771722)]
![](https://img.php1.cn/3cd4a/1eebe/cd5/ddcc574beb16294e.jpeg)