一.面试题

1.请解释Spring如何解决循环依赖问题?

2.Spring中的事务传播行为有哪些?

3.SpringBoot自动装配的原理是什么?

4.谈谈你对SpringCloud常用组件的理解?

5.Http和RPC区别?

6.谈谈如何解决微服务中能够的服务雪崩问题?

7.线上接口负载剧增,快扛不住了,你有什么解决方案?

8.什么是缓存穿透,如何解决?

9.MyBatis分几级缓存?作用域是什么?如果同时存在,查询的先后顺序是什么?

10.数据库索引的优缺点是什么?

11.请描述线程的生命周期?及在何种条件下,实现状态的不同转换。

12.请描述一下双亲委派机制是什么?

13.ArrayList和LinkedLis的异同点是设么?一般你开发中用哪个?为什么?

14.请描述一下JVM是如何实现对象垃圾回收的。

15.Spring框架中常见的设计模式有哪些?请理解3-5个。

实操题:

1.手写线程安全+懒汉式单例模式。

2.验证回文串 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。

输入: s = "A man, a plan, a canal: Panama" 输出:true 解释:"amanaplanacanalpanama" 是回文串。

1
2
3

示例 2:

输入:s = "race a car" 输出:false 解释:"raceacar" 不是回文串。

3.请使用四种方式创建线程,并测试之。

4.请实现不低于3中方式,实现int a=2,b=3;的两数交换;

5.请使用模拟代码实现Ribbon的负载均衡的轮询算法.