搜档网
当前位置:搜档网 › JAVA面试题(_华为)(答案)

JAVA面试题(_华为)(答案)

JAVA面试题(_华为)(答案)
JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java)

姓名:___________ 电话:___________

以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起)

从事Java开发时间____月熟悉JavaScrip时间____月

熟悉EXT开发时间____月熟悉PDM开发时间____月

熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________

一、JAVA基础

1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…)

public :允许所有客户访问

protected:只能在本包内被该类的子类所使用

private:只允许在本类内使用

abstract:没有提供实现,需要子类提供

static:与整个类相关,与单个对象无关

final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值

synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。

2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率?

区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的,

执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String

使用场景:1.如果要操作少量的数据用= String

2.单线程操作字符串缓冲区下操作大量数据= StringBuilder

3.多线程操作字符串缓冲区下操作大量数据= StringBuffer

2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗?

静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量

静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象

静态方法中无法调用实例变量,而实例方法却可以调用静态变量

2、继承和接口是什么?以及他们的区别?

1 接口定义一个类需要实现的方法属性索引事件和可能的参数返回值类型,具体的实现交由相应的类或结构,从而实现多态;而继承用于在一个现有父类基础上的功能扩展,把几个类中相同的成员提取出来放在一个父类中,在子类中添加独特的方法即继承扩展

2 接口能够实现多接口继承,而继承只能实现单继承

3 继承能够获得父类方法的实现,而接口只能获得方法的定义,所以必须获得所有的方法

4 在继承中为父类添加方法不影响子类的继承,但在接口中为父类添加一个方法定义必须在子类中添加此方法的实现

3、HashMap和Hashtable的区别?

1,Hashtable是基于陈旧的Dictionary类的,HashMap是Map接口的一个实现。

2,Hashtable的方法是同步的,而HashMap的方法不是

3,只有HashMap可以让你将空值作为一个表的条目的key或value

4、抽象类(abstract class)和接口(interface)有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口

5、重载(Overload)和重写(Override)的区别。Overloaded的方法是否可以改变返回值的类型?

Overload是重载,是有相同的方法名,但参数类型或个数彼此不同

Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数、类型都与父类中的完全一样,在子类中覆盖掉了父类的改方法。

6、你所知道的集合类都有哪几类?主要区别有哪些并简单描述?

集合类型主要有3种:set(集)、list(列表)和map(映射)

集Set

它的对象不按特定方式排序,只是简单的把对象加入集合中

对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。

列表List

List接口与其实现类是容量可变的列表,可以按照索引访问集合中的元素,是有序的集合

列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。常用的有ArrayList vector

映射Map

映射中每个项都是成对的,Map是把键对象和值对象进行关联的容器。

映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的存储位置,关键字应该是唯一的,常用的有HashMap,HashTable

7、JAVA SERVLET API中forward() 与redirect()的区别?

使用forward的时候浏览器不知道它所请求的具体资源来源,所以地址栏不会变;

使用redirect,服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL。

forward,转发页面和转发到的页面可以共享request里面的数据.redirect,不能共享数据.

8、写出JSP的常用内置对象?以及每个内置对象的简单介绍?

1.r equest对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。

2.response对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。

3.session对象

session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。

4.out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象

5.page对象

page对象就是指向当前JSP页面本身,有点象类中的this指针,它是https://www.sodocs.net/doc/a215220049.html,ng.Object类的实例。

6.application对象

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。

7.exception对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是https://www.sodocs.net/doc/a215220049.html,ng.Throwable的对象。

8.pageContext对象

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

9.config对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一ServletContext对象)。

9、JA V A解析XML有哪几种方法?并简述各自的优缺点

DOM:

是用与平台和语言无关的方式表示XML文档的官方W3C标准,分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。是基于信息层次的

优点有:由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。

SAX :

对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更

好。这些基于事件的模型,比如SAX。这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。

J DOM

目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。

DOM4J:

它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,

DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML,特别值得一提的是连Sun的JAXM也在用DOM4J。

9、概述MVC体系结构及优点

M:模型(Model),V:视图(View),C:控制Controller)。

MVC模式的目的就是实现Web系统的职能分工。

Model层实现系统中的业务逻辑。View层用于与用户的交互。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

