失踪人口终于更新了答案,我保证会更新完毕的!想直接看题目的小伙伴可以来这个传送门:应粉丝要求,请假一周,面了9家深圳非外包初级开发,只为刷一刷真题(文末有福利)
答案汇总拿来吧你!六十题初级开发刷真题答案(7-1)来了来了他来了!六十题初级开发刷真题答案(1-6)Spring的常用注解有哪些思路二话不说,就是为了考验你是否有真实开发经验,拿下!我们只需说一些常用的注解和他们的意义即可
答案SpringBootApplication:这个注解是SpringBoot最核心的注解,用在SpringBoot的主类上,标识这是一个SpringBoot应用,用来开启SpringBoot的各项能力。实际上这个注解是Configuration,EnableAutoConfiguration,ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以SpringBoot提供了这个统一的注解。Component:泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于Controller、Services等的时候),我们就可以使用Component来标注这个类,把普通pojo实例化到spring容器中。Autowired:在Spring.5引入了Autowired注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过Autowired的使用来消除set,get方法。Bean:Spring的Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。SpringIOC容器管理一个或者多个bean,这些bean都需要在Configuration注解下进行创建,在一个方法上使用Bean注解就表明这个方法需要交给Spring进行管理。Value:Value的作用是通过注解将常量、配置文件中的值、其他bean的属性值注入到变量中,作为变量的初始值。MySQL的事务你说一下对他的理解,他有几种隔离级别思路这道题有点难,讲真一句,被问到的时候我愣了一下,有点难,但是仔细回过神想想,我们首先要拆分面试官的问题,事务、隔离级别,其实就不难!我们首先讲一下啥是事务,然后说一下事务的特性,最后再说隔离级别,满分!
答案事务就是数据库中的事务是指对数据库执行一批操作,这些操作最终要么全部执行成功,要么全部失败,不会存在部分成功的情况。他有ACID四个特性。因为事务的并发问题会导致的问题:脏读、幻读、不可重复读。他有四种隔离级别:
读未提交(READUMCOMMITTED):对方的事务还没有提交,我们当前事务可以读取到对方未提交的数据。这种隔离级别是最低的,读为未提交存在脏读现象,表示堵到了脏数据。读已提交(READCOMMITTED):对方事务提交之后的数据我们才可以读到,这种隔离级别解决了脏读现象,但是却出现了不可重复读现象。这个级别是oracle的默认隔离级别。可重复读(REPEATABLEREAD)MySQL默认:我们无法看到已提交的事务了,这种隔离级别虽然解决了不可重复读的问题,但是却带来了幻读的问题。比方说一个线程删除了数据库中的所有数据,但是我们依然读取的是原来的数据,读到的是数据库的备份。串行化(SERIALIZABLE):将一个事务与其他事务完全地隔离。两个事务不可以并发,线程之间需要排队,也叫作序列化。虽然很安全,但是性能很低且客户的体验不好。Spring的AOP用过吗,一般用它来做做啥,你怎么实现的。思路Spring的AOP可以说是一个很重要的东西,面试官对于他的考察也无可厚非。其实AOP我们常做的就是做一些像日志打印、SQL拦截输出。
答案我们以打印日志为例:
前期准备,设计日志表和日志类,编写日志Dao和Service以及实现自定义注解,注解中加入几个属性,属性可以标识操作的类型(方法是做什么的)编写切面,切点表达式使用上面的注解直接定位到使用注解的方法,编写通知,通过定位到方法,获取上面的注解以及注解的属性,然后从session中直接获取或者从数据库获取当前登录用户的信息,最后根据业务处理一些日志信息之后调用日志Service存储日志。不可重复读和幻读的区别思路不多说,送分题,八股文理解背住满分
答案不可重复读:是同一条记录(一条数据)的内容被其他事物修改了,