原标题:JAVA软件工程师面试遇到的十个问题,这些你都知道吗?

我们找工作的人都会面临一个难题,那就是面试,根据工作性质的不同,面试的要求也会不公,好点的工作,面试官都会问我们一些问题,尤其是学术性较强的工作。那么今天我们就来说说我们学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),将此值解释为该节点的存储地址

问题三:java 是如何进行异常处理的

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally

)由缺省处理器来处理

问题四:dao 是什么及作用

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

问题五:简述spring 的事务传播行为和 隔离级别

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

PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。

PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。

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

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

务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。

Spring的隔离级别

1、Serializable:最严格的级别,事务串行执行,资源消耗最大;

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

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

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

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

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

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

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

问题七:forward与redirect 的区别?有哪些方式实现

2).重定向的时候可以保存回话信息,因此可以使用request来进行参数传递,在新页面可以使用request.getAttribute ()来得到参数。而response.sendRed

irect()不支持此通过request进行参数传递。它唯一的传值方式为response.sendRedirect(“example.jsp?aa=123”),在新的页面通过request.getParameter(“aa”)来得到参数值

问题八:静态的多态和动态的多态的区别

静态的多态: 即为重载 ;方法名相同,参数个数或类型不相同。(overloading)

动态的多态: 即为重写;子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法 实现接口的实例传与接口的引用调用的实现类的方法。

问题九:extends和implement的不同

extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了 比如 class A extends B implements C,D,E

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

Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而 DetachedCriteria 是离线的,创建时无需 Session,DetachedCriteria 提供了 2 个静态方法 forClass(Class) 或 forEntityName(Name) 进行DetachedCriteria 实例的创建。

【332】在IT行业中,程序员的学历真的重要……不重要么?

【333】Java后端2017书单推荐

【334】Java程序员十年后还能有现在的高薪吗?

【335】IT企业里,为什么好好干活的会败给外来的和尚

【336】听惯了 QQ 音乐、酷狗音乐的你,想知道推荐模型是咋回事么?返回搜狐,查看更多

责任编辑:

java工程师面试常见问题_JAVA软件工程师面试遇到的十个问题,这些你都知道吗?...相关推荐

  1. java软件工程师工作业绩_JAVA软件工程师简历自我评价

    1 / 9 JAVA 软件工程师简历自我评价 具有很强的团队精神,有良 好的组织和协调能力,有强烈的集体荣誉感. 自学能力强,喜欢钻研新技术,敢于面对和克服困难. 熟练使用 spring+struts ...

  2. java软件工程师工作业绩_java软件工程师个人简历

    ★精品文档★ 2016 全新精品资料 - 全新公文范文 - 全程指导写作 – 独家原创 1 / 3 java 软件工程师个人简历 用人单位的在筛选简历的时候,首先就是看其整体形 象,而整体形象也是第一 ...

  3. java软件工程师工作业绩_java软件工程师,工作总结

    java 软件工程师 , 工作总结 篇一:软件开发工程师个人年终工作总结范文 软件开发工程师个人年终工作总结范文 作为一个软件开发工程师(我也是一名软件开发工程 师) ,所实在的如果每年只做那么一两个 ...

  4. java软件工程师工作业绩_java软件工程师工作总结_1

    java 软件工程师工作总结 篇一:软件开发工程师个人年终工作总结范文 软件开发工程师个人年终工作总结范文 作为一个软件开发工程师(我也是一名软件开发工程 师),所实在的如果每年只做那么一两个项目,年 ...

  5. java工程师待遇_Java软件工程师工资待遇详解

    Java软件工程师工资待遇详解 时间:2018-08-16     来源:未知 Java软件工程师工资待遇情况怎么样?Java软件工程师的工资水平与哪些因素有关呢?今天小编从这两方面和大家来进行分析一 ...

  6. 研究生、本科生Java开发、后台、软件工程师秋招春招经验

    研究生.本科生Java开发.后台.软件工程师秋招春招经验 在2020年10月份的时候结束了自己的秋招过程.在秋招过程中,我也算是大厂中厂都拿过多个offer.在这个过程.在这半年的秋招过程中,通过自己 ...

  7. 周哲_java软件工程师 简历

    周哲_java软件工程师 个人信息 姓    名: 周哲 性    别: 男 年    龄: 21 籍    贯: 河北 石家庄 身份证: 43042619920403631x 电子邮箱: z5052 ...

  8. java开发工程师报名费多少_java开发工程师薪水有多少

    一般情况下的JAVA软件工程师是分四个等级,从软件技术员到助理软件工程师,再到软件工程师,成为高级软件工程师. 根据统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达到全部需求量的60% ...

  9. 中级计算机技术工程师报名资格,中级软件工程师证书报考条件有哪些要求?

    中级软件工程师证书报考条件有哪些要求?软件工程师资格证认证考试分助理,初级,高级工程师.考试合格者由国家人事部和信息产业部颁发相应级别的计算机软件专业技术资格证书.报考资格考试又达到水平考试合格标准者 ...

最新文章

  1. 华为云计算基础-华为云计算套件
  2. mysql两列数据去重_CiteSpace多数据库一键去重4.0-知网、万方、维普数据库
  3. oracle条件批量更新表数据
  4. Autolayout屏幕适配——代码实现(苹果公司 / VFL语言 / 第三方框架Masonry)
  5. 二十五个软件测试经典面试题
  6. 混频器的噪声来源与抑制方法
  7. “esxcli software vib” commands to patch an ESXi 5.x/6.x host (2008939)
  8. 直播预告:Envoy Core Maintainer 跨洋解读 Envoy 技术(中文)
  9. IOC流程解析-BeanFactory的创建
  10. 使用docer创建spring boot镜像
  11. 实验一 Java编程基础
  12. android 查看cpu 工具6,Android 之CPU监控命令
  13. Android-涂鸦板
  14. 获取汉字的拼音首字母
  15. 台式机是计算机进入睡眠状态,HP电脑显示器即将进入睡眠状态
  16. NTC热敏电阻电阻与温度之间的转换公式
  17. CRUX下实现进程隐藏(2)
  18. Android特效专辑(一)——水波纹过渡特效(首页)
  19. 经纬度两点距离计算器_怎么确定最佳观影距离?内含懒人计算器
  20. 计算机英语编码表,在计算机系统中,英文字符的编码一般采用( )。

热门文章

  1. 修复谷歌拼音输入法已停止运行
  2. matlab等高线不显示,Matlab提示ZData 为非有限时,无法显示等高线图
  3. java web设置首页_java web设置默认首页方法
  4. 陪审团(01背包, 难)
  5. 【kafka专栏】安全认证之SCRAM动态用户管理的方式
  6. 外部访问docker容器(docker run -p/-P 指令)
  7. python 保存网页为html_如何使用Python保存“完整网页”而不仅仅是基本的html
  8. BZOJ 4408: [Fjoi 2016]神秘数(可持久化线段树)
  9. 怎么申请企业电子邮箱?TOM企业邮箱注册电子邮件流程详解
  10. 蛊惑者马云发家史(曾推毛氏运动唐僧团队)一