招商银行电话面试
1.自我介绍
2.你项目中负责什么部分
介绍一下你项目中有关的需求对应的解决方法。
3.你知道事务的管理和隔离性吗?
事务:一组业务操作ABCD,要么全部成功,要么全部不成功。
l 特性:ACID
原子性:整体
一致性:完成
隔离性:并发
持久性:结果
事务管理:
PROPAGATION_REQUIRED , required , 必须 【默认值】
支持当前事务,A如果有事务,B将使用该事务。
如果A没有事务,B将创建一个新的事务。
PROPAGATION_SUPPORTS ,supports ,支持
支持当前事务,A如果有事务,B将使用该事务。
如果A没有事务,B将以非事务执行。
PROPAGATION_MANDATORY,mandatory ,强制
支持当前事务,A如果有事务,B将使用该事务。
如果A没有事务,B将抛异常。
PROPAGATION_REQUIRES_NEW , requires_new ,必须新的
如果A有事务,将A的事务挂起,B创建一个新的事务
如果A没有事务,B创建一个新的事务
PROPAGATION_NOT_SUPPORTED ,not_supported ,不支持
如果A有事务,将A的事务挂起,B将以非事务执行
如果A没有事务,B将以非事务执行
PROPAGATION_NEVER ,never,从不
如果A有事务,B将抛异常
如果A没有事务,B将以非事务执行
PROPAGATION_NESTED ,nested ,嵌套
A和B底层采用保存点机制,形成嵌套事务。
l 隔离问题:
脏读:一个事务读到另一个事务没有提交的数据
不可重复读:一个事务读到另一个事务已提交的数据(update)
虚读(幻读):一个事务读到另一个事务已提交的数据(insert)
l 隔离级别:
read uncommitted:读未提交。存在3个问题
read committed:读已提交。解决脏读,存在2个问题
repeatable read:可重复读。解决:脏读、不可重复读,存在1个问题。
serializable :串行化。都解决,单事务。
4.springMVC中Ioc和DI
Ioc是怎样实现的,也就是说介绍一下Ioc的功能
5.springMVC中的单例和多例模式介绍?
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)
singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。
prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。
Spring bean 默认是单例模式。
7.在多例中的并发执行
Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方。单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。
当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这是多个线程会并发执行该请求多对应的业务逻辑(成员方法),此时就要注意了,如果该处理逻辑中有对该单例状态的修改(体现为该单列的成员属性),则必须考虑线程同步问题。
8.java中的异常处理机制介绍一下
分为1.程序可处理异常。2.程序无法处理的错误异常(非检查异常)
其中程序可处理异常分为运行时异常和非运行时异常,非运行时异常需要需要检查异常(即使用cry{}catch{}接收异常即在编译阶段就需要处理异常),运行时异常(如NullPointerException)即在运行时才能发现的异常
整体来说问了有很多问题都没有回答上,但是感觉他在项目上比较有兴趣,基本上问的题目只答出来了一半-----今天竟然忘记说自己曾经发表过论文了,凉了的赶脚。
最后补充一下,也面试了有小几次了,我认为在最后面试官问你还有什么想问的东西,
1.你可以问一下之前你没有回答上的问题的答案:(但是一般他可能会让你去百度)
一、可以让面试管认为你这个人比较勤学好问;二、也可以提升自己,至少在下次如果有公司问到同样的问题后不会再答错了。
也祝大家早提拿到满意发offer。
2.问问公司的学习气氛?公司常用的框架有哪些?