概括一下吧,用户浏览,由URL路由解析地址,如何指定对应的控制器(C)去处理,结合业务逻辑层(M),处理数据,比方说增\删\改\查,完成之后,在调用指定的视图(V),把处理的结果回传给用户.

意义就是:职能分工

10、介绍你所知道的J2EE中常用的设计模式,并简单介绍工厂模式

Factory(工厂模式),Builder(建造模式),Factory Method(工厂方法模式),

Prototype(原始模型模式),Singleton(单例模式),Facade(门面模式),

Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式),

Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式),

Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式),

Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式),

Observer(观察者模式),State(状态模式),Strategy(策略模式),

Template Method(模板方法模式),Chain Of Responsibleity(责任链模式)

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

11. 线程和进程的区别?实现多线程的方式有哪几种?如何实现多线程同步?

区别:

线程和进程是不同的,每个进程都是一个独立运行的程序,拥有自己的变量,且不同进程间的变量不能共享;而线程是运行在进程内部的,每个正在运行的进程至少有一个线程,而且不同的线程之间可以在进程范围内共享数据。也就是说进程有自己独立的存储空间,而线程是和它所属的进程内的其他线程共享一个存储空间。

实现多线程的方法:

1、继承https://www.sodocs.net/doc/a215220049.html,ng.Thread,并重写它的run()方法,将线程的执行主体放入其中。

2、实现https://www.sodocs.net/doc/a215220049.html,ng.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。

如何实现线程同步:

给一个方法增加synchronized修饰符之后就可以使它成为同步方法,这个方法可以是静态方法和非静态方法,但是不能是抽象类的抽象方法,也不能是接口中的接口方法

12:中的异常处理机制的简单和应用。

当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是Java类库内置的语义。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是Java允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是https://www.sodocs.net/doc/a215220049.html,ng.Thowable的子类

13:线程同步的方法(类里有哪些方法来支持线程同步)。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切地唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。14. Error与Exception有什么区别

Error表示系统级的错误和程序不必处理的异常,

Exception表示需要捕捉或者需要程序进行处理的异常。

15.谈谈final, finally, finalize的区别。

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally—异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。

finalize—方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的

二、Javascript相关

1.如何弹出带确认取消按钮的提示框,如”确定保存吗?”,以及如何实现带输入框的提示框?

confirm(“确定保存吗?”)

prompt(“输入意见”)

2.Javascript有哪些打开一个页面的方式?

window.open(sURL [, vArguments] [,sFeatures]) 新页面

window. showmodaldialog(sURL [, vArguments] [,sFeatures]) 模态对话框

window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 非模态对话框

3.页面加载完后调用js方法如何实现?

body标签加onload事件,如

4.Javascript如何做到在子页面中调用父页面的js函数或全局变量(如test()函数,test变量)?

window.opener.test();

Window.opener.test = “abc”;

5.Javascript中定时执行如何实现?

setTimeout();定时执行,执行一次。clearTimeout(定时器对象名)结束

setInterval();定时执行,一直执行。clearInterval(定时器对象名)结束

两种区别:

setTimeout();定时执行,执行一次。clearTimeout(定时器对象名)结束;

setInterval();定时执行,一直执行。clearInterval(定时器对象名)结束

6.innerHTML和outerHTML的区别是什么?

innerHTML取页面元素标签内部的内容,outerHTML取包含元素标签的内容,如test,innerHTML取到test,outerHTML取到test.

7.javascript如何做到页面局部刷新?

使用AJAX。原理:获取一个请求对象,向指定url发送请求,当请求完成时(状态4),获取到请求返回内容,并将内容填充到页面局部。

8.有如下表格,如何通过这个按钮取到该格所在的表,以及如何取到该表格的第二行中的hello值?

 
hello 

通过按钮取到表格:table = button.parentElement.parentElement.parentElement; (主要看是否掌握元素的parentElement方法)。

通过表格取到hello值:str = table.childNodes[1].childNodes[0].innerHTML;(主要看是否掌握元素的childNodes方法)。

三数据库相关

1. 存储过程和函数的区别?

存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。

2. oracle中truncate和delete命令有何区别?

delete将在回滚段中产生回滚信息,truncate不产生,因此无论表中的记录多少,truncate执行都很快

truncate 是DDL,执行隐含的commit,truncate不能回滚

3. Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到char(10)和varchar2(10)类型的字段中,其存储长度及类型有何区别?

A:char是定长字符类型,varchar2是变长字符类型。“test”在char(10)中被补齐空格,存储

长度是10字节,在varchar2(10)中存储长度是4字节

4. 假如系统中有如下四张表:

1)文档表(DOC):编号(docid)、名称(docname)、描述(docdesc);docid为主键,docname 有索引;

2)学生表(XS):学生代码(XSDM)、学生名称(XSMC);

3)学科表(XK):学科代码(XKDM)、学科名称(XKMC)、最高分数(ZGF);

4)成绩表(CJ):学生代码(XSDM)、学科代码(XKDM)、成绩(CJ)。

问题1 写出您最常用SQL语句的关键字

问题2以下查询的处理速度(返回数据量相同)从高到低排列?

A、select * from doc where docname=’test’

B、select * from doc where docid=50

C、select * from doc where docdesc=’test’

问题3 列出有不及格(<底于60分)的学生姓名(SQL语句)

问题4 统计每个学生的总分(SQL语句):

问题5 列出没有不及格(>=60分)的学生姓名及平均分(SQL语句):

Select b.XSMC,avg(a.CJ) FROM CJ a left join XS b on a.XSDM = b.XSDM group by a.XSDM

华为笔试题:JAVA

一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.sodocs.net/doc/a215220049.html,ngD.java.swing 答案:A 5.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{

--c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D https://www.sodocs.net/doc/a215220049.html, 二、多项选择题 1.Java程序的种类有()

华为java面试题中的九道单选

华为java面试题中的九道单选1.Java是从( )语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC答案:B 2.下列语句哪一个正确( ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D. 以上都不正确答案:B 3.下列说法正确的有( ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D. 一个class只能定义一个constructor答案:C 4.提供Java存取数据库能力的包是( ) A.java.sql B.java.awt https://www.sodocs.net/doc/a215220049.html,ng D.java.swing答案:A 5.下列运算符合法的是( ) A.&& B.<> C.if D.:=答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1;

}while(a>0); 后,C的值是( ) A.0 B.1 C.-1 D.死循环答案:C 7.下列哪一种叙述是正确的( ) A. abstract修饰符可修饰字段、方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无 D. 声明抽象方法不可写出大括号答案:D 8.下列语句正确的是( ) A. 形式参数可被视为local variable B. 形式参数可被字段修饰符修饰 C. 形式参数为方法被调用时,真正被传递的参数 D. 形式参数不可以是对象答案:A 9.下列哪种说法是正确的( ) A. 实例方法可直接调用超类的实例方法 B. 实例方法可直接调用超类的类方法 C. 实例方法可直接调用其他类的实例方法 D. 实例方法可直接调用本类的类方法答案:D 二、多项选择题 1.Java程序的种类有( ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( )

JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

华为外包java面试题

SSH篇(后台) 一、SSH概述 1.1 SSH的含义 当前J2EE企业级应用分为三层:表现层-业务层-数据源层,而SSH代表了每一层的具体实现,它是三种流行的开源框架的缩写,S-Struts,S-Spring,H-Hibernate。这三者的组合是当前J2EE开发的标准模式,也代表了J2EE正在朝着简化复杂性,轻量化方向发展,最新J2EE 6已证明了这种趋势。 1.2 J2EE开发模式的演变 J2EE应用一直采用三层加构,即表现层-业务层-数据源层。 旧石器时代:J2EE应用采用表现层-远程EJB-实体EJB(或JDBC),这是最为正宗也是最复杂的J2EE开发,适用于银行等小部分项目;随后由于微软.NET的兴起以及其对J2EE的挑战,正宗的J2EE出现了一个变种:表现层-本地EJB-Ibatis,在这种模型中业务层选择了本地EJB,同时数据源层也改为Ibatis,这种模式极大的提高性能,华为大部分项目采用这种构架。在这两种架构中,由于采用了EJB组件模型,从而依赖于EJB容器,而EJB容器以一种全无或全有的方式提供服务,同时业务实现也受制于容器。这种开发模式导致了以下复杂性:依赖于应用服务器,不可移植,开发困难,无法在容器外测试,部署复杂,效率低下。 新石器时代:在新石器时代依然采用了三层加构,只是抛弃了EJB,而采用了Spring等轻量级容器,同时持久化由全自动的Hibernate承担。在这种架构中,由于放弃了EJB,放弃了全功能的应用服务器,在节省了软件许可费用的同时也大大提高了软件开发效率。由于web服务器的可移植也好于应用服务器,从而使得J2EE应用可顺利移植。

华为java笔试面试题

华为Java笔试题+数据库题 一、单项选择题 1.Java是从( B)语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确(B ) A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 3.下列说法正确的有(C ) A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 4.提供Java存取数据库能力的包是( A) A.java.sql B.java.awt C.https://www.sodocs.net/doc/a215220049.html,ng D.java.swing 5.下列运算符合法的是( A) A.&& B.<> C.if D.:= 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是(C ) A.0 B.1 C.-1 D.死循环 7.下列哪一种叙述是正确的( D) A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 8.下列语句正确的是( C) A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 9.下列哪种说法是正确的(A ) A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 二、多项选择题 1.Java程序的种类有(BCD ) A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有( BCD) A.环境变量可在编译source code时指定

华为JAVA编程规范试题

JAVA编程规范试题 一、判断题(每题2分,共28分) 1、if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while, switch, case等语句的执行语句无论多少都要加括号{}。 2、包的注释内容要求包括:简述本包的作用、详细描述本包的内容、产品模块 名称和版本、公司版权、生成日期等。 3、类注释部分,描述部分说明该类或者接口的功能、作用、使用方法和注意事 项,每次修改后增加作者、新版本号和当天的日期,@since 表示从那个版本开始就有这个类或者接口,@deprecated 表示不建议使用该类或者接口。4、对于方法内部用throw语句抛出的异常,必须在方法的注释中标明;对于所 调用的其他方法所抛出的异常,在注释中要求说明所有的异常;对于非RuntimeException,即throws子句声明会抛出的异常,必须在方法的注释中标明。 5、类名和接口使用完整的英文单词描述,每个英文单词的首字母使用大写、其 余字母使用小写的大小写混合法。 6、com.huawei.四级部门名称.项目名称,符合包命名规范。 7、不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效 率比条件分支低,而且异常的跳转流程难以预测。 8、划分类的时候,应该尽量把逻辑处理、数据和显示分离,实现类功能的多样 化。 9、一个方法不应抛出太多类型的异常,如果程序中需要分类处理异常,则将异 常根据分类组织成继承关系。 10、switch 语句中的 case 关键字要和后面的常量保持一个空格;如果有特殊 的需要要在switch语句中定义case以外的标签,需要在注释中说明。 11、没有被覆盖的友好方法和没有子类的友好类应该定义成final。 12、简单的类可以通过名字比较两个对象的类,推荐使用 getClass()或者 instanceof()。 13、不要调用 Thread 类的 resume(), suspend(),sleep(), stop() 方法。

华为的java电话面试10题

1、有哪些数据类型 Java定义了8种简单类型:byte、short、int、long、char、float、double和boolean 2、有几种访问机制? 同一个类同一个包不同包的子类不同包的非子类 private yes default yes yes protected yes yes yes public yes yes yes yes 3、JDBC的过程 1. 加载JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver");//MySQL的加载JDBC驱动程序的方法 Class.forName("org.postgresql.Driver");//PostgreSQL的加载JDBC驱动程序的方法 Class.forName("oracle.jdbc.driver.OracleDriver");//Oracle的加载JDBC驱动程序的方法Class.forName("https://www.sodocs.net/doc/a215220049.html,.DB2Driver");//DB2的加载JDBC驱动程序的方法Class.forName("com.sybase.jdbc2.jdbc.SybDriver");//Sybase的加载JDBC驱动程序的方法Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//SQLServer的加载JDBC驱动程序的方法 2. 建立数据库连接 与MySQL数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:mysql://MyDbComputerNameOrIP:3306/myDBName",ID,Pwd); 与PostgreSQL数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:postgresql://MyDbComputerNameOrIP:3306/myDBName",ID,Pwd); 与Oracle数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL",ID,Pwd); 与Sybase数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:sybase:Tds:MyDbComputerNameOrIP:2638",ID,Pwd); 与SQL Server数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master",ID,Pwd); 与DB1数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:db2://MyDbComputerNameOrIP/myDBName",ID,Pwd); 3. 创建并执行SQL语句 用Connection.createStatement()方法来创建一个Statement对象。Statement对象执行一个查询并从DBMS返回一个包含响应结果的ResultSet对象。 4. 处理从DBMS返回的数据 查询处理后从DBMS收到的查询结果赋给java.sql.ResultSet对象,该对象包含一些用来从结果集中获取数据存到Java变量中的方法,以便进行进一步处理。 5. 关闭数据库连接 使用与数据库有关的对象所消耗的内存是很大的,因此在完成数据库访问后要及时关闭数据库连接,同时还应关闭Connection中返回的内容,包括Statement 对象和ResultSet对象。 4、preparStatement和普通statement的区? 5、servlet的生命周期 1. 加载/ 实例化:

华为java笔试题

华为Java笔试题 时间:2011-08-04 15:21来源:作者:点击: 9 次 本文Tag标签: 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.PasacalD.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.sodocs.net/doc/a215220049.html,ngD.java.swing 答案:A 5.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class)B.AppletC.ApplicationD.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括classpath C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有()A.newB.$UsdollarsC.1234D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有() A.private B.public C.protected D.static 答案:ACD

2020年华为面试题(附答案)Oracle-DBA数据库管理员JAVA程序员架构师必看

DBA数据库管理员JAVA程序员架构师必看 一、技术问题部分(数据库部分) 1、表空间的管理方式有哪几种? 数据字典管理方式 本地文件管理方式 2、谈谈你对索引的理解? 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定 位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。 3、说说索引的组成? 索引列、rowid 4、分区表用过么?谈谈分区表的应用? 分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用 在销售记录,医院处方等地方!! 5、你对分区表的理解?怎样截断分区表一个分区的记录? 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分 区分区的行 分区表中的每一个分区为一个段,可各自位于不同的表空间中 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理文件有哪几种?控制文件包含了什么信息? 1)数据文件2)控制文件3)日志文件 包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文 件和重做日志文件,一个有选举权据库至少需要一个控制文件 7、表空间用完了如何增加? 三种种扩展方式: 1 增加数据文件alter tablespace name add datafile ,路径? size 4M; 2 扩展数据文件大小alter database datafile ,路径? resize 4M; 3 把数据文件设为自动增长 alter database datafile ,路径? autoextend on next 1M max size 20M; 8、SGA包含几部分? Shared pool(共享池),DataBase Buffer Cache(数据缓冲区) Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。 9、DECODE函数的用法? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构! 10、DELETE和TRUNCATE的区别?

华为java笔试题以及答案

最新华为java笔试题以及答案 华为作为世界500强企业之一,每年都会在各省市招募大量人才,因为其巨大的威望和声誉以及较好的薪酬,近年来华为成为很多学子争相进入的理想之地。尤其对于很多学计算机技术的人来说,更是一大吸引之地。然而,这么大的公司可不是想进就能进的。多年来,华为对人才的要求都很高,类别也多,已形成了完整的人才招聘体系。想进去,就需要各渠道想办法,首先要过笔试。本小编在此整理了华为java笔试题,以供大家参考: 一、单项选择题 1.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确

答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.sodocs.net/doc/a215220049.html,ngD.java.swing 答案:A 5.Java是从()语言改进重新设计。 A.AdaB.C++C.PasacalD.BASIC 答案:B 6.执行如下程序代码 a=0;c=0; do{

--c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数

华为java笔试题目一

华为java笔试题目一 华为java题一单项选择题 1.java是从()语言改进重新设计。 a.ada b.c++ c.pasacal d.basic 答案:b 2.下列语句哪一个正确() a. java程序经编译后会产生machine code b. java程序经编译后会产生byte code c. java程序经编译后会产生dll d.以上都不正确答案:b 3.下列说法正确的有() a. class中的constructor不可省略 b. constructor 必须与class同名,但方法不能与class同名 c. constructor在一个对象被new时执 行 d.一个class只能定义一个constructor 答案:c 4.提供java存取数据库能力的包是() a.java.sql b.java.awt c.https://www.sodocs.net/doc/a215220049.html,ng d.java.swing 答案:a 5.下列运算符合法的是() a.& b.<> c.if d.:= 答案:a 6.执行如下程序代码a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,c的值是() a.0 b.1 c.-1 d.死循环答案:c 7.下列哪一种叙述是正确的() a. abstract修饰符可修饰字段、方法和类 b.抽象方法的body部分必须用一对大括号{ }包住 c.声明抽象方法,大括号可有 可无 d.声明抽象方法不可写出大括号答案:d 8.下列语句正确的是() a.形式参数可被视为local variable b.形式参数可被字段修饰符修饰 c.形式参数为方法被调用时,真正被传递的参数 d.形式参 数不可以是对象答案:a 9.下列哪种说法是正确的() a.实例方法可直接调用超类的实例方法 b.实 例方法可直接调用超类的类方法 c.实例方法可直接调用其他类的实例方法 d.实例方法可直接调用本类的类方法答案:d 二、多项选择题1.java程序的种类有() a.类(class) b.applet c.application

华为java笔试面试题2014-_-

华为Java笔试题+数据库题123 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor答案:C 4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.sodocs.net/doc/a215220049.html,ng D.java.swing答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:=答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环答案:C 7.下列哪一种叙述是正确的() A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号答案:D 8.下列语句正确的是() A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译source code时指定

华为与IBMJAVA面试题

JAVA面试题最全集 一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字转换为字符 如何取小数点前两位,并四舍五入。 4.日期和时间 如何取得年月日,小时分秒 如何取得从1970年到现在的毫秒数 如何获取某个日期是当月的最后一天 如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件 7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”) 3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。 4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6.说明Jsp中errorPage的作用,应用范围。 7.介绍在Jsp中如何使用JavaBeans。 8.简单介绍JSP的标记库 9.Jsp和Servlet中的请求转发分别如何实现。 三、J2EE相关知识 1.介绍J2EE、J2SE、J2SE的区别。 2.J2EE是一种技术还是一种平台,他提供了那些技术。 3.什么是Application Server,它有什么功能和优点。

华为java笔试题

华为Java笔试题一单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C

4.提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.sodocs.net/doc/a215220049.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.& B.<> C.if D.:= 答案:A 6.执行如下程序代码a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环答案:C ------------------ 这一题如果是while(a>0){ --c;a=a-1; }的话就是选A ------------------ 如题如果把题目中的--c 改成c--的话结果还是一

7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是()------------------ A.形式参数可被视为local variable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A -------------- JAVA传递参数有两种方式:值传递和引用传递 值传递是传递数据:象基本数据类型都是值传递 引用传递是把形参和实参的指针指向了堆中的同一对象 ------------------------- 对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。

华为java笔试题大全

华为java笔试题 QUESTION NO: 1 publicclass Test1 { public static void changeStr(String str) { str=”welcome”; } Public static void main(String[] args) { String str=”1234″; changeStr(str); System.out.println(str); } } //输出结果:1234 //这里虽然是一个静态方法,但是里面的变量是一个局部变量,

//所以这里不因为是静态方法,就误认为里面的变量也是静态变量了 QUESTION NO:2 Public class Test2 { Static boolean foo(char c) { System.out.print(c); Return true; } Public static void main(String[] argv) { int i = 0; //for(65;88&&(i<2);67) for (foo(‘A’);foo(‘B’)&& (i < 2) ; foo(‘C’)){ i++; foo(‘D’); } }

} /* What is the result? A. ABDCBDCB B. ABCDABCD C. Compilation fails. D. An exception is thrown at runtime. //输出结果是:ABDCBDCB 分析:FOR循环里面讲究的条件要为真,与你的判断式是什么没有关系 就像这里,虽然是打印的字母,但是却不是false,所以可以执行 第一次进行循环: foo(‘A’)打印字母A,(注:这里不是false条件就默认为true条件) foo(‘B’)打印字母B,i=0,比较(i < 2),条件为true,进行循环体,foo(‘D’)打印D foo(‘C’)打印字母C

华为java笔试题

华为java笔试题 单项选择题 1.java是从( )语言改进重新设计。 a.ada b.c c.pasacal d.basic 答案:b 2.下列语句哪一个正确( ) a. java程序经编译后会产生machine code b. java程序经编译后会产生byte code c. java程序经编译后会产生dll d. 以上都不正确答案:b 3.下列说法正确的有( ) a. class中的constructor不可省略 b. constructor必须与class同名,但方法不能与class同名 c. constructor在一个对象被new时执行 d. 一个class只能定义一个constructor 答案:c 4.提供java存取数据库能力的包是( ) a.java.sql b.java.awt https://www.sodocs.net/doc/a215220049.html,ng d.java.swing 答案:a 5.下列运算符合法的是( ) a.& b.<> c.if d.:= 答案:a 6.执行如下程序代码a=0;c=0; do{ —c; a=a-1; }while(a>0); 后,c的值是( ) a.0 b.1 c.-1 d.死循环答案:c 7.下列哪一种叙述是正确的( ) a. abstract修饰符可修饰字段、方法和类 b. 抽象方法的body部分必须用一对大括号{ }包住 c. 声明抽象方法,大括号可有可无 d. 声明抽象方法不可写出大括号 答案:d 8.下列语句正确的是( ) a. 形式参数可被视为local variable b. 形式参数可被字段修饰符修饰 c. 形式参数为方法被调用时,真正被传递的参数 d. 形式参数不可以是对象答案:a 9.下列哪种说法是正确的( ) a. 实例方法可直接调用超类的实例方法 b. 实例方法可直接调用超类的类方法 c. 实例方法可直接调用其他类的实例方法 d. 实例方法可直接调用本类的类方法答案:d 二、多项选择题 1.java程序的种类有( ) a.类(class) b.applet c.application d.servlet 2.下列说法正确的有( ) a. 环境变量可在编译source code时指定 b. 在编译程序时,所能指定的环境变量不包括class path c. javac一次可同时编译数个java源文件 d. javac.exe能指定编译结果要置于哪个目录(directory) 答案:bcd

华为的java电话面试10题

华为的j a v a电话面试10 题 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

1、有哪些数据类型 Java定义了8种简单类型:byte、short、int、long、char、float、double和boolean 2、有几种访问机制? 同一个类同一个包不同包的子类不同包的非子类 private yes default yes yes protected yes yes yes public yes yes yes yes 3、JDBC的过程 1. 加载JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver");//MySQL的加载JDBC驱动程序的方法 Class.forName("org.postgresql.Driver");//PostgreSQL的加载JDBC驱动程序的方法 Class.forName("oracle.jdbc.driver.OracleDriver");//Oracle的加载JDBC驱动程序的方法 Class.forName("https://www.sodocs.net/doc/a215220049.html,.DB2Driver");//DB2的加载JDBC驱动程序的方法 Class.forName("com.sybase.jdbc2.jdbc.SybDriver");//Sybase的加载JDBC驱动程序的方法 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//SQLServer的加载JDBC驱动程序的方法 2. 建立数据库连接 与MySQL数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:mysql://MyDbComputerNameOrIP:3306/myDBName",ID,Pwd); 与PostgreSQL数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:postgresql://MyDbComputerNameOrIP:3306/myDBName",ID,Pwd); 与Oracle数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL",ID,Pwd); 与Sybase数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:sybase:Tds:MyDbComputerNameOrIP:2638",ID,Pwd); 与SQL Server数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master ",ID,Pwd); 与DB1数据库建立连接的方法:Connection con=DriverManager.getConnection ("jdbc:db2://MyDbComputerNameOrIP/myDBName",ID,Pwd); 3. 创建并执行SQL语句

java华为面试题

JA V A方面 1 面向对象的特征有哪些方面 2 String是最基本的数据类型吗? 3 int 和Integer 有什么区别 4 String 和StringBuffer的区别 5运行时异常与一般异常有何异同? 6 说出一些常用的类,包,接口,请各举5个 7 说出ArrayList,Vector, LinkedList的存储性能和特性 8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 9.JSP的内置对象及方法。 10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。 11说出Servlet的生命周期,并说出Servlet和CGI的区别。 12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 14.说出数据连接池的工作机制是什么? 15同步和异步有和异同,在什么情况下分别使用他们?举例说明。 16应用服务器有那些? 17你所知道的集合类都有哪些?主要方法? 18给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据。 19.说出在JSP页面里是怎么分页的? 数据库方面: 1.存储过程和函数的区别 2.事务是什么? 3.游标的作用?如何知道游标已经到了最后? 4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和 行级触发有何区别。

相关主题