面试题 持续更新(框架篇)
1.Spring IOC/AOP
IOC:
控制反转,指程序中对象的获取方式发生了反转,本来是用new的方式创建的,转变为由第三方框架创建,降低了对象之间的耦合度。
比如有一天你在家里又饿又渴,想吃东西,那么你可以打开外卖软件,告诉他们你需要什么,然后他们就会帮忙送到家门口,大大简化了你下楼,查位置,打车过去,打车回来的操作,你只需要注册外卖软件的会员,然后告诉他们你想要什么,就可以了。
AOP:
面向切面编程,指将程序中重复的业务逻辑(比如安全,日志,事物等),封装成一个切面,然后注入到具体的业务逻辑中去。
比如一个银行系统中有取款流程和查询余额流程两个不同的流程,而这两个流程中有一个相同的验证用户的流程,那么我们可以吧验证用户的代码提取出来,不放到主流程中,赵另一个地方,写好验证用户的代码,然后告诉Spring你要把这段代码加到哪几个地方,Spring就会帮你加过去,而不需要自己Copy过去。
2.RabbitMQ是如何解耦的,应用场景有哪些
1.任务异步处理:
例如一个订单系统,用户点击完下单按钮,需要等待过久才能得到下单响应,处理速度慢,积压在系统中的请求就更多&