java方向面试题

1.    怎样种四棵树使得任意两棵树的距离相等。
同一地方,或正四面体。

2.    27个小运动员在参加完比赛后,口渴难耐,去小店买饮料,饮料店搞促销,凭三个空瓶可以再换一瓶,他们最少买多少瓶饮料才能保证一人一瓶?
19

3.    有一座山,山上有座庙,只有一条路可以从山上的庙到山脚,每周一早上8点,有一个聪明的小和尚去山下化缘,周二早上8点从山脚回山上的庙里,小和尚的上下山的速度是任意的,在每个往返中,他总是能在周一和周二的同一钟点到达山路上的同一点。例如,有一次他发现星期一的8点30和星期二的8点30他都到了山路靠山脚的3/4的地方,问这是为什么?
这样理解:假设早上8点的时候两个不同的人分别从山顶和山脚出发,不管他们的速度如何,必然会在山路的某一点上相遇

4.    有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
两头同时烧

5.    Swtich是否能作用在byte上,是否能作用在long上,是否能作用在string上?
Swtich能作用在byte、char、short、int上,不能作用在long、float、字符串或其他对象上

6.    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
值传递。

7.    JSP最后会编译成什么?是否可以做业务逻辑?
最后被编译成Java Servlet。不可以使用JSP实现业务逻辑。

8.    为什么要用JSP做显示而不用servlet?
因为JSP在编写表示页面时远远比Servlet简单,并且不需要手工编译(由Servlet容器自动编译),并且JSP具有以下特点:①将内容的生成和显示分开②可依赖可重用、跨平台组件来执行更为复杂的处理③采用标签简化页面开发④JSP能提供所有Servlet功能。Servlet主要用作视图控制器、处理后台应用。

9.    简述 Java Server Page 和 Servlet 的联系和区别。
JSP是构建在Servlet之上的,它最终会编译成JAVA Servlet(在Servlet容器中)。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

10.    EJB规范规定EJB中禁止的操作有哪些?
1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等)
2.不能操作awt
3.不能实现服务器功能
4.不能对静态属性存取.
5.不能使用IO操作直接存取文件系统
6.不能加载本地库.
7.不能将this作为变量和返回.
8.不能循环调用.

11.    Java 中byte类型的范围是?     B
A. 0 – 65, 535  B. (–128)–127  C. (–32,768)–32,767    D. (–256)– 255

12.    下列哪些不是Java关键字。  A
A. TRUE    B. const  C. super D. void

13.    下面的哪些叙述为真。  A
A. equals () 方法判定引用值是否指向同一对象。
B. == 操作符判定两个分立的对象的内容和类型是否一致。
C. equals () 方法只有在两个对象的内容一致时返回true。
D. 原始类型可以使用equals () 方法

14.    下面关于继承的哪些叙述是正确的。  A
A. 在java中只允许单一继承。
B. 在java中一个类只能实现一个接口。
C. 在java中一个类不能同时继承一个类和实现一个接口。
D. java的单一继承

15.    使用”>“操作符的哪些陈述是对的。  A
A.0000 0100 0000 0000 0000 0000 0000 0000<<5  结果为 1000 0000 0000 0000 0000 0000 0000 0000
B. 0000 0100 0000 0000 0000 0000 0000 0000>5 结果为   0111 1110 0000 0000 0000 0000 0000 0000    D.1100 0000 0000 0000 0000 0000 0000 0000>>5 结果为 0000 0110 0000 0000 0000 0000 0000 0000

16.    关于垃圾收集的哪些叙述是对的?     B
A. 程序开发者必须自己创建一个线程进行内存释放的工作。
B. 垃圾收集将检查并释放不再使用的内存。
C. 垃圾收集允许程序开发者明确指定并立即释放该内存。
D. 垃圾收集能够在期望的时间释放被java对象使用的内存。

17.    已知以下代码片断     D(溢出)
byte a = 127;
byte b = 126;
byte c = a + b;
下面的的哪些叙述是对的:
A. c的值为243    B. c的值为244  C. 第一行编译错误  D. 第三行编译错误

18.    下面有关变量及其作用域的陈述哪些是不对的。 D(方法被调用的时候才存在)
A. 在方法里面定义的局部变量在方法完成的时候被销毁
B. 局部变量也叫自动变量。
C. 在方法外面定义的变量(即实例变量)在对象被构造时创建。
D. 在方法中定义的方法的参变量只要该对象被需要就一直存在。

19.    类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制?     D
A. public       B. 无修饰符    C. protected        D. private

20.    下面有关java代码安全性的叙述哪些不是对的. A
A. 字节码校验器加载查询执行需要的所有类。
B. 运行时解释器执行代码。
C. 在运行时,字节码被加载,验证然后在解释器里面运行。
D. 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。

