开头
提起Spring,大家肯定不陌生,它是每一个Java开发者绕不过去的坎。Spring 框架为基于 java 的企业应用程序提供了一整套解决方案,方便开发人员在框架基础快速进行业务开发。
我最近一直在研究大厂的面试,发现现在的不论大大小小的互联网公司,Spring都是一个绕不开的话题,而且仅仅是 Spring 的面试,从最开始的官网入门到现在源码的深度分析。主要就是四个系列:
美团面试经历(还原最真实的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模型
- 平时怎么去学习的?
- 为什么你说学习了要去实践?
- 说一下的最大的优点和缺点
- 举一下你缺点的例子
- 想象一下你几十年后是怎样的生活?
- 你觉得最痛苦的一段时间
- 对你影响最大的一件事情
- 在安排活动的过程中有没有发生什么冲突?
- 你有什么崇拜的人吗?
- 你有什么想问的?
总结
阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了,文章开头说要免费给大家分享我的复习资料,下面就给大家展示一下——点击这里免费获取我的复习刷题宝典
1、JAVA面试核心知识整理(PDF):包含JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。
2、Redis学习笔记及学习思维脑图
3、数据面试必备20题+数据库性能优化的21个最佳实践
s学习笔记及学习思维脑图
[外链图片转存中…(img-fP4Rdmg0-1619597001498)]
3、数据面试必备20题+数据库性能优化的21个最佳实践
[外链图片转存中…(img-D4oF4psF-1619597001500)]