北京时时彩开奖结果

全国咨询/投诉热线:400-618-4000

java软件工程师面试试题

创建时间:2019年01月25日13时15分 浏?#26469;问?script src="http://h5.itcast.cn/itcast/view/id/2019-01-25 13:15:16">次

我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作,面试官都会问我们一些问题,尤其是学术性较强的工作。那么今天我们就来说说我们学JAVA的求职者面试时会遇到的一些面试题及答案吧。

问题一:struts中的prepare怎么用?

答:prepare是在validate拦截器之前执行

在使用struts2 checkboxlist,select绑定list时,有时候会出现 以下异常

The requested list key 'users' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}

- [unknown location]这样的错误。是因为list的值为空

解决办法是把初始化list的工作放到prepare拦截器中

public class RoleAction extends ActionSupport implemen

ts Preparable{

@Override

public void prepare() throws Exception {

//初始化list

} }

问题二:haShtable的原理

答:原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此?#21040;?#37322;为?#23186;?#28857;的存储地址问题三:java 是如何进行异常处理的Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java?#26657;?#27599;个异常都是一个对象,它是Throwable类或其它子类的?#36947;?#24403;一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally

)由缺省处理器来处理

问题四:dao 是什么及作用

dao 是数据访问对象 DAO负责管理与数据源的连接来获取和储存其中的数据

问题五?#26477;?#36848;spring 的事务传播行为和 隔离级别

spring 的事务传播行为: Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生?#30701;?#35843;用时事务如何进行传播:

PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务?#26657;尤?#21040;这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS:支?#20540;?#21069;事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事

务,?#35757;?#21069;事务?#31227;稹?br />
PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就?#35757;?#21069;事务?#31227;稹?br />
PROPAGATION_NEVER:以非事务方式执?#26657;?#22914;果当前存在事务,则抛出异常。

PROPAGATION_NESTED:如果当前存在事务,则在?#30701;?#20107;务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

Spring 的隔离级别

1、Serializable:最严格的级别,事务串行执?#26657;试?#28040;耗最大;

2、REPEATABLE READ:保证了一个事务不会修改已经由另

一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。

3、READ COMMITTED:大多数主流数据库的默认事务等级,保证了一个事务不会读到另一个并行事务已修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。

4、Read Uncommitted:保证了读取过程中不会读取到非法数据。

问题六:Struts2实现拦截器的原理?

实现原理:Struts2拦截器是在访问某个Action或Action的

某个方法、字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一?#36136;?#29616;。当请求struts2的action时,Struts 2会查找配置文件,并根据其配置?#36947;?#21270;相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。

问题七:forward与redirect 的区别??#24515;?#20123;方式实现1).重定向后url地址栏地址不变还是原来的地址;而response.sendRedirect()重定向后url地址栏地址显示的请求后的新地址。

2).重定向的时候可?#21592;?#23384;回话信息,因此可以使用request来进行?#38382;?#20256;递,在新页面可以使用request.getAttribute ()来得到?#38382;?#32780;response.sendRedirect()不支?#25191;?#36890;过request进行?#38382;?#20256;递。它唯一的传值方式为response.sendRedirect(“example.jsp?aa=123”),在新的页面通过request.getParameter(“aa”)来得到?#38382;?#20540;

问题八:静态的多态?#25237;?#24577;的多态的区别

静态的多态: ?#27425;?#37325;载 ;方法名相同,?#38382;?#20010;数或类型不相同。(overloading)

动态的多态: ?#27425;?#37325;写;子类覆盖父类的方法,将子类的?#36947;?#20256;与父类的引用调用的是子类的方法 实现接口的?#36947;?#20256;与接口的引用调用的实现类的方法。

问题九:extends和implement的不同

extends是?#22363;?#29238;类,只要那个类不是声明为final或者那个类定义为abstract的就能?#22363;校琂AVA中不支持多重?#22363;校?#20294;是可以用接口来实?#37073;?#36825;样就要用到implements,?#22363;?#21482;能?#22363;?#19968;个类,但implements可以实现多个接口,用?#27721;?#20998;开就行了 ?#28909;?class A extends B implements C,D,E

问题十:Hibernate中离线查询与在线查询的区别

Criteria 和 DetachedCriteria 的主要区别在于创建的?#38382;?#19981;一样, Criteria 是在线的,所?#36816;?#26159;由 Hibernate Session 进行创建的;而DetachedCriteria 是离线的,创建时无需 Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCriteria ?#36947;?#30340;创建。
java培训
北京时时彩开奖结果
彩票走走势图分析快三 好运南京麻将安卓版 乐天盈股票配资平台 5月27日短线股票推荐 陕西快乐十分直播 贵州茅台股票行情今天 英超直播吧360 湖北快3今日开奖查 河北快3开奖结果图 哈皮河南麻将安卓版