day01

一、Maven中如何管理依赖包

答:

第一种:针对所有子项目中一定会用到的依赖包,可以在父项目中的pom.xml文件写入<dependency></dependency>,

而子项目中可以不用写。

第二种:针对并不一定所有子项目中都会用到的依赖包,可以在父项目中的pom.xml文件写入<dependencyManagement></dependencyManagement>,然后在这个标签内部写<dependency></dependency>,同时在需要这个依赖包的子项目的

pom.xml文件中,则可以直接添加对应的<dependency></dependency>,且不用写明版本(这代表这个依赖包的版本直接

交个父项目管理了)。

 

二、你们的项目为何要分前台和后台两个应用,分析这样做的优点?

答:

首先是安全性角度的考虑,后台管理系统只需公司的管理员使用,而前台系统是给广大用户日常使用的,这两个应用的URL

是不同的,避免了用户通过前台的域名,来访问到后台管理模块功能;

其次,从性能方面考虑,两个应用分开,可以使发送到前后台的不同请求,分散到不同的服务器中取,降低单个服务器的

压力。

最后,前台系统是给用户使用的,需要追求用户体验和美观,而后台则只需要功能正常即可,在界面需求上可以采用不同

的视觉和感官的风格。

 

三、你们p2p项目是自建资金池么?

答:

不是。因为我们的项目是从2016年下半年开始启动的,而早在当年的3月,就有政策规定,p2p平台不能自建资金池,

因此我们项目采取的是第三方资金托管的方式。

 

四、什么是乐观锁,它能解决什么问题?

答:

乐观锁:也就是说,它很乐观,每次读取数据的时候,都假设没有其他人正在改数据,所以查询的过程中,并不会上锁,

但在更新数据的时候,则会判断,同一时间,有没有别人在更改这条数据,这体现在sql语句上就是:

update XXX set version = version + 1,.... = xxx where version = xxx

也就是会加上版本或时间戳的字段,只有版本没变更的情况下才会执行本次更新数据的操作

这主要的作用是可以解决丢失更新/脏读 的问题。

五、事务是什么,事务有哪些特性?事务的作用?

1)在数据库中,事务是指一组逻辑操作单元,可以让数据从一种状态转变为另一种状态;

2)数据库中的事务拥有四种特性

原子性Atomicity:事务是一个不可分割的工作单元,其中的操作要么都发生,要么都不发生;

一致性Consistency:事务必须使数据库从一个一致性状态变成另一个一致性状态(数据不被破坏);

隔离性Isolation:一个事务的执行不能被另一个事务所干扰,这个事务内部的操作及使用的数据,对于并发的其它事务来说,应该是隔离的,

并发执行的各事务之间应该是互不干扰的;

持久性Durability:数据库中数据的改变是永久的,不会因为接下来的其它操作或数据库故障而对其有任何影响。

事务的左右:

为确保数据库中数据的一致性,数据的操纵应当是离散且成组的逻辑单元,当它全部成功执行时,数据的一致性可以保持,若有部分失败了,

整个事务的操纵应该被视为失败,则所有操作的数据应该被回退到事务执行前的初始状态下。

 

六、简述你所知道的一个SpringBoot应用的启动原理?

答:

SpringBoot应用可以在一个主启动类中通过运行main方法或者是直接打成jar包来启动。

在主启动类上会贴一个@SpringBootApplication注解,该注解由@Configuration、@EnableAutoConfiguration、@ComponentScan三个

注解修饰:

@Configuration表示该类的作用是SpringBoot配置文件类;

@EnableAutoConfiguration表示该类启动时,自动加载SpringBoot默认需要自动配置的类,例如WebMvcAutoConfiguration;

@ComponentScan表示程序启动时,自动扫描这个类所在的包及其子包,同时也可以在后面括号内写上指定要扫描的包,通过这个注解,

可以统一将@Service、@Controller、@Component和@Repository这几个注解修饰的类自动注册为Spring Beans;

在SpringBoot项目中内嵌了web服务器,例如tomcat,我们通过主启动类启动应用时,会根据@SpringBootApplication注解的配置初始化

容器,并将应用运行在内嵌的web服务器上。

 

七、简述@Configuration、@ComponentScan和@Bean注解各自的作用?

答:

@Configuration:贴上该注解的类会Spring当成配置对象解析,可以在给配置对象中创建bean且注入到容器中(相当于之前Spring项目中

applicationContext.xml中配置的bean);

@ComponentScan:该注解一般和@Configuration注解配合使用,默认可以扫描贴上该注解的类所在的包及其子包,如果该注解后面的

括号内写了指定的包,则只扫描该包的路径;

@Bean:这个注解也配合@Configuration使用,把贴上该注解的方法返回的类注入到Spring容器中。

 

八、阐述@ConfigurationProperties的作用?

答:

该注解起到参数绑定的作用,可以把配置文件的配置信息绑定到Properties对象上,可控制具体哪些前缀的配置信息需要绑定。

 

九、二进制的运算:

0110和1010对应的十进制:

6和10

0101|1010:

1111

0110&1010:

0010

posted on 2018-10-23 22:24  一篇读罢头飞雪  阅读(83)  评论(0)    收藏  举报

导航