21.    public class Parent       B
{ public int addValue( int a, int b)
{ int s;
s = a+b;
return s;   }
}
class Child extends Parent
{
}
哪些方法可以加入类Child中。
A. int addValue( int a, int b ){// do something…}
B. public void addValue (){// do something…}
C. int addValue( int c,int d){// do something…}
D. public int addValue( int a, int b )throws MyException {//do something…}

22.    一个类中定义的成员变量只能被同一包中的类访问。下面的哪些修饰符可以获得需要的访问控制。 D(Protect,包外子类可以调用)
A. private     B. public     C. protected      D. 以上答案均不正确

23.    共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100使用一个短声明定义这个变量  D
A. public int MAX_LENGTH=100;        B. final int MAX_LENGTH=100;
C. final public int MAX_LENGTH=100;    D. public final int MAX_LENGTH=100.

24.    哪些表达式是声明一个含有10个String对象的数组。 D
A. char str[]; B. char str[][];    C. String str[];  D. String str[10];

25.    下面的哪些声明是合法的。 A
A. long l = 4990;    B. int i = 4L;  C. float f = 1.1;  D. float d = 34.4d;

26.    一个按钮放在一个框架中,在框架改变时只影响按钮的高度而宽度不受影响,应该使用哪个布局管理器?  D
A. FlowLayout                         B. CardLayout
C. BorderLayout的North 和South              D. BorderLayout的East和West

27.    下面哪个不是InputStream类中的方法.     B
A. int read(byte[])  B. void flush()     C. void close()  D. int available()

28.    哪个不是FilterInputStream的子类。 D
A. DataInputStream      B. BufferedInputStream    C.PushbackInputStream  D. FileInputStream

29.    哪些类可以作为FileInputStream类的构造方法的参数。 B
A. InputStream  B. File      C. FileOutputStream   D. int

30.    哪些类可以作为FilterInputStream类的构造方法的参数。 C
A. FilterOutputStream   B. File C. InputStream  D. RandomAccessFile

31.    给出下列代码:  D
1. byte [] arry1, array2[];
2. byte array3 [][];
3. byte[][] array4; 如果数组已经被初始化了,下列那个会引起编译错误:
A. array2 = array1;     B. array2 = array3;    C. array2 = array4;    D. both A and C

32.    下面哪些是合法的标识符:   A
A. $persons   B. 2woUsers    C. *point        D. this

33.    哪些是将一个十六进制值赋值给一个long型变量:      D
A. long number = 345L;    B. long number = 0345;
C. long number = 0345L; D. long number = 0x345L.

34.    下面的哪些程序片断可能导致错误:   B
A. String s = “Gone with the wind”;  String t = “ good “; String k = s + t;
B. String s = “Gone with the wind”;  String t;  t = s[3] + “one”;
C. String s = “Gone with the wind”;  String standard = s.toUpperCase();
D. int i = 5; String t = i+ “directory”.

35.    下列的那个声明将会阻止在外面创建一个子类:    D
A. final abstract class FooBar{}       B. private class FooBar{}
C. abstract public class FooBar{}    D. final public class FooBar{}

36.    当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器:         B
A. BorderLayout     B. FlowLayout   C. CardLayout    D. GridLayout

37.    给出下面的代码片断   B
1) public void create() {
2) Vector myVect;
3) myVect = new Vector();
4) }
下面的哪些陈述为false?
A.    第二行的声明不会为变量myVect分配内存空间。
B.    第二行的声明分配一个到Vector对象的引用的内存空间。
C.    第三行语句创建一个Vector类对象。
D.    第三行语句为一个Vector类对象分配内存空间。

38.    下列那些语句可以得到文件“file.txt”的父目录的名字:  B
A.    String name = File.getParentName(“file.txt”);
B.    String name = (new File(“file.txt”)).getParent();
C.    String name = (new File(“file.txt”)).getParentName();
D.    String name= (new File(“file.txt”)).getParentFile();

39.    假设程序MyProg.java已经被编译成一个应用程序并且在命令行下运行,则 java MyProg I like tests 这句命令运行后在 main()方法中args[1]的值是什么    C
A. MyProg   B. I    C. like     D. tests

40.    启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

41.    构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

42.    UML是指什么?并请你用最简短的话概括。
统一建模语言UML(Unified Modeling Language)。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。

43.    简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
区别:条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型。

44.    什么是java序列化,如何实现java序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

45.    List、Map、Set三个接口,存取元素时,各有什么特点?
List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

46.    J2EE是什么?
J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(client tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

47.    说出一些常用的类,包,接口,请各举5个
常用的类:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer
常用的包:java.lang  java.awt  java.io  java.util  java.sql
常用的接口:Remote  List  Map  Document  NodeList

48.    jsp有哪些动作?作用分别是什么?
JSP共有以下6种基本动作:
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。

49.    关系数据库中,主键是(1  ),主键的建立有(2  )种方法,当运用Transact-SQL语句创建主键时,可以是(3  )。
⑴A.为标识表中唯一的实体        B.创建唯一的索引,允许空值
C.只允许以表中第一字段建立        D.允许有多个主键的
⑵A.一        B.二        C.三        D.四
⑶A. Create tabletable1 (column1 char (13) not null primary, column2 int not) on primary;
B.alter table table1with notcheck add constraint [PK_table1] primary key nonclustered (column1) on primary;
C.alter table table1 column1 primarykey;
⑴A  ⑵C ⑶B

50.    表在数据库中是一个非常重要的数据对象,它是用来(1  )各种数据内容的,数据库创建后就可以创建表了,创建表可以用(2   )等方法来创建。
⑴A.显示        B.查询        C.存放        D.检索
⑵A.企业管理器        B.查询分析器    C.OSQL        D.企业管理器和CREATETABLE语句
⑴C  ⑵D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值