JAVA面试题大全(含答案)

所需积分/C币:36 2018-06-29 14:31:42 13.52MB PDF
1554
收藏 收藏
举报

JAVA面试题大全(含答案)JAVA面试题大全(含答案)JAVA面试题大全(含答案)
解答:isio, rational rose, power designer等4.什么是Web容器? 解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程 序就是处理从客户端发出的请求,如JAVA屮的 Tomcat容器,ASP的Is或PwS都是这样 的容器。 5.运行时异常与一般异常有何异同? 解答:异常表示程序运行辶程屮可能出现的牛正常状态,运行时异常表示虚拟机的通常操作 中可能遇到的异常,是一种常见运行错误。java编译器要求方法必颏声明抛岀可能发生的非 运行时异常,但是并不要戏必须声明扼出未被捕获的运行时异常。 6. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能 知道表结构? 解答:可以看与XML文件对应的域模型。 7.日前几种主流数帮库软件的应用特点、适用范围各是什么? 解答:国际国内的主导关系型数据库管理系统有 SQL Server、 ORACLE、 SYBASE、 INFORMⅨX和DB2。本文从性能,可伸缩性和并行性,安全性,操作筍便,使用风险,开 放性,易维护性和价格,数据库二次廾发方面比较了 SQL Server, Oracle、 SYBASE、DB2、 INFORMIX数据库: 1)性能 SQL Server:老版本多用户吋性能不住,新版本的性能有了明显的改善,各项处理能力都有 了明显的提高。保持了多项TPCC(TPCC值被广泛用于衡量C/S环境下,由服务器和客户 端构筑的整体系统的性能,它由事物处理性能委员会(TTC, Transaction Processing cor)制 定,TPC为非赢利性国际组织。)纪录。 Oracle:性能最高,保持 windows nt下的TPCC的世界记录。 SYBASE:性能较高, 文持Sun、BM、HP、 Compaq和 Veritas的集群设备的特性,实现高可用性。适应于安全性 要求极高的系统。DB2:适用于数据仓库和在线亨物处理,性能较高。客户端支持及应 用模式。 INFORMX:性能较高,支持集群,实现高可用性。适应丁安全性要求极高的系 统,尤其是银行,证券系统的应用。2)可伸缩性,并行性 SQL Server:以前版本 SQL Server 并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能 有了较大的改普,在 Microsoft advanced servers上有突出的表现,超过了他的主要竞争对于。 Oracle:平行服务器通过使组结点共享同簇中的工作来扩展 Window nt的能力提供高 可用性和高伸缩性的簇的解决方案。如果 Windows nt不能满足需要,用户可以把数据厍移 到UNIX屮,具有很好的伸缩性。 SYBASE:新版本具有较好的并行性,这度快,对巨量 数据无明显影响,但是技术实现复杂,需耍程序支持,仲缩性有限。DB2:DB2具有很好 的并行性。DB2把数据库管理扩充到了行的、多节点的环境。数据厍分区是数据库的 部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据 厍节点,伸缩性有限。 INFORMIX:采用单进程多线程的技术,具有较好的并行性。但是 仅运行于UNIX平台,伸缩性有限。3)安全性 SQL Server: Microsoft Advanced Server获 得最高安全认证,服务器平合的稳定性是数据库的稳定性的基础,新版本的SQL的安全性 有了极大的提高。 Oracle:获得最高认证绂别的IsO标准认证。 SYBASE:通过Sun公 司J2EE认证测试,获得最高认证级别的ISO标准认证。DB2:获得最高认证级别的ISO 标准认证。 INFORMIX:获得最高认证级别的ISO标准认证。4)操作简便 SQL Server: 捰作简单采用图形界面。箮理也很方便,而且编程接口特别友好(它的 SQL-DMO让编程变 得非常方偲!),从易维护性和价格上 SQL Server明显占有优势。 Oracle:较复杂,同时 提供GU和命令行,在 Windows nt和Uniⅸ, Linux下操作相同。对数据厍管理人员要求 较高。 SYBASE:复杂,使用命令行操作,对数据库管理人员要求较高。DB2:操作简 单,同时提供GUI和命令行,在 Windows nt和Unix下操作相同。 INFORMIX:使用和管 理复杂,命令行操作。对数据库管理人员要求較高。5)使用风险 SQL Server;完全重写 的代码,性能和兼容性有了较大的提高,与 Oracle,DB2的性能差距明显减小。该产品的 岀台经历了长期的测试,为产品的安仝和稳定进行了仝面的检测,安仝稳定性有了明显的提 高。 Oracle:长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在全业, 政府中得到广泛的应用。并且如果在 WINNT上无法满足数据的要求,可以安全的把数据转 移到UNIX上来。 SYBASE:开发时间较长,升级较复杂,稳定性较好,数据安仝有保障ε风险小。在安仝 要求板高的银行,证券行业中得到了广泛的应用。DB2:在巨型企业得到广泛的应用,向 下兼容性好。风险小。 INFORMⅸX:开发时间较长,升缬较复杂,稳定性较好,数据安全 有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。6)开放性SQL Server:只能在 Windows上运行,CS结构,只支寺 windows客户,可以用 ADODAO, OLEDB ODBC连接。 Windows 9X系列产品是偏重于桌面应用, NT server适合各 种大中小型企业。操作系统的稳定对数据库是十分重要的。 Windows平台的可靠性,安全 性经过了最高级别的C2认证的。在处坦大数据量的关键业务时提供了较好的性能。 Oracle:能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全 开放策暤。多层次网络计算,支持多种工业标准,可以用ODBC, IDBC OCI等网终客户连接。 可以使客户选择最适合的解决方案。对廾发商全力支持。 SYBASE:能在所有主流平台上 运行,在银行业中得到了广泛的应用。DB2:有较好的开放性,最适于海量数据。跨平台 多层结构,支持ODBC,DBC等客户。在大型的国际企业中得到最为广泛的应用在全球的 500家最大的企业中大部分采用DB2数据厍服务器。 IINFORMIX:仅运行在UNIX平台, 包括 SUNOS、HPX、 ALFAOSE/。在银行中得到广泛的应用。7)易维护性和价格SQ Server:从易维护性和价格上 SQL Server明显占有优势。基于 Microsoft的·贯风格,SQ Server的饜形管理界面带来了明显的易用性,微软的数据库管理员培训进行的比较充分 可以轻松的找到很好的数据库管理员,数据库管理费月比较低, SQL Server的价格也是很低 的,但是在 License的购买上会抬高价格。总体来说 SQL Server的价格在商用数据厍中是最 低的 Oracle:从易维护性和价格上来说 Oracle的价格是比较高的,管理比较复杂,由于 Oracle的应用很广泛,经验丰宫的 Oracle数据库管理员可以比较容易的找到,从而实现 Oracle 的良好管理。因此 Oracle的性能价格比在商用数据库中是最好釣。 SYBASE: SYBASE的 价格是比较低的,但是 SYBASE的在企业和政府屮的应用较少,很难找到经验丰富的管理 员,运行管理费用较高。 DB2:价格髙,管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数 据仓库应用。 INFORMIX:价格在这些系统中居于中间,与 SYBASE一样,在企业和政府 屮应用较少,仅在银行屮得 到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。8)数据厍二次开发SQL Server:数据库的次开发工具很多,包括 Visual c艹,ⅵ isual basic等开发工具,可以实现很 好的 windows应用,开发容易。 Oracle:数据库的二次开发工具很多,涵盖了数据库开发的 各个阶段,开发容易。 SYBASE:开发工具较少,经验丰富的人员很少。DB2:在国外巨型 企业得到广泛的应用,中国的经验丰富的人员很少。 INFORMIX:在银行业中得到广泛的应 用,但是在中国的经验丰宫的人员很少。 8存储过程和函数的区别 解答: 从参数的返回情况来看: 如果返回多个参数值最好使用存储过稈,如果貝有一个返回值的话可以使用函数。 从调用情况来看: 如果在SQL语句(DML或 SELECT)中调用的话一定是存储函数或存储的封装函数不可以 是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,如果是在过 程化语句中调用的话,就要看你要实现什么样的功能。数一般情况下是用来计算并返回 个计算结果而存储过程一般是用来完成特定的数据作(比如修改、插入数据库表或执行某 芷DD.语句等等),所以虽然他们的语法上很似但用户在使用他们的时候所需要完成的 功能大部分情况下是不同的。 9试述数据库完整保护的主要任务和措施。 解答:数据库的完整性保护也就是数据库中数据正确性的维护。数据库完整性包活三个内容 实怵完整性规则,参照物完整性规则以及用户定义完整性规则。前两个是有DBMS自动处 理。 实体完整性规则是说针对丁基表中的关键字中属性值不能为空值,是数据库完整性的基本要 求,主关键字和元组的唯一性对应。 参照物完整性规则是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基 表中必存在元组。 用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语 义要求。一个完整性规则一般由下面三部分组成完整性约末条件设置,完整性约束条件的检 查以及完整性约束条件的处理后两部分在数据库中般有相应的模块处理。另外触发器也 可以做完整性的保护,但触发器大量用于主动性领域。 10请说明 SQLServer中 delete from tablea& truncate table tablea的区别 解答:两者都可以用来则除表中所有的记录。区别在丁: truncate是DDL澡作,它移动HwK, 使HWK值为0,不需要 rollback segment. IL Delete是DML操作需要 rollback segment且花 费较长时间 1. Oracle安装完成后如何用命令行启动和关闭数据库? 解答: f]: STARTUP [FORCEl [RESTRICTI [PFILE- filename] [OPEN [RECOVERT databaseI MOUNT| NOMOUNT] STARTUP OPEN: STARTUP缺省的参数就是OPEN,打开数据库, 允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。 STARTUP MoUⅠT: MOUNT数据库,仅仅给DBA进行管坦操作,不允许数据库的用户访问。仅仅 只是当前实例的控制文件被打开,数据文件未打开。 STARTUP NOMOUNT:仅仅通过初 始化文件,分配出SGA区,启动数据库后台进程,没有打廾控制文件和数据文件。不能访 问仟何数据库。 STARTUP PFILE= filename:以 filename为初始化文件启动数据库,不是采 用缺省例始化文件。 STARTUP FORCE:屮止当前数据库的运行,并开始重新正常的启动 数据库。 STARTUP RESTRICT:只允许具有 RESTRICTED SESSION权限的用户访问数据 库。 STARTUP RECOⅤER:数据库启动,并开始介质恢复 关 SHUTDOWN有四个参数: NORMAL、 TRANSACTIONAL、 IMMEDIATE、 ABORT。缺省 不带任何参数时表示是 NORMAL 命令 SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检 査点并关闭数据文件。启动时不需要实例恢复。 SHUTDOWN TRANSACTIONAL:不允许 新的连接、不等待会话结束、等待事务结東、做个检查点并关闭数据文件。启动时不需耍 实例恢复。 SHUTDOWN MMMEDIATE:不允许新的连接、不等待会话结束、不等待事务 结束、做个检查点并关闭数据文件。没有结束的事务是自动lbak的。启动时不需要实 例恢复。 SHUTDOWN ABORT:不允许新的连接、不等待会结束、不等待事务结束、不 做检查点且没有关闭数据文件。启动时自动进行实例恢复。另外,对于 NORMAL.、 TRANSACTIONAL、 IMMEDIATE, dB Buffer cache的内容写入了数据文件,没有提交的 事务被回滚,所有的资源被释放,数据厍被“干净”的关闭。对于 ABORT, DB Buffer cache 的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有 dismount和关闭,数 据文件也没有关闭。当数据库启动时,需要通过 redo log恢复数据,通过回滚 段对事务回滚,对资源进行释放。 12.类有哪三个基本情性?各特性的优点? 解答:类具有封装性、继承性和多态性。 封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,口的是隐藏 类中的私有变量和类中方法的实现细节。 继承性:类的继承性提供从已存在的类创建新类的机制,继承( inheritance)使一个新类自 动拥有被继承类(父类冫的全部可继承的成员 多态性:类的多态性提供类屮方法执行的多样性,多态性有两种表现形式:重载和覆盖。 13谈谈对XML的理解?说明Web应用中 Web. xm文件的作用? 解答;ⅩML( Extensible Markup Language)即可扩展标记语言,它与HIML一样,都是 SGML( Standard Generalized Markup Language,标准通用标记语言)。Xml是 Internet环境山跨 平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML 是一和简单的薮据存储话言,使用一系列简单的标记描述数据,而这些标记可以用方便的方 式建立,虽然XML占用的空间比二进制数据要占用吏多的空间,但XML极其简单易于掌 握和使用。 wveb.xm的作用是配置欢迎页, servlet, filter, listener等的。 14j有哪些内置对象?作用分别是什么?(至少三个) 解答 1) request表示 Http Servletrequest对象。它包含了有关浏览器请求的信息,并且提供了儿个 用于获取 cookie. header和 session数据的有用的方法。2) response表示 Http Servletresponse 双象,并提供了几个用丁设置送回浏览器的响应的方法(如 cookies,头信息等)3)out 象是 javax. jsp Jsp writer的一个实例,并提供了几个方法使你能用于向浏览器回送输出结 果。4) page Context表示一个 javax.servlet jsp PageContext对象,它是用于方便存取各种范 罔的名宇空间、 servlet相关的对象的AP,并且包装了通用的 servlet相关功能的方法。5) Session示一个请求的javax.servlet.httpHttpSession对象。Session可以存贮用户的状态信息 6) application表示个 javax. serve. Servletcontext对象。这有助丁查找有关 servlet引擎和 servlet环境的信息。7) config表示一个 javax. servlet. Servletconfig对象。该对象用于存取 servlet实例的初始化参 数。8)page表示从该页面产生的一个 servlet实例。 9) exception针对错误网页,未捕捉的例外 15事务是什么?有哪些属性,并简要说明这些属性的含义。 解答:事务( ransaction)是访问并可能更新数据库屮各种数据项的一个程序执行单元unit。 宇务邇常由扃级薮据库操纵语言或编程语言(如SQL,C++或Java)书写旳用户程序的执行 所引起,并用形如 begin transaction和 end transaction话句(或函数调用)来界定。事务由事 务开始( begin transaction和事务结束 (end transaction)之间执行的全体操作组成。 事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACI特 性 原子性( atomicity)。一个事务是一个不可分割的工作单位,事务口包括的诸操作要么都做 要么者不做。 一致性( consistency)。事务必须是使数据庐从一个一致性状态变到另一个一致性状态。 致性与原子性是密切相关的。 隔离性( isolation)。一个事务的执行不能被其事务干扰。即一个事务内部的操作及使用的 数据对并发的其他事务是隔离的,并发执行的个事务之间不能互相干扰。 持久性( durability)。持续性也称永久性( permanence),指一个事务一且提交,它对数据厍 ψ数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响 16、 Collection和 Collections的区别? 解答: Collection是 java util下的接口,它是各种集合的父接口,继承于它的接囗主要有Set 和List; Collections是个 java.util下的类,是针对集合的帮助类,提供一系列静态方法实现 双各和集合的搜索、排序、线程安全化等操作 17、 HashMap与 TreeMap的区别? 解答: HashMap通过 hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着 某种固定的顺序,如果你需要得到个有序的结果你就应该使用 TreeMap( HashMap中元素 的排列顺序是不固定的>。 18、 Arraylist和 Vector的区别? 解答:同步性: Vector是线程安全的,也就是说是同步的,而 Arraylist是线程不安全的,不 是同步的;数据曾长当需要增长时, vector默认增长为原来一培,而 Arraylist却是原来的 19、 HashMap和 Hashtable的区别? 解答; HashMap是 Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口, 主要区别 在于 HashMap允许空(nul)键值(key),由于非线程安全,效率上高于 Hashtable. Hash Map 允许将null作为一个 entry的key或者 value,而 Hashtable不允许。 HashMap把 Hashtable 的 contains方法去掉了,改成 containsvalue和 containskey因为 contains方法容易让人引起 误解。 Hashtable继承自 Dictionary类,而 HashMap是Java12引进的 Map interface的一个实 现。最大的不同是, Astable的方法是 synchronize的,而 HashMap不是,在多个线程访间 Hashtable时,不需要自己为它的方法实现同步,而 HashMap就必须为之提供同步。 20请说出 Arraylist, Vector, Linkedlist的存储性能和特性 解答: ArrayList和Ⅴ ector都是使用数组方式有储数据,此数组元素数大于实际存储的数据 以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要沙及数组元素移动 等内存操作,所以索引数据快而插入数据慢, Vector由于使用了 synchronized)法(线程安 全),通常性能上较 ArrayList差,而 Linkedlist使用双向链表实现存储,按序号索引教据需 要进行前闩或后向遍历,但是插入数据时只需要记录本项的前后项即可.所以插入速度较快 21.描述J2EE框架的多层结构,并简要说明各层的作用。 解答: 〕 Presentation layer(表示层 a.表示逻辑(作成界面代码冫 b.接收请求 C.处理业务层抛出的异常 d.负责规则验证(数据格式,数据非空等) c.流程控制 2 Service layer(服条层业务层) a.封装业务逻辑处理,并且对外暴露接口 b负责事务,安全等服务 3) Persistence laver(持久层) a封装数据访问的逻辑,暴露接口 b提供方便的数据访问的方案(查询语言,API,映射机制等) 4) Domain layer(域层 a.业务对象以及业务关系的表示 b.处理简单的业务逻辑 C.域层的对象可以穿越表示层,业务层,持久层 钦件分层结构使得代码維护非常方,设计明确,各层狙立,专注自己擅长的领域。 22请谈谈对SOA的认识 解答:面向服务的体系结构( Service-Oriented Architecture,SOA)是一个组件模型,它将应 用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接 口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、探作系统和编程语言。 这使得构建在各种这样的系统屮的服务可以一种统一和通用的式进行交互。 23简要描述如何纪合 struts、 hibernate、 spring开发Wb应用? 解答:Srus可以将jsp页面的表单关联起来就是把JSP页面的表单数据封装成 javabean 这样的话,在 action你再也不需要使用传统的 request.getParameter(“nam”);还有 struts有 个控制器你在 struts編程中的控制器( XXxAction都是继承总的 Action Servlet.它能集中处 拜请求然后转到相关的页面。还有 struts的表单验证组件,不月你写j验证了,只需要你配置 下文件就可以了。另外 struts的令牌机制可以防表单重复提交。 Sprin是一个轻量级容器,非侵入性包含依赖注入,AOP等。它是为了解决企业应用程序开 发复杂性而创的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个 组件,同时为J2EE应用程序开发提供集成的框架。 Hibernate:它可以让我们以OO的方式操作数据厍,这让我们看到」 hibernate的强大之处, 体验到操作数据的方便。但 hibernate最耀眼之处是 hibernate的缓存机制,而不是以OO的 方式操作数据库。 Hibernate.的缓存机制不外乎是钕缓仔 session,二级缓存 sessionFactory, 和第三方缓存如 ehcache。也就是 hibernate的最强大的地方是它的缓存,理解了这个才能真 正的理解 hibernate Hibernate I命名查询/命名参数查询,就是将hql语句放在一个单独的xm 文件之中,它仍然让人们以面向对象的方式去操纵数据,而不用在以OO的方式写着代码的 同时,然后再转变思维,用面向关系的方式去写那些sq语句。但 hibernate不仅做了这些 它的 native sql查询方式,完全满足sql语句的偏爱者,它像 ibatis样,将sql语句放在配 置文件之中。 24说明反转控制(IOC)和面向方向编程(AOP)在 spung中的应用 解答: Spring核心容器(Core)提供 Spring框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。 BeanFactory使用控制反转(Ioc)模式将应用程序的配 置和依赖性规范与实际的应用代码程序分开。 Spring的声明式事务基于AOP实现,却并不 需要程序开发者成为AOP专家,亦可轻易使用 Spring的声明式事务管理。 25请看如下片段:

...展开详情
试读 101P JAVA面试题大全(含答案)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 脉脉勋章

  • 签到新秀

关注 私信
上传资源赚钱or赚积分
最新推荐
JAVA面试题大全(含答案) 36积分/C币 立即下载
1/101
JAVA面试题大全(含答案)第1页
JAVA面试题大全(含答案)第2页
JAVA面试题大全(含答案)第3页
JAVA面试题大全(含答案)第4页
JAVA面试题大全(含答案)第5页
JAVA面试题大全(含答案)第6页
JAVA面试题大全(含答案)第7页
JAVA面试题大全(含答案)第8页
JAVA面试题大全(含答案)第9页
JAVA面试题大全(含答案)第10页
JAVA面试题大全(含答案)第11页
JAVA面试题大全(含答案)第12页
JAVA面试题大全(含答案)第13页
JAVA面试题大全(含答案)第14页
JAVA面试题大全(含答案)第15页
JAVA面试题大全(含答案)第16页
JAVA面试题大全(含答案)第17页
JAVA面试题大全(含答案)第18页
JAVA面试题大全(含答案)第19页
JAVA面试题大全(含答案)第20页

试读结束, 可继续阅读

36积分/C币 立即下载 >