JAVA面试题大全含答案分析.docx
《JAVA面试题大全含答案分析.docx》由会员分享,可在线阅读,更多相关《JAVA面试题大全含答案分析.docx(81页珍藏版)》请在冰豆网上搜索。
JAVA面试题大全含答案分析
1.J2EE是什么?
它包括哪些技术?
解答:
从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。
适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。
J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
1)ServletServlet是Java平台上的CGI技术。
Servlet在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其它类似CGI的技术相比,JavaServlet具有更高的效率并更容易使用。
对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
2)JSPJSP(JavaServerPage)是一种实现普通静态HTML和动态页面输出混合编码的技术。
从这一点来看,非常类似MicrosoftASP、PHP等技术。
借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。
在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
3)EJBEJB定义了一组可重用的组件:
EnterpriseBeans。
开发人员可以利用这些组件,像搭积木一样建立分布式应用。
4)JDBC
JDBC(JavaDatabaseConnectivity,Java数据库连接)API是一个标准SQL(StructuredQueryLanguage,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准JavaAPI编写数据库应用程序。
JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句。
利用JDBCAPI可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。
Java中的JDBC相当于Microsoft平台中的ODBC(OpenDatabaseConnectivity)。
2.测试生命周期、测试过程分为几个阶段,以及各阶段的含义?
解答:
软件测试生命周期一般包括6个阶段:
1)计划2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,
1)计划:
产品定义阶段
2).分析:
外部文档阶段
3).设计:
文档架构阶段
4).构建:
单元测试阶段
5).测试周期:
错误修正,重复系统测试阶段
6).最后的测试和实施:
代码冻结阶段
3.您做系统设计用何种工具?
解答:
Visio,rationalrose,powerdesigner等
4.什么是Web容器?
解答:
容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
5.运行时异常与一般异常有何异同?
解答:
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
6.Hibernate中:
不看数据库,不看XML文件,不看查询语句,怎么样能
知道表结构?
解答:
可以看与XML文件对应的域模型。
7.目前几种主流数据库软件的应用特点、适用范围各是什么?
解答:
国际国内的主导关系型数据库管理系统有SQLServer、ORACLE、SYBASE、INFORMIX和DB2。
本文从性能,可伸缩性和并行性,安全性,操作简便,使用风险,开放性,易维护性和价格,数据库二次开发方面比较了SQLServer,Oracle、SYBASE、DB2、INFORMIX数据库:
1)性能
SQLServer:
老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。
保持了多项TPC-C(TPC-C值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,TransactionProcessingCorp)制定,TPC为非赢利性国际组织。
)纪录。
Oracle:
性能最高,保持WindowsNT下的TPC-C的世界记录。
SYBASE:
性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。
适应于安全性要求极高的系统。
DB2:
适用于数据仓库和在线事物处理,性能较高。
客户端支持及应用模式。
INFORMIX:
性能较高,支持集群,实现高可用性。
适应于安全性要求极高的系统,尤其是银行,证券系统的应用。
2)可伸缩性,并行性SQLServer:
以前版本SQLServer并行实施和共存模型并不成熟。
很难处理大量的用户数和数据卷。
伸缩性有限。
新版本性能有了较大的改善,在MicrosoftAdvancedServers上有突出的表现,超过了他的主要竞争对手。
Oracle:
平行服务器通过使一组结点共享同一簇中的工作来扩展WindowNT的能力,提供高可用性和高伸缩性的簇的解决方案。
如果WindowsNT不能满足需要,用户可以把数据库移到UNIX中,具有很好的伸缩性。
SYBASE:
新版本具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序支持,伸缩性有限。
DB2:
DB2具有很好的并行性。
DB2把数据库管理扩充到了并行的、多节点的环境。
数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。
数据库分区有时被称为节点或数据库节点,伸缩性有限。
INFORMIX:
采用单进程多线程的技术,具有较好的并行性。
但是仅运行于UNIX平台,伸缩性有限。
3)安全性SQLserver:
MicrosoftAdvancedServer获得最高安全认证,服务器平台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。
Oracle:
获得最高认证级别的ISO标准认证。
SYBASE:
通过Sun公司J2EE认证测试,获得最高认证级别的ISO标准认证。
DB2:
获得最高认证级别的ISO标准认证。
INFORMIX:
获得最高认证级别的ISO标准认证。
4)操作简便SQLServer:
操作简单,采用图形界面。
管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便!
),从易维护性和价格上SQLServer明显占有优势。
Oracle:
较复杂,同时提供GUI和命令行,在WindowsNT和Unix,Linux下操作相同。
对数据库管理人员要求较高。
SYBASE:
复杂,使用命令行操作,对数据库管理人员要求较高。
DB2:
操作简单,同时提供GUI和命令行,在WindowsNT和Unix下操作相同。
INFORMIX:
使用和管理复杂,命令行操作。
对数据库管理人员要求较高。
5)使用风险SQLServer:
完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。
该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。
Oracle:
长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在企业,政府中得到广泛的应用。
并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。
SYBASE:
开发时间较长,升级较复杂,稳定性较好,数据安全有保障。
风险小。
在安全要求极高的银行,证券行业中得到了广泛的应用。
DB2:
在巨型企业得到广泛的应用,向下兼容性好。
风险小。
INFORMIX:
开发时间较长,升级较复杂,稳定性较好,数据安全有保障。
风险小。
在安全要求极高的银行,证券行业中得到了广泛的应用。
6)开放性SQLServer:
只能在Windows上运行,C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。
Windows9X系列产品是偏重于桌面应用,NTserver适合各种大中小型企业。
操作系统的稳定对数据库是十分重要的。
Windows平台的可靠性,安全性经过了最高级别的C2认证的。
在处理大数据量的关键业务时提供了较好的性能。
Oracle:
能在所有主流平台上运行(包括Windows)。
完全支持所有的工业标准。
采用完全开放策略。
多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。
可以使客户选择最适合的解决方案。
对开发商全力支持。
SYBASE:
能在所有主流平台上运行,在银行业中得到了广泛的应用。
DB2:
有较好的开放性,最适于海量数据。
跨平台,多层结构,支持ODBC,JDBC等客户。
在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,大部分采用DB2数据库服务器。
IINFORMIX:
仅运行在UNIX平台,包括SUNOS、HPUX、ALFAOSF/1。
在银行中得到广泛的应用。
7)易维护性和价格SQLServer:
从易维护性和价格上SQLServer明显占有优势。
基于Microsoft的一贯风格,SQLServer的图形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQLServer的价格也是很低的,但是在License的购买上会抬高价格。
总体来说SQLServer的价格在商用数据库中是最低的。
Oracle:
从易维护性和价格上来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。
因此Oracle的性能价格比在商用数据库中是最好的。
SYBASE:
SYBASE的价格是比较低的,但是SYBASE的在企业和政府中的应用较少,很难找到经验丰富的管理员,运行管理费用较高。
DB2:
价格高,管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。
INFORMIX:
价格在这些系统中居于中间,与SYBASE一样,在企业和政府中应用较少,仅在银行中得
到了广泛的应用。
经验丰富的管理人员较少,运行管理费用高。
8)数据库二次开发SQLServer:
数据库的二次开发工具很多,包括VisualC++,VisualBasic等开发工具,可以实现很好的Windows应用,开发容易。
Oracle:
数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。
SYBASE:
开发工具较少,经验丰富的人员很少。
DB2:
在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。
INFORMIX:
在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。
8.存储过程和函数的区别
解答:
从参数的返回情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数。
从调用情况来看:
如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,如果是在过程化语句中调用的话,就要看你要实现什么样的功能。
函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
9.试述数据库完整保护的主要任务和措施。
解答:
数据库的完整性保护也就是数据库中数据正确性的维护。
数据库完整性包括三个内容