您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页Java试题

Java试题

来源:意榕旅游网
一、判断题(30分)

1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。 4.类及其属性、方法可以同时有一个以上的修饰符来修饰。

5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点 6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。 7.Final类中的属性和方法都必须被final修饰符修饰。 8.最终类不能派生子类,最终方法不能被覆盖。 9.子类要调用父类的方法,必须使用super关键字。 10.一个Java类可以有多个父类。

11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。 12.在java集合中,Vector和HashMap是线程安全的。 13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

15.用“+”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。

二、选择题(30分)

1、关于垃圾收集的哪些叙述是正确的( ):

A.程序开发者必须自己创建一个线程进行内存释放的工作 B.垃圾收集允许程序开发者明确指定并立即释放该内存 C.垃圾收集将检查并释放不再使用的内存

D.垃圾收集能够在期望的时间释放被java对象使用的内存 2、下面的哪些赋值语句是不正确的( ): A.float f=11.1;

B.double d=5.3E12; C.double d=3.14159;

D.double d=3.14D;

3、下面关于变量及其范围的陈述哪些是不正确的( ): A.实例变量是类的成员变量 B.实例变量用关键字static声明

C.在方法中定义的局部变量在该方法被执行时创建 D.局部变量在使用前必须被初始化

4、下列关于修饰符混用的说法,错误的是( ): A.abstract不能与final并列修饰同一个类 B.abstract类中不可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性

5、容器Panel和Applet缺省使用的布局编辑策略是( ):

A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout 6、以下标识符中哪项是不合法的( ):

A、 BigMeaninglessName B、$int

C、1 st D、$1

7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( ):

A、 public static void main()

B、 public static void main(String[ ] args) C、 public static int main(String[ ] arg)

D、 public void main(String arg[ ])

8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ): A、 x[24]为0 B、 x[24]未定义 C、 x[25]为0

D、 x[0]为空

9、以下代码段执行后的输出结果为( ): int x=3; int y=10; System.out.println(y%x); A、0 B、1 C、2

D、3

10、以下哪个表达式是不合法的( ):

A、String x=”Hello”; int y=9; x+=y;

B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y;

D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0 11、编译运行以下程序后,关于输出结果的说明正确的是 ( ): public class Conditional{

public static void main(String args[ ]){ int x=4;

System.out.println(“value is “+ ((x>4) ? 99.9 :9)); } }

A、 输出结果为:value is 99.99 B、 输出结果为:value is 9 C、 输出结果为:value is 9.0 D、 编译错误

12、以下声明合法的是( ): A、 default String s;

B、 public final static native int w( ) C、 abstract double d;

D、 abstract final double hyperbolicCosine( ) 13、关于以下application的说明,正确的是( ): 1. class StaticStuff 2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ]) 6. {

7. System.out.println(“x=” + x); 8. }

9. static { x/=3;}

10. }

A、 4行与9行不能通过编译,因为缺少方法名和返回类型 B、 9行不能通过编译,因为只能有一个静态初始化器 C、 编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3

14、关于以下程序代码的说明正确的是( ): 1.class HasStatic{

2. private static int x=100;

3. public static void main(String args[ ]){ 4. HasStatic hs1=new HasStatic( ); 5. hs1.x++;

6. HasStatic hs2=new HasStatic( ); 7. hs2.x++;

8. hs1=new HasStatic( ); 9. hs1.x++;

10. HasStatic.x- -;

11. System.out.println(“x=”+x); 12. }

13.}

A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 15、以下选项中循环结构合法的是( ): A、while (int i<7){ i++;

System.out.println(“i is “+i); }

B、int j=3; while(j){

System.out.println(“ j is “+j); }

C、int j=0;

for(int k=0; j + k !=10; j++,k++){ System.out.println(“ j is “+ j + “k is”+ k); }

D、int j=0;

do{

System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10);

三、简答题(40分)

1. 写出下列程序的运行结果 public class Cat {

void mi( ) throws NullPointerException {

System.out.println( “Cat mi mi .. “ ); } }

public class SmallCat extends Cat {int i=8;

void mi( ) throws Exception {

System.out.println( “SmallCat mi mi .. “ ); }

public static void main( String[] a ) throws Exception {

Cat cat = new SmallCat(); cat.mi(); } }

写出下列程序的运行结果 interface Playable { void play(); }

interface Bounceable { void play();

}

interface Rollable extends Playable, Bounceable { Ball ball = new Ball(\"PingPang\"); }

class Ball implements Rollable { private String name; public String getName() { return name; }

public Ball(String name) {

this.name = name;

}

public void play() {

ball = new Ball(\"Football\");

System.out.println(ball.getName()); } }

写出下列程序的运行结果 class Value{ public int i = 15; }

public class Test{

public static void main(String argv[]){ Test t = new Test(); t.first();

}

public void first(){ int i = 5;

Value v = new Value(); v.i = 25;

second(v, i);

System.out.println(v.i); }

public void second(Value v, int i){ i = 0; v.i = 20;

Value val = new Value(); v = val;

System.out.println(v.i + \" \" + i); } }

写出下列程序的运行结果 class MyThread extends Thread{ public void run(){

System.out.println(\"MyThread: run()\"); }

public void start(){

System.out.println(\"MyThread: start()\"); } }

class MyRunnable implements Runnable{

public void run(){

System.out.println(\"MyRunnable: run()\"); }

public void start(){

System.out.println(\"MyRunnable: start()\"); } }

public class MyTest {

public static void main(String args[]){ MyThread myThread = new MyThread(); MyRunnable myRunnable = new MyRunnable(); Thread thread = new Thread(myRunnable); myThread.start(); thread.start(); } }

这里是答案 判断题命案: XXX√X XX√XX X X√√X 选择

CABDB CBBBB CBCDC 简答

1、 错误:

该程序不能编译 void mi()抛出的异常父类和子类必须相同 子类SmallCat 构造器中 super (); 一定要在构造器的第一行

2、 错误: 程序不能编译

感觉第4道选择是BCD3个答案

选择题第8题,

执行完以下代码int [ ] x = new int[25];后,x[24]为0,不是没定义。

最后两道问答题的答案是: 3. 15 0 20

4.

MyThread: start() MyRunnable: run()

第一部分:选择题 QUESTION NO: 1

1、public class Test {

public static void changeStr(String str){ str=\"welcome\"; }

public static void main(String[] args) { String str=\"1234\"; changeStr(str);

System.out.println(str); } }

Please write the output result : QUESTION NO:2

1. public class Test {

2. static boolean foo(char c) { 3. System.out.print(c); 4. return true; 5. }

6. public static void main( String[] argv ) { 7. int i =0;

8. for ( foo('A'); foo('B')&&(i<2); foo('C')){ 9. i++ ;

10. foo('D'); 12. } 13. } 14. }

What is the result? A. ABDCBDCB B. ABCDABCD

C. Compilation fails.

D. An exception is thrown at runtime. QUESTION NO: 3 1. class A {

2. protected int method1(int a, int b) { return 0; } 3. }

Which two are valid in a class that extends class A? (Choose two) A. public int method1(int a, int b) { return 0; }

B. private int method1(int a, int b) { return 0; } C. private int method1(int a, long b) { return 0; } D. public short method1(int a, int b) { return 0; }

E. static protected int method1(int a, int b) { return 0; } QUESTION NO: 4

1. public class Outer{

2. public void someOuterMethod() { 3. // Line 3 4. }

5. public class Inner{}

6. public static void main( String[]argv ) { 7. Outer o = new Outer(); 8. // Line 8 9. } 10. }

Which instantiates an instance of Inner? A. new Inner(); // At line 3 B. new Inner(); // At line 8 C. new o.Inner(); // At line 8

D. new Outer.Inner(); // At line 8//new Outer().new Inner() QUESTION NO: 5

Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?

A. The encodeURL method of the HttpServletRequest interface. B. The encodeURL method of the HttpServletResponse interface. C. The rewriteURL method of the HttpServletRequest interface. D. The rewriteURL method of the HttpServletResponse interface. QUESTION NO: 6

Which two are equivalent? (Choose two) A. <%= YoshiBean.size%>

B. <%= YoshiBean.getSize()%>

C. <%= YoshiBean.getProperty(\"size\")%>

D. E. F.

G. QUESTION NO: 7 Which of the following statements regarding the lifecycle of a session bean are correct?

1. java.lang.IllegalStateException is thrown if

SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated.

2. SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated. 3. An exception is not thrown when

SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions.

4. JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation. 5. Accessing resource managers in the

SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception. 第二部分:概念题

1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些? 从视图角度(View) 首先,Struts提供了Java类org. apache.struts.action.ActionForm,Java开发者将该类细分来创建表单bean。在运行时,该bean有两种用法: ― 当JSP准备相关的HTML,表单以进行显示时,JSP将访问该 bean(它保存要放入表单中的值)。那些值是从业务逻辑或者是从先前的用户输入来提供的。

― 当从Web浏览器中返回用户输入时,该bean将验证并保存该输入以供业务逻辑或(如果验证失败的话)后续重新显示使用。

其次,Struts提供了许多定制JSP标记,它们的使用简单,但是它们在隐藏信息方面功能强大。例如,除了bean名称和给定bean中每个段的名称之外,页面设计者不需要知道有关表单bean的更多信息。

从模型角度(Model)

Struts虽然不直接有助于模型开发。在Struts中,系统模型的状态主要由ActiomForm Bean和值对象体现。

从控制器角度(Controller)

在Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、 ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。 2. JSP有哪些内置对象和动作?它们的作用分别是什么?

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法,

response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)

out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

page表示从该页面产生的一个servlet实例

07

4、SQL问答题

SELECT * FROM TABLE 和

SELECT * FROM TABLE

WHERE NAME LIKE '%%' AND ADDR LIKE '%%' AND (1_ADDR LIKE '%%' OR 2_ADDR LIKE '%%' OR 3_ADDR LIKE '%%' OR 4_ADDR LIKE '%%' ) 的检索结果为何不同? 5、SQL问答题 表结构:

1、 表名:g_cardapply 字段(字段名/类型/长度):

g_applyno varchar 8;//申请单号(关键字) g_applydate bigint 8;//申请日期 g_state varchar 2;//申请状态 2、 表名:g_cardapplydetail 字段(字段名/类型/长度):

g_applyno varchar 8;//申请单号(关键字) g_name varchar 30;//申请人姓名

g_idcard varchar 18;//申请人身份证号 g_state varchar 2;//申请状态

其中,两个表的关联字段为申请单号。 题目:

1、 查询身份证号码为440401430103082的申请日期

2、 查询同一个身份证号码有两条以上记录的身份证号码及记录个数 3、 将身份证号码为440401430103082的记录在两个表中的申请状态均改为4、 删除g_cardapplydetail表中所有姓李的记录

IBM的JAVA笔试题

1. 简答题:

a) 在你心中,J2EE是什么样的?请用三句话描述清楚。 从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。

适用于企业级应用的J2EE,提供一个平立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。

J2EE是一个标准,而不是一个现成的产品。

b) 会话EJB主要分为哪两种类型?它们的主要区别是什么?谁的性能更好,为什么? 会话EJB分为有状态的会话EJB和无状态的会话EJB。在与客户的一次会话过程中,有状态的会话EJB可以保存应用方法调用之间的状态信息。无状态的会话EJB不保存应用方法调用之间的信息。

c) EJB的开发人员必须为每个EJB提供哪三个类型的Java对象?这些Java对象必须继承或实现哪些接口(对于Session EJB和Entity EJB有区别时应该分开回答)? EJB开发人员必须提供一个远程接口、一个本地接口和相应的EJB实现。

d) 在EJB中是否允许从方法中返回一个this 引用,或者将this 引用作为参数传递。有 没有其它方法可以获得当前EJBObject的引用?

EJB规范规定EJB中禁止的操作有哪些?

(1)不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等);(2)不能操作awt;(3)不能实现服务器功能;(4)不能对静态属生存取;(5)不能使用IO操作直接存取文件系统;(6)不能加载本地库;(7)不能将this作为变量和返回;(8)不能循环调用。

e) EJB容器的任务是什么?

主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。

f) 客户怎样得到一个EJB实例的远程引用?

设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。

g) EJB可以使用哪些类型的事务划分方法? 它们各自的优势是什么?

EJB可以使用bean管理事务划分或者容器管理事务划分。bean管理事务划分允许开发人员精确地定义事务的边界。而容器管理事务划分则简化了EJB的实现,由EJB的部署者在部署EJB时声明事务的边界。

h) 下面哪个语句能够正确地创建一个InputStreamReader的实例?

i. new InputStreamReader(new FileInputStream(\"data\"));

ii. new InputStreamReader(new FileReader(\"data\"))

------------------------------------------------------------------------------------

IBM(北京开发实验室之一)关于软件测试职位的笔试题(java)

英文选择简答回答题:

1. 写出final和finally的区别throw和throws的区别(java经典笔试题中也有)

2.一个职员表,有3个字段,名称,性别,工资;你要往里面插入一条记录,你要借助jdbc,但是又不想每次操作都让数据库进行编译,你要写一个sql段,你如何写?(我记得大概是这个意思拉,高手们也多多理解一下,可能有说的不明白的地方,大家帮者想想吧)

3.我们谈到transaction的时候,ACID的含义是什么?

ACID,指数据库的不可部分完成性(又称「原子性」,Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中,无法保证数据的正确性。

ACID是一种缩写,它代表了操作(也称为操作管理器)的四个主要性质: 原子性:在一个操作中涉及两个或两个以上的信息,这些信息要么全部提交,要么一个也不提交。

一致性:操作要么创建新的有效的数据状态,要么(如果发生任何错误的话),将所有数据返回到初始状态。

不相关性:操作在没有提交并不与别的任何操作发生任何关系。

持久性:即使发生错误重新启动,保存过的已经提交的数据在正确状态下仍然有效。

4.抽象类和接口的区别是什么?

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

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

变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

5.你有ejb和用c++写的一个客户端应用,那些可以在客户代码中调用ejb?

A.RMI B.JNDI C.CORBA D.NIS

6.RMI-IIOP支持值传递还是参数传递,还是都支持?(问题我给简化拉,反正只记得这些拉,大家凑合吧)

A.pass-by-value B.pass-by-reference C.both

7.traditional HTML form和Xform的区别?

(其他的忘记拉:(~~~ )

中文简答:

http中的put post 和get的区别?

软件测试中的逻辑覆盖的含义和需要进行那些逻辑覆盖?

一个完工的电梯,你打算如何开始你的测试?

location和international(忘记了,这个单词似乎不太对)的区别是什么?你有什么观点?

linux操作系统:

如何创建/mkdasp目录?

如何在/根目录下创建一个/opt/demo目录的挂接点?

如果检查磁盘剩余空间?

如何查找.bak结尾的文件在当前目录下?

翻译就不说拉,英语差不多的就ok拉。

对拉还有数据结构的题:

各种排序的时间复杂度,快速排序、冒泡排序、(还有3个忘记拉)?

给出很多tree和quence,让你写出他们是消息序列、优先级序列、内存数据索引、文件索引的哪一种?

给出了一个图,让你写出哪个图是最优的二叉树?

给出了一个2叉树,让你写出它的遍历顺序?

现在就想起这么多来,下午睡了一觉,忘记拉一部分。等想起来,在补充,如果大家也参加这个面试,也可以补充一下。

[北京]神州数码面试题 (JAVA)

1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分)

2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分) interface A{ int x = 0; } class B{ int x =1; }

class C

extends B implements A { public void pX(){

System.out.println(x);

}

public static void main(String[] args) { new C().pX(); } } }

3.简述 Java Server Page 和 Servlet 的联系和区别。(20分) 4.XML文档定义有几种形式?它们之间有何本质区别? 解析XML文档有哪几种方式?(20分)

5.简述synchronized和java.util.concurrent.locks.Lock的异同 ?(15分) 6.EJB规范规定EJB中禁止的操作有哪些?(15分) 最后还有一题考考你的眼力: public String toString(){

return this + \"@\" + this.hashCode();

}

这个toString()方法实现有无不当的地方?(toString方法其实可以按你想输出的任何内容输出一些该类的信息)

**********************************************************************************

public String toString(){

return this + \"@\" + this.hashCode(); }

会变成

public String toString(){

return String.valueOf(this) + \"@\" + String.valueOf(this.hashCode()); }

而valueOf方法又将去调用toString(); /**

public static String valueOf(Object obj) { return (obj == null) ? \"null\" : obj.toString(); }

*/

这样好像会有问题了吧???

以下答案供参考(不一定完全正确),也没有很详细说明.相关知识可以自己参考相关资料加上自己的理解.欢迎拍砖

1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分) 区别主要答两点:

a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型 b.逻辑操作不会产生短路.如:

int a = 0; int b = 0;

if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0. if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3.

答对第一点得5分,答对第二点得10分.

本题考察最最基本的知识,但仍然有很多大牛级开发人员下马,任何语言在开始的部分 都会详细介绍这些基本知识,但除了学习第一种语言时,没有人在学习新的语言时愿意 花五分钟来复习一下.

2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分) interface A{ int x = 0; }

class B{ int x =1; }

class C

extends B implements A { public void pX(){

System.out.println(x); }

public static void main(String[] args) {

new C().pX();

} } }

本题在编译时会发生错误(错误描述不同的JVM有不同的信息,意思就是未明确的x调用, 两个x都匹配,就象在同时import java.util和java.sql两个包时直接声明Date一样) 本题主要考察对接口和类的最最基本的结构的了解.对于父类的变量,可以用super.x来 明确,而接口的属性默认隐含为 public static final.所以可以通过A.x来明确. 3.简述 Java Server Page 和 Servlet 的联系和区别。(20分)

本题不用多说,在答相同点时应该明确知道jsp编译后是\"类servlet\"而\"不是Servlet\答区别时应该回答出\"侧重于(视图/控制逻辑)\".其它可根据情况加减分值.知识很简单, 但从面试的角度看,被试者不仅要能知道它们的区别,而且要能比较准确地表达出来(以 后写文档要能让别人看得懂,不产生歧义),回答\"jsp编译后就是servlet\"视为错误,回答 \"jsp用于视图,servlet用于控制逻辑\"视为错误,应该用侧重于,主要(多数)用于等词语 表达.

4.XML文档定义有几种形式?它们之间有何本质区别? 解析XML文档有哪几种方式?(20分) 本题三个答题点:

a: 两种形式 dtd,schema

b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的

根本目的)

c: 两种主要方式:dom,sax.答出两种得全分,如能答出saxt,或其它(在答出dom,sax的基 础上,如果应试者认为其它方式也可以视为对xml的解析应该允许.但没有答出dom,sax把 其它方式说成是对XML的解析不得分)应该加分.

5.简述synchronized和java.util.concurrent.locks.Lock的异同 ?(15分) 主要相同点:

Lock能完成synchronized所实现的所有功能.(其它不重要) 主要不同点:

Lock有比synchronized更精确的线程语义和更好的性能(在相同点中回答此点也行) synchronized会自动释放锁.而Lock一定要求程序员手工释放.并且必须在finally从句 中释放,如果没有答出在finally中释放不得分.就如Connection没有在finally中关闭一 样.连最基本的资源释放都做不好,还谈什么多线程编程.

6.EJB规范规定EJB中禁止的操作有哪些?(15分) 共有8点,答出下列3-4点得满分.

1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等) 2.不能操作awt 3.不能实现服务器功能 4.不能对静态属生存取.

5.不能使用IO操作直接存取文件系统 6.不能加载本地库.

7.不能将this作为变量和返回.

8.不能循环调用.

1:下面那些说法是正确的?()

A:java语言是真正的面向对象的语言,任何代码都是类的一部分。

B:运行java程序必须需要java运行环境的支持,例如需要java虚拟机JVM

C:使用Visnal J++在windows下开发的所有java程序可以不加修改的在Unix下运 行,这是java程序“一次编写,到处运行”的特点决定的。 D:java语言的类加载器可以实现从互联网上加载java程序。

2:关于java类下面说法“错误”的是?()

A:一个java类源程序就是一个后缀名为java的操作系统文件,并且类名应于文件名相同

B:java类只能有一个父类,但可以实现多个接口。

C:java类的static类型成员变量最多有一个实现,即使该类有多个对象同时存在 D:在未被实例化之前(生成具体对象之前),java的static类型成员函数可以存取公共的非静态成员变量,但不允许存取私有的非静态成员变量。

E:对于不允许被子类更改的成员变量,应该声明为final类型

3:假设我们开发一些java类,在操作系统的目录结构如下 prog目录下zt和mg两个目录

zt目录下有zta.class和ztb.class,且属于prog.zt包

mg目录下有mga.class和mgb.class,且属于prog.mg包

下面的说法是正确的是?( )

A:不管如何更改CLASSPATH都不能用java zt.zta运行zta.class

B:因为mga.class和mgb.class都属于prog.mg包,所以不需要用import来扩展就可以互相调用。

C:因为mga.class和zta.class都属于prog包,所以不需要用import来扩展就可以互相调用。

4:下面那些说法是“错误”的?()

A:用New运算符来创建的对象,在JVM退出时才会被做垃圾回收

B:判断一个对象是否可以被垃圾回收的条件为是否还有对该对象的引用

C:java函数的参数传递规定,所有的原始类型(如整数)和对象(使用new来创建的)都为地址传递。

D:java函数支持重载,但函数必须至少有一个参数或返回值的类型不同或个数不同。

5:下面叙述那些是正确的?()

A:java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。但需要事先知道所存储对象的类型,才能正常使用。

B:在java中,我们可以用违例(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要更大的系统开销。 C:java接口包含函数声明和变量声明。

D:java中,子类不可以访问父类的私有成员和受保护的成员。

6:请读下面的一个完整的类,并解释该类的作用(说明类的主要功能即可)? Package ebjs.common.taglib; import java.util.Vector;

import java.io.Serializable;

//注解:实现Comparable接口的类可以使用Comparable的ComparaTo函数比较大小 //Serializable接口是序列化接口

public class QueryResultLine implements Comparable,Serializable {

private int compIndex = 0; //index for comparing base is 0

private int elementIndex = 0; //number of fields,basse is 1.e.g.has one field,return 1

private Vector queryline = new Vector() private Boolean reverseOrder = false; public void setReverseOrder(Boolean x) {

reverseOrder = x; }

public int getLength()

{

return elementIndex; }

public void addField(String x)

{

String newX = new String(x); queryLine.add(elementIndex,newx); elementIndex++; }

public String getField(int x)throws IndexOutOfBoundsException {

if(x < 0 || x > = elementIndex) {

throw new IndexOutOfBoundsException (“Index out of Bounds

Exception.index is ”+x); } else {

return((String)queryLine.elementAt(x)); } }

public int setCompIndex(int x) if((x

{

< 0) || (x > = elementIndex)) return 0; else

{

compIndex = x; return 1; } }

public int getCompIndex() { return compIndex; }

public int compareTo(java.lang.Object o) throws IndexOutOfBoundsException

{

String x1,x2;

if(compIndex < 0 || compIndex > = elementIndex) throw new IndexOutOfBoundsException(); x1 = this.getField(compIndex);

x2 = ((ebis.common.taglib.QueryResultLine) o).getField(compIndex);

if(x1 == null && x2 == null) return 0; if(x1 != null && x2 == null) {

if(reverseOrder) return -1

else return 1; }

if(x1 == null && x2 != null) {

if(reverseOrder) return 1 else return -1; }

if(reverseOrder) return(-x1.compareTo(x2)); else return (x1.compareTo(x2)); }

}

7:请编写一个类,可以实现求整数的阶乘并打印结果,并编写main函数求100的阶乘。阶乘公式为f(x) = x*(x-1)*(x-2)*…*2*1,但0的阶乘等于1,类的初始化函数接受一个正整数参数作为x。

1、BCD,另外,A的前半句正确,后半句看你怎么理解。如果不严格的说,A也是正确的。 2、DE

3、AB

4、ABCD

5、AB,另外,C中看怎么理解“变量声明”,如果把final int i = 2;理解为final型的变量声明,那么C也正确。但严格来说,int i;是声明,而i=2;是赋值,所以严格来说,C不正确。 第7个

public class T1 { /**

* @param args

*/

public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(f(5)); }

public static long f(int i){ if(i==0){ return 1; }else{

return i*f((i-1)); } } }

IT企业面试、笔试题汇总 数据结构与算法 1.选择正确的说法 A 栈是先进先出的

B 二维数组是元素是线性表的线性表

C 二叉树的k层有2k-1个节点,i层二叉树有2i-1个节点 2.线性表中要删除p指向节点的下一个节点,做的操作是 A p->next = p->next->next

B p = p->next C p = p->next->next D p->next = p

3.关于队列的说法正确的是 A 队列是先进先出的 B 队列是后进先出的 C 只能做插入操作 D 只能做删除操作

4.元素1,2,3,4,5是按栈存储,下面不可能的出栈顺序是 A 2,1,3,4,5 B 2,1,5,3,4 C 3,2,5,4,1 D 4,3,2,1,5

5.数组a[m]顺序查找第n个元素的时间复杂度是__,打印出数组a[m][n]的时间复杂度是__。

6.数组a[m][n]是行优先存储,每个元素需要k个存储单元,元素a[0][0]的存储地址是b,a[i][j]的存储地址是__。

7.一组元素17,18,7,35,40,65,50,76,85,给出冒泡排序每一趟的结果 8.费波那契数列,用递归和非递归的方法实现。 操作系统

1.死锁的产生情况

2.有5个进程,当有一个进程处于运行状态,处于就绪状态的有几

个? A 0 B 1 C 4 D 5

3.什么是进程和线程?两者的区别。 Sql

1.什么是主键?主键可以为Null吗?可以重复吗?

2.写一条插入语句。表PERSON,字段NAME,AGE,TELEPHONE,要插入记录”zhang”,”24”,”12345678”. 3.创建表 dept

deptno,dname,dloc emp

empno,ename,salary,deptno

a.部门号=’软件工程部’的员工姓名,薪水

4.表同上,查询各部门的部门号,最高薪水,最低薪水 5.表同上,查询部门号按降序,薪水按升序的员工姓名,薪水 面向对象

1.什么叫面向对象? 2.面向对象是为了解决 A 重用性

3.对象和类的区别 软件工程

1.CMMI是软件开发的一项技术。(判断) 2.UML是一种建模语言,它是用于 A 基于瀑布模型的结构化 B 需求动态定义的原型化 C 对象的面向对象 D 数据的数据流开发 3.耦合又强到弱顺序为

A 内容耦合,公共耦合,控制耦合,数据耦合 4.软件工程的起源源自 A 软件技术的发展 B 软件危机 C 其他学科的发展 5.软件开发的流程

A 总体设计,详细设计,调试测试 名词解释

CPU,HTML,HTTP,OA,OLE,Adapter,OOP,IDE,Client/Server,MIS

hanlj 2007-11-26 17:03

IT企业面试、笔试题汇总 我所遇到的面试题如下:

1、如何理解MVC模式 2、怎样度量软件的工作量 3、黑盒测试的目的 4、解释线程与进程的区别 5、解释对象和类的区别 6、解释什么是电子商务 7、什么是中间件

8、用软件工程和java来叙述购物车(shopping cart)系统实现 9、瀑布模型是什么

10、如何理解原型法与瀑布模型 11、简述浅克隆和深克隆

12、文件系统的几个类:FileInputStream、FileOutputStream、FileReader、FileWriter的区别

13、写出生产者消费者模型的实现

14、关于Thread多线程的两种实现(选择题) 15、区分Java中的值传递和引用传递(选择题) 16、down casting与up casting的区别

来自达内学员面试、笔试题: 名词解释: 1,对象,类; 2,电子商务:

电子商务通常是指是在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。 3,中间件:

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。 4,线程和进程

5,如何度量软件的工作量? 6,如何理解mvc模式? 简答题:

1,题目给你一个关于购物车的功能描述,让你结合软件工程和java

语言的知识,描述该如何实现?

2,让你描述,瀑布模型和快速原型法,并做对比?

前面有关于数据库的知识,和网络拓扑结构选择的考题,因我了解不多,记不清了。

有一个选择题是关于对象之间的消息发送概念的 还有一个是关于模块间的设计原则的:高内聚,低耦合。

hanlj 2007-11-26 17:08

IT企业面试、笔试题汇总

[这个贴子最后由hanlj在 2007/11/30 10:10am 第 1 次编辑] 时光软件 java面试基础:

1,网络7层协议,tcp/ip4 层协议。 2,java面向对象对4大特点。

3,名词解释:container,w3c,map,jms,domain 4,简答题:

error和exception的相同和异同点。 public,private,protected访问权限 数据库连接池的工作机制

jsp和servlet的相同,不同点和联系,并说明他们在mvc模式中对应那层

java如何访问c++?这个答案是xml application.具体上网查。 web service的描述语言是什么?答案是wsdl,具体上网查。 以http://开头的安全协议是什么? 版本控制工具有哪些? 互联网提供那些服务? 只记得这些了。 j2ee面试题:

1,前面的选择题,很多牵涉到java中参数传递的特点,这个考点基本都和String这个类结合到一块考了。

还涉及到了,spring ,struts,hibernate等,但考的都很基础。 2,编程题:

a,关于oracle中存储过程的,用到了其中的循环。

b,1到10的10个整数,首尾相连,从1开始,每隔2个数字取1个数字,按顺序打印出这些数字,不能重复。 3,论述:

你对mvc的理解,mvc有什么优缺点?结合struts,说明在一个web应用如何去使用?

然后给出了jsp ,servlet ,javabeans,标签,ejb等一些组件,让你说出他们分别对应mvc模式的哪些层?

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务