明知道自己肯定达不到阿里的要求的,所以自己把相关的面试问题都记录下来,以便以后复习使用。
1.你常用的设计模式有哪些?
2.工厂模式和策略模式的区别有哪些?
3.什么情况下你会用工厂模式或者策略模式?
4.RabbitMQ在你的服务中你是怎样使用的?
5.消息的持久化如何实现?
6.考虑多种特殊环境下,怎样使得消息不丢失,不重复消费?(服务宕机,队列溢出等情况)
7.RabbitMQ的ACK回执机制,如何实现的?
8.如果在线上环境中,RabbitMQ出现宕机了,怎样保证服务的高可用?
9.秒杀功能中怎样保证同步消费消息(这个具体我没懂,我只说了异步消费)
10.Redis怎样保证服务的高可用
11.数据库用过什么锁?悲观锁乐观锁怎么用?什么场景下使用?
12.了解过线程池的底层原理么?为什么要用线程池?线程池的参数有什么意义?
13.Sychornized会出现死锁么?什么环境下会死锁?怎样避免死锁?
14.听过CAS么?说下你理解的CAS。
15.递归会出现什么样子的问题?内存溢出的时候是堆溢出还是栈溢出?
15.算法题
其他具体的也不是很记得了,基本全程都是在聊并发相关的。反正有的回答上,有的回答有点模糊 - -。只有面试才能知道自己的短板具体在哪。