首页 java招聘面试题

java招聘面试题

举报
开通vip

java招聘面试题java招聘面试题 java招聘面试题篇一:java面试题及答案(面试前必看) java面试题及答案(基础题122道,代码题19道) JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一...

java招聘面试题
java招聘面试 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 java招聘面试题篇一:java面试题及答案(面试前必看) java面试题及答案(基础题122道,代码题19道) JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的 接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 8、EJB是基于哪些技术实现的,并说出SessionBean和EntityBean的区别, StatefulBean和StatelessBean的区别。 EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT 等技术实现。 SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代 表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。 对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。 16、同步和异步有何异同,在什么情况下分别使用他们,举例说明。 如果数据将在线程间共享。例如正在写的数据以后可能被另一 个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class)。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以 在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。 18、heap和stack有什么区别。 栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 19、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别, Java Bean 是可复用的组件,对Java Bean并没有严格的 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件, 而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 22、JSP中动态INCLUDE与静态INCLUDE的区别, 动态INCLUDE用jsp:include动作实现 jsp:include page="included.jspflush="true/它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面%@ include file="included.htm% 23、什么时候用assert。 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程 序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。 24、GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供 释放已分配内存的显示操作方法。 28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc inc=tt.new Inc(); Dec dec=tt.new Dec(); for(int i=0;i2;i++){ Thread t=new Thread(inc); t.start(); t=new Thread(dec); t.start(); } } private synchronized void inc(){ j++; System.out.println(Thread.currentThread().getName()+"-inc:& quot;+j); } private synchronized void dec(){ j--; System.out.println(Thread.currentThread().getName()+"-dec: "+j); } class Inc implements Runnable{ public void run(){ for(int i=0;i100;i++){ inc(); } } } class Dec implements Runnable{ public void run(){ for(int i=0;i100;i++){ dec(); } } } } 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的, SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。 EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。 EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。 32、应用服务器有那些, java招聘面试题篇二:JAVA面试题大全(含答案) 1. J2EE是什么,它包括哪些技术, 解答:从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产 物。适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。 主要包括以下这些技术: 1) Servlet Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。 2)JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。 3) EJB EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。 4)JDBC JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL 语句及带IN和OUT参数的存储过程。Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)。 2.测试生命周期、测试过程分为几个阶段,以及各阶段的含义, 解答:软件测试生命周期一般包括6个阶段:1) 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施, 1) 计划:产品定义阶段 2). 分析:外部文档阶段 3). 设计:文档架构阶段 4). 构建:单元测试阶段 5). 测试周期:错误修正,重复系统测试阶段 6). 最后的测试和实施:代码冻结阶段 3.您做系统设计用何种工具, 解答:Visio, rational rose,power designer等 4. 什么是Web容器? 解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。 5. 运行时异常与一般异常有何异同, 解答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能 知道表结构, 解答:可以看与XML文件对应的域模型。 7.目前几种主流数据库软件的应用特点、适用范围各是什么, 解答:国际国内的主导关系型数据库管理系统有SQL Server、ORACLE、SYBASE、INFORMIX和 DB2。本文从性能,可伸缩性和并行性,安全性,操作简便,使用风险,开放性,易维护性和价格,数据库二次开发方面比较了SQL Server,Oracle、SYBASE、DB2、INFORMIX 数据库: 1)性能 SQL Server:老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C(TPC-C值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际组织。)纪录。 Oracle :性能最高, 保持Windows NT下的TPC-C的世界记录。 SYBASE :性能较高,支持Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。适应于安全性要求极高的系统。 DB2 :适用于数据仓库和在线事物处理,性能较高。 客户端支持及应用模式。 INFORMIX :性能较高,支持集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行,证券系统 的应用。 2)可伸缩性,并行性 SQL Server :以前版本SQL Server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在Microsoft Advanced Servers上有突出的表现,超过了他的主要竞争对手。 Oracle :平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。如果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 :较复杂, 同时提供GUI和命令行,在Windows NT和Unix, Linux 下操作相同。对数据库管理人员要求较高。 SYBASE :复杂,使用命令行操作,对数据库管理人员要求较高。 DB2 :操作简单,同时提供GUI和命令行,在Windows NT和Unix下操作相同。 INFORMIX :使用和管理复杂,命令行操作。对数据库管理人员要求较高。 5)使用风险 SQL Server :完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。 Oracle :长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在企业,政府中得到广泛的应用。并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。 SYBASE :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。 DB2 :在巨型企业得到广泛的应用,向下兼容性好。风险小。 INFORMIX :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。 6)开放性 SQL Server:只能在Windows 上运行,C/S结构,只支持Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面 应用,NT server适合各种大中小型企业。 操作系统的稳定对数据库是十分重要的。Windows平台的可靠性,安全性经过了最高级别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。 Oracle :能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力支持。 SYBASE :能在所有主流平台上运行,在银行业中得到了广泛的应用。 DB2 :有较好的开放性,最适于海量数据。跨平台,多层结构,支持ODBC,JDBC等客户。在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,大部分采用DB2数据库服务器。 IINFORMIX :仅运行在UNIX平台,包括SUNOS、HPUX、 ALFAOSF/1。在银行中得到广泛的应用。 7)易维护性和价格 SQL Server :从易维护性和价格上SQL Server明显占有优势。基于Microsoft的一贯风格,SQL Server的图形管理界面带来了明显的易用性, 微软的数据库管理员 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQL Server的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQL Server的价格在商用数据库中是最低的。 Oracle :从易维护性和价格上来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据 库中是最好的。 SYBASE :SYBASE的价格是比较低的,但是SYBASE的在企业和政府中的应用较少,很难找到经验丰富的管理 员,运行管理费用较高。 DB2 :价格高, 管理员少,在中国的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。 INFORMIX :价格在这些系统中居于中间,与SYBASE一样,在企业和政府中应用较少,仅在银行中得 到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。 8)数据库二次开发 SQL Server :数据库的二次开发工具很多,包括Visual C++, Visual Basic等开发工具,可以实现很好的Windows应用,开发容易。 Oracle :数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。 SYBASE :开发工具较少,经验丰富的人员很少。 DB2 :在国外巨型企业得到广泛的应用,中国的经验丰富的人员很少。 INFORMIX :在银行业中得到广泛的应用,但是在中国的经验丰富的人员很少。 8.存储过程和函数的区别 解答: 从参数的返回情况来看: 如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数。 从调用情况来看: 如果在SQL语句(DML或SELECT)中调用的话一定是存储函 数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。 9.试述数据库完整保护的主要任务和措施。 解答:数据库的完整性保护也就是数据库中数据正确性的维护。数据库完整性包括三个内容:实体完整性规则,参照物完整性规则以及用户定义完整性规则。 前两个是有DBMS自动处理。 实体完整性规则是说针对于基表中的关键字中属性值不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。 参照物完整性规则是不允许引用不存在的元组:即基表中的外关键字要么为空,要么关联基表中必存在元组。 用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语义要求。 一个完整性规则一般由下面三部分组成:完整性约束条件设置,完整性约束条件的检 查以及完整性约束条件的处理.后两部分在数据库中一般有相应的模块处理。另外触发器也可以做完整性的保护,但触发器大量用于主动性领域。 10.请说明SQLServer中delete from tablea & truncate table tablea的区别 解答:两者都可以用来删除表中所有的记录。区别在于: truncate是DDL操作,它移动HWK,使HWK值为0,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花费较长时间. 11. Oracle安装完成后,如何用命令行启动和关闭数据库? 解答: 打开:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT] STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。 STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。 STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件。不能访问任何数据库。 STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。 STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。 STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。 STARTUP RECOVER:数据库启动,并开始介质恢复 关闭 SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。 命令SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。 SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。 SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。 另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。 对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有dismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚 段对事务回滚,对资源进行释放。 12. 类有哪三个基本特性,各特性的优点, java招聘面试题篇三:2015最新java面试题 下列各题ABCD四个选顼中,只有一个选项是正确的,请将正确选项填写在答题纸上 (1)下列关于栈的描述中错误的是( ) A. 栈是先进后出的线性表 B 栈只能顺序存储 C 栈具有记忆作用 D 对栈的插入弓删除操作中,不需要改变栈底指针 正确答案: B 分析: 栈是链式存储的 (2)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( ) A 冒泡排序为n/2 B 冒泡排序为n C 快速排序为n D 快速排序为n(n-l)/2 正确答案: D 分析: 想想快速排序,每次都会选取线性表的轴值,随后以此轴值划分为两个子线性表再分别进行快排,在最坏情况下,也就是说每次选出的线性表轴值完全不能将这个线性表划分为两个子线性表。那么此时快速排序退化为冒泡排序了。 那么第一趟排序时,轴值(线性表的中间位置)被选出,这个值绝对是这个线性表中最大的(不然也不能是最坏情况),其他值都比他小,那么线性表现在分为完全不对等的两段(一段是0,另 一段是n - 1),一段是这个值,一段是其他值。同样第二趟排序在刚才剩下的值中选中间值(剩余值中最大的那个),又分为不对等两段,依次递推。也就是说每次都比较了N - 1个元素(轴值选出后都与它比较大小),那么肯定是比较了n - 1次(如第一次先挑了个轴值,然后剩下n - 1比较),n代表当前子线性表的前面 C 存储定间必须连续,且前件元素一定存储在后件元素的前面 D 存储空间必须连续,且各元素的存储顺序是任意的 答案是A, 分析 链接存储并不要求存储空间连续,存储位置也不用有序 (4)为了使模块爆可能独立,要求( ) A 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 答案:B 分析:高内聚,低耦合。 5)下列叙述中,正确的是( ) A Java语言的标识符是区分大小写的 B 源文件名与public类名可以不相同 C 源文件扩展名为.jar D 源文件中public类的数目不限 答案:A 6)下列属于合法的Java标识符是( ) A _cat B 5books C +static D -3.14159 答案:A 7) 在Java中,表示换行符的转义字符是( ) A \n B \f C ?n? D \dd 答案:A ( 8)扯Java中,所有类的根类是( ) A. java.lang.Object B(java.lang.Class C(java.applet.Applet D(java.awt.Frame 答案:A (9)(在Java+中,用Package语句说明一个包时,该包的层次 结构必须是( A 与文件的结构相同 B 与文件目录的层次相同 C 与文件类型相同 D 与文件大小相同 答案:A (10)在读字符文件Employee.dat时,使用该文件作为参数的类 是( )。 A BufferReader B DatalnputStream C DataOutoutStream D FileInputStream 答案:D ) (11)在Java中,能实现多重继承效果的方式是( )。 A 内部类 B 适配器 C 接口 D 同步 答案:C (12) char类型的取值范围是( )。 A 2-7,27-1 B 0,216-1 C -215,215—1 D 0,28-1 答案:A (13)下列方法中可以用来创建一个新线程的是( )。 A 实现java.lang.Runnable接口并重写start0方法 B 实现java.iang.Runnable接口并重写run0方法 C 继承java.lang.Thread类并重写run0方法 D 继承java.lang.Thread类并重写start0方法 答案:C (14)下列关于线程优先级的说法中,正确的是( )。 A.线程的优先级是不能改变的 B(线程的优先级是在创建线程时设置的 C(在创建线程后的任何时候都可以设置 D. B和C 答案:C (15)下列代码中,将引起一个编译错误的行是( )。 1) public class Test{ 2) int m, n; 3)public Test(){} 4)public Test(int a){ m=a;) 5)public static void main(String args0){ 6)Test t1, t2; 7)int j, k; 8)j=0; k=0; 9)t1 = new Test(); 10)t2 = new Test(j,k); 11) } 12)} A(第3行 B(第5行 C(第6行 D(第10行 答案:D (16)阅读下列代码后 public class Person{ int arr[]=new int[10]; public static void main(String args[ ]){ System.out.println(arr[l]); } ) 正确的说法是( )。 A 编译时将产生错误 B 编译时正确,运行时将产生错误 C 输出零 D 输出空 答案:A (17) AIDL支持以下哪种数据类型,l)string 2)list 3)map 4)All native java datatype( ){, A(1,2和3 B(4 C.以上所有 D(都不支持 答案:C 分析: AIDL 服务只支持有限的数据类型,如果用AIDL服务传递一些复杂的数据就需要做更一步处理,AIDL 服务支持的数据类型如下: 1. Java 的原生类型 2. String 和CharSequence 3. List 和 Map ,List和Map 对象的元素必须是AIDL支持的数据类型; 以上三种类型都不需要导入(import) 4. AIDL 自动生成的接口 需要导入(import) 5. 实现android.os.Parcelable 接口的类. 需要导入(import)。 二、多项选择题 下列各题A(、B.、C.、D(四个选项中,有一个或多个选项是正确的, (l)下列说法正确的有( )。 A. 环境变量可在编译source code时指定( B(在编译程序时,所能指定的环境变盛不包括class path C(javac -次可同时编译数个Java源文件 D. javac.exe能指定编译结果要置于哪个目录(directory) 答案:BCD (2)不能用来修饰interface的有( ) A. private B.public C.protected D.static 答案:ACD (3)下列说法错误的有( ) A.在类方法中可用this来调用本类的类方法 B。在类方法中调用本类的类方法时可直接调用 C(在类方法中只能调用本类中的类方法 D.在类方法中绝对不能调用实例方法 答案:ACD 请将正确选项填写在答题纸上 (4)下列说法错误的有( ) A. Java面向对象语言容许单独的过程与函数存在 B( Java面向对象语言容许单独的方法存在 C( Java语亩中的方法属于类中的成员(member) D. Java语言中的方法必定隶属于某?类(对象),调用方法与过程或函数相同 答案:ABC (5)下列说法错误的有( )。 A.能被java.exe成功运行的java class文件必须有main()方法 B(J2SDK就是Java API C. Appletviewer.exe可利用jar选项运行Jar文件 D.能被Appletviewer成功运行的java class文件必须有main()方法 答案:BCD 三、判断题 请将每空的正确答案写在答题纸上,答在试卷上不得分。 (1) Java程序中的起始类名称必须与存放该类的文件名相同。(对) (2) Unicode是用16位来表示一个字的。(对) (3) 原生类中的数据类型均可任意转换。(对) 三、填空题 请将每空的正确答案写在答题纸上【l】至【25】序号的横线上,答在试卷上不得分。 (l)某二叉树中度为2的结点有18个,则该二叉树中有【1】 二叉树的终端结点(叶子结点)数等于双分支结点数加1。 (2)在面向对象方法中,类的实例称为【2】 (3)诊断和改正程序中错误的工作通常称为【3】 (4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】 (5)Java 源文件中最多只能有一个【5】public 类, 其他类的个 数不限。
本文档为【java招聘面试题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_005190
暂无简介~
格式:doc
大小:51KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-02
浏览量:28