高级Java工程师面试题及答案_第1页
高级Java工程师面试题及答案_第2页
高级Java工程师面试题及答案_第3页
高级Java工程师面试题及答案_第4页
高级Java工程师面试题及答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高级Java工程师面试题选择题 各2分 共 44分1. 下列说法正确的是A. Java语言不区分大小写 B. Java程序以类为基本单位 C. JVM为Java虚拟机JVM的英文缩写D. 运行Java程序需要先安装JDK答案:B,C,D2. 下列说法中错误的是A. Java语言是编译执行的 B. Java中使用了多进程技术 C. Java的单行注视以/开头 D. Java语言具有很高的安全性答案:A,B3. 下面不属于Java语言特点的一项是A. 安全性 B. 分布式 C. 移植性 D. 编译执行答案:D4. 下列语句中,正确的项是A . int $ e,a,b=10; B. char c,d=a; C. float e=0.0d; D. double c=0.0f;答案 ABD5. 一个int 类型的常量和一个byte类型常量做减法,结果的类型是A. int B. byte C. char D. float答案 A6. 下列程序段的输出结果是 public class Expressions void printExpr() int x=3,y=4,z=5; System.out.println(x+y+z); A. xyz B. x+y+z C. 12 D. 9答案 C7. 下列关于for循环和while循环的说法中哪些是不正确的? A. for循环能实现的操作,while循环也都能实现 B. for循环判断条件一般是非程序结果C. while循环判断条件一般是程序结果D. 两种循环结构中都必须有循环体,循环体不能为空答案 ABC8. 以下程序段执行后的K值为 int x=10; y=34; k=(xJDOM,dom4jExcelPOI(2) Spring中事务管理支持哪两种方式,并说明他们的优缺点?列举几个Spring事务管理器?列举几种Spring事务管理的配置方法?1.Spring可以通过程序控制和声明两种方式管理事务。程序控制可以精确的控制事务回滚的节点,但是程序与业务代码耦合在一起;声明方式低耦合,但是在对于复杂事务的控制上不如程序控制的方式。2.jdbc做事务管理器,hibernate事务控制管理器,JdoTransactionManager,JtaTransactionManager,OJB事务管理器3.有五种配置方法第一种:每个bean都有一个代理第二种:所有bean共享一个代理基类第三种:使用拦截器第四种:使用tx标签配置管理器第五种:全注释(3) Struts2如何处理一表单多提交?Struts2 Action类需要实现一个Struts2自带的拦截器, erceptor.ServletRequestAware,并且在action中实现多个提交的方法名称,如果没有相应的方法名称,否则会抛出java.lang.NoSuchMethodException异常。例如: JSP页面在action类中必须包含如下方法:public String save()throws Exceptionrequest.setAttribute(result,save+msg+);return save;public String print() throws Exceptionrequest.setAttribute(result,print+msg+);配置文件如下:/result.jsp/result.jsp(4) hibernate中缓存等级及其区别应用1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现(5) Spring生成的bean对象的生命周期有哪些种类?并分别列举这些类型在实际项目中应用。1、singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例。这个单一实例会被存储到单例缓存(singleton cache)中,并且所有针对该bean的后续请求和引用都将返回被缓存的对象实例,这里要注意的是singleton作用域和GOF设计模式中的单例是完全不同的,单例设计模式表示一个ClassLoader中只有一个class存在,而这里的singleton则表示一个容器对应一个bean,也就是说当一个bean被标识为singleton时候, spring的IOC容器中只会存在一个该bean。 2、prototype prototype作用域部署的bean,每一次请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都会产生一个新的bean实例,相当一个new的操作,对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个prototype bean的整个生命周期负责,容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。不管何种作用域,容器都会调用所有对象的初始化生命周期回调方法,而对prototype而言,任何配置好的析构生命周期回调方法都将不会被调用。清除prototype作用域的对象并释放任何prototype bean所持有的昂贵资源,都是客户端代码的职责。(让Spring容器释放被singleton作用域bean占用资源的一种可行方式是,通过使用 bean的后置处理器,该处理器持有要被清除的bean的引用。) 3、request request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效。4、session session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效,配置实例: 5、global session global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念,它被所有构成某个 portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。如果你在web中使用global session作用域来标识bean,那么web会自动当成session类型来使用。 (6) Struts2页面开发中常用标签使用说明,列举至少3个1.往action里传值的使用方式: a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。 b. 可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);1.2显示标签 property 用于输出指定值: 2. 当action返回到指定页面是,可以通过该标签显示action中的属性信息。(注 userName必须在action中存在,并有GET方法)。 3往对象中传值 用于从页面往action中的对象内传值: 该标签可以在页面中向action中的实体对象内直接传值。(注:在action中要存在user对象,并有SET/GET方法。) 4判断 用于在页面中判断指定数据 . . 该标签用于对指定的数据进行判断,但指定的数据必须在action中存在。 5迭代用于将List、Map、ArrayList等集合进行循环遍历 该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。 6URL地址标签,用于生成一个URL地址,可以通过URL标签指定的子元素向URL地址发送请求参数 其中action为请求地址,param子元素为地址后面所带的参数。 7超链接 一般和标签一起使用,用于带多个参数。 a href= 超链接 8set标签,用于将某个值放入指定的范围内。例如application,session等。 将user值放入request范围内数据库部分 共8分(1) 有如下关系模式实例,并根据问题写出完整SQL语句: S(SNO,SNAME, SCITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);其中:S为供应商表,SNO:供应商号,SNAME:供应商名称,SCITY:供应商所在城市。P为零件表,PNO:零件号,PNAME:零件名称,COLOR:零件颜色,WEIGHT:零件重量。J为工程项目表,JNO:工程项目号,JNAME:项目名,CITY:项目所在城市SPJ为供应情况吧,SNO:为供应商号,PNO:零件号,JNO:工程项目号,QTY:供应数量问:1.写出没有使用天津供应商生产的红色零件的工程号JNO?2.写出至少使用了S1(SNO)供应商所提供的全部零件的工程号JNO?3.统计每种零件的供应总量?4.建立视图VSJ,它记录了给“北京城建”工程项目的供应零件的情况,包括供应商号、零件号和零件数量1.有如下关系模式实例,并根据问题写出完整SQL语句:supplier (SNO,SNAME, SCITY);product (PNO,PNAME,COLOR,WEIGHT);project (JNO,JNAME,CITY);orders (SNO,PNO,JNO,QTY);其中:supplier为供应商表,SNO:供应商号,SNAME:供应商名称,SCITY:供应商所在城市。product为零件表,PNO:零件号,PNAME:零件名称,COLOR:零件颜色,WEIGHT:零件重量。project为工程项目表,JNO:工程项目号,JNAME:项目名,CITY:项目所在城市orders为供应情况表,SNO:为供应商号,PNO:零件号,JNO:工程项目号,QTY:供应数量问:1)写出没有使用天津供应商生产的红色零件的工程号JNO?2)统计每种零件的供应总量?3)建立视图VSJ,它记录了给“北京城建”工程项目的供应零件的情况,包括供应商号、零件号和零件数量答题要点:SQL伪代码:1.select distinct jno from orders ord where ord.sno not in (select p.sno from supplier p where p.scity=天津) or ord.pno not in (select pt.pno from product pt where pt.color=红色) 2.select PNO,SUM(QTY) from SPJ where PNO IS NOT NULL GROUP BY PNO3.create view VSJ as select SNO,PNO,QTY from SPJ,J where SPJ.JNO = J.JNO AND J.JNAME = 北京城建1. select sname from s where s.sno not in (select sc.sno from sc,c where o=o and ame=王老师)2. select s.sname, b.avgnum from s, (select sc.sno, avg(sc.scgrade) avgnum, sum(case when sc.scgrade 23.select sname from s where 数学 in (select c.cteacher from sc, c where sc.sno = s.sno and o = o) and 化学 in (select c.cteacher from sc, c where sc.sno = s.sno and o = o)附加题: 每题10分,共20分(1) 写出常用的优化网站性能和优化数据库常用的方法? 答:优化网站性能:1. 使用weblint或者其他HTML 检查工具来检查HTML内容是不是符合HTML 4.0规范,符合HTML 4.0规范的页面会加载的更快。2. 最小化Javascript和Style Sheets的使用,Javascript是不标准HTML内容的最大来源,虽然实现了很多非常炫的效果但是却放缓了页面加载的时间,Style Sheets是需要在页面显示之前单独下载的,所以也会放缓页面的加载速度。3. 关闭DNS的反向解析,DNS反向解析会记录客户端的计算机名而不仅仅是IP地址, 这样就增加消耗。4. 使用统计工具来检查你的web系统的性能瓶颈是出在DNS,网络连接,内容大小或者是服务器端,这样就可以从瓶颈处着手提高性能。5. 使用简单的servlet或者CGI, 在系统不需要的话使用分布式程序反而会减低性能。6. 加内存, 跟我们使用的电脑一样,加内存往往是成本最低效果最好的提高性能的方法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论