面试题怎么回答
- 语言组织一定要流畅 (说明我很熟悉)
- 回答问题的采用总分模式作答 (调理清晰)
- 所有的知识点都不是孤立的,在回答的过程中尽量回答全面。全面指的是点到即可。(预埋下一题,变被动为主动)面试官已经被你拿捏
- 对比作答,比如问redis的集群的选举模式。你巴拉巴拉说一堆,后面说一句。选举模式,很多地方都有使用。像 zk的选举啦,点一下。(知识面广,我能举一反三)
- 就重闭轻,回答过程中会的就多说点,不会的不要提。或者点一下。(露馅、露馅)
小小面试题练练手~
说说你对spring的理解?
spring就我个人理解是这样的:
那现在谈Spring的话,就要说两个方面了。一个就是spring 框架本身和Spring的生态了。
一、那我就先说下Spring 框架本身吧
它是一个轻量级的框架,在我们现在的开发中是必不可少的选择,它作为框架的基石一个粘合剂,能够很好的整合其他优秀的框架
那说到Spring,就要提到它最主要的两大核心功能ioc和aop。
ioc控制反转,spring通过DI依赖注入的方式,将我们手动创建对象的方式变成交给spring容器创建,并管理bean的整个生命周期。在启动spring容器的时候,通过规定的方式将对象创建并存放到spring ioc容器,在业务代码中需要某个对象的时候,就只需要注入到我们的业务代码中来。(后续会问的问题:注入的三种方式,三种方式的区别)
aop切面编程,当我们需要对某些业务方法进行相同功能的增强的时候,我们就可以利用到aop技术将我们公共的代码抽取出来,譬如项目中常用的日志技术,访问记录,事务等应用。(后续会问的问题:AOP和代理的区别是什么?动态代理与cglib的区别?)
ioc和aop技术的应用使得我们开发人员专注于业务的开发,并且降低了代码之间的耦合。
二、那Spring另一个要谈的就是Spring的生态了。
现在的再聊spring的话也不仅仅是指代spring框架本身了,而是一整套的spring家族产品了。spring社区在企业级开发中提供了各种解决方案。持久层的springdate、权限方面的 springsecurity、mvc还有现在主流的 微服务 方向的springcloud等。(上述提到的框架要能说个123,尤其注意微服务)
所以现在spring已经不是一个轻量级的框架了,而是一个大而全的一整套解决方案。
我会慢慢更新上去,尽量以人话去组织这些问题