北京捷成世纪科技股份有限公司招聘 JAVA 面试真题
一、单选题(每题 1 分,共 25 题)
1.为 16 位 Unicode 字符流提供和写操作支持的类分别是(
).
A. FileinputStream 类和 FileOutputStream 类
B. inputStream 类和 OutputStream 类
C. FileReader 类和 FileWriter 类
D. BufferedinputStream 类和 BuifferedOutputStream 类
2.能利用对象提供方法获得流对象和实现网络连接的是(
)
A.URL Connection 对象
B.B.URL 对象
C.inetAddress 对象
D.Connection 对象
3.可序列化类中的 writeObject()和 readObject()方法使用什么访问控制修饰符(
)
A.public
B.没有访问控制修饰符
C.proteced
D.private
)
4.下列代码将对象写入的设备是(
ByteArrayOutputStream
ObjectOutputStream
out.writeObject(this)
Out.close();
bout=new ByteArrayOutputStream();
out=new ObjectoutputStream(bout);
A.内存
B.硬盘
C.屏幕
D.网络
5.Socket 类的那个方法返回 Socket 对象绑定的远程端口(
)
)
A.getPore(
B.getLocalPort(
C.getRemotePort(
D.不存在这样的方法,因为 Socket 对象绑定的远程端口对程序是透明的
)
)
6.对于 catch 子句的排列,下列哪种是正确的(
)
A.父类在先,子类在后
B.子类在先,父类在后
C.有继承关系的异常不能再同一个 try 程序段内
D.先有子类,其他如何排列都无关
7.以下那个不是 Coolection 接口的子类或接口(
)
A.List
B .Set
C.Map
Dqueue
8.若重写了某个类的 hashCode 方法,则必须同时重写它的那个方法(
)
A.不需要
B .clone
C.toString
D.equais
9.假定 Tester 类有如下 test 方法:
Public int test(int p1, integer p2)
以下哪段代码能正确地动态调用一个 Tester 对象的 test 方法?(
A. Class class Type =Tester.class
Object tester=classtype.new Instance();
Method addMethod=classType.getMethod( “ test ” .new Class[]{int class,int
)
class}];
=addMethod.invoke(tester,new Object[](new Integer(100)),new
addMethod=classType.getMethod(
result=addMethod.invoke(tester,new
Class classType=Tester.class;
Object
result
Integer(200)));
B.
Object tester=classType.newInstance();
Method
Class[](int.class,int.class)));
int
Integer(200)));
C. Class classType=Tester.class;
Object
Method
Class[](int.class,int.class));
Object
Integer(200)));
D. Class classType=Tester.class;
Object tester=classType.newInstance();
Method
Class[](int.class,int.class));
int
Integer(200)));
result=addMethod.invoke(tester,new
“
test
”
,new
Object[](new
Integer(100),new
“
test
”
,new
Object[](new
Integer(100),new
“
test
”
,new
Object[](new
Integer(100),new
tester=classType.newInstance();
addMethod=classType.getMethod(
result=addMethod.invoke(tester,new
addMethod=classType.getMethod(
10.调用 yield()方法有什么作用?(
)
A.当前线程停止,知道其他线程终止
B.当前线程休眠一段时间,其他线程运行
C.所有优先级较低的线程获得 CPU 时间
D.线程将等待,直到被通知
11.假设当前文件系统中已经存在文件 log.txt,已知该文件内汗 ASCII 文本,给出下面代码:
try{
File f=new File(“log.txt”);
OutputStream out =new FileOutputStream(f,true);
}catch(IOException){}
下列哪个结果正确?(
)
A. 代码不能编译
B. 抛出异常,因为该文件没有关闭
C. 代码可以编译并运行,对该文件不会有改变
D. 代码可以编译并运行,并从文件系统删除该文件
E. 代码可以编译并运行,对将该文件长度设置为 0
12.下面哪个选项可以将”Hello”字符写入文件 file.txt 的末尾?(
)
A.OutputStream out =new FileOutputStream(“file.txt”);
Out.writeBytes(“Hello”);
B.OutputStream
os =new FileOutputStream(“file.txt”,true);
DataOutputStream out=new DataOutputStream(os);
Out.writeBytes(“Hello”);
C. OutputStream
os =new FileOutputStream(“file.txt”);
DataOutputStream out=new DataOutputStream(os);
Out.writeBytes(“Hello”);
D.OutputStream
os =new OutputStream(“file.txt”,true);
DataOutputStream out=new DataOutputStream(os);
Out.writeBytes(“Hello”);
13.下面关于文档对象模型(DOM)的说法,哪个时错误的(
)
A.面向对象
B.与语言和平台无关
C.将 xml 文档表示为树
D.可以允许随机访问文档的不同部分
14.需要读取一个比较大的文本文件,这个文件里有很多字节的数据,那么读这类文件下列
最合适的选哪个?(d)
A.newFileinputStream(“file.name”);
b. newInputStreamReader(newFileInputSstream(“file.name”);
c. newRandomAccestFile(“myfile.txt”+rw”);
d.newBufferedReader(newInputStreamReader(newFileInputStream(“file.name”)));
15.给定下列一个参数 t,它继承一个线程类,下列哪个选项可以使该线程停止执行,让其
他线程开始运行(
)
)
A.t.yield(
B.Threads.yield(
c. yield(100);
d.yield(t);
)
16.以下哪个方法可以获取 class 类的所有 public 构造方法( d )
A.getdeclaredMethods(
b. getDeclaredFilds(
c.getDeclsredConstructors(
d.get.Constructors(
)
)
)
)
17.以下哪种属性可以被序列化(
)
A.transient 修饰的
B.static 修饰的
C.final 修饰的
D.线程
18.使用 document 对象的(a)方法可以得到一个 NodeList 对象
A.getElementsByTagName(
B.getElementByTagName(
C.getElements(
D.getTagName(
)
)
)
)
19.以下方法错误的是(c)
A.在 i/o 中,java 使用一个叫 utf 的系统来支持国际化字符集
B.RandomAccessFile 类是支持国际化字符集最合适的类
C.FileInputStream 类的实例不能被连接到 FileOutputStream 类的实例上
D.文件的 i/o 需要 java 异常处理
20.下面哪个不是 ejb 规范规定 ejb 中禁止的操作(d)
A.操作线程和线程 api
B.对静态属性存取
C.加载本地库
D.调用同步方法
E.将 this 作为变量和返回
21.在以下供选择的方法中,能让线程从阻塞状态回复到就绪状态的方法是(c)
A.start(
B.init(
C.resume(
D.run(
)
)
)
)
22.在 java 中,关于垃圾回收器强制回收对象的说法中,正确的是(c)
建库脚本:
A. 写一个 sql 语句显示所有人最后一次发放工资
B. 写一个 sql 语句显示张三的工资明细;
C. 写一个 sql 语句删除张三的工资明细;
23.DOM 读取 XML 文件的顺序是 (
)
A. 1.解析 XML 文件;2.获取解析器对象;3.建立解析器工厂
B. 1.解析 XML 文件;2.建立解析器工厂; 3.获取解析器对象
C.1.获取解析器对象;2.建立解析器工厂;3.解析 XML 文件
D. 1.建立解析器工厂 2.获取解析器对象;3.解析 XML 文件
24.RMI 技术使用的协议是 (
)
A.HTTP
B.HOP
C.SOAP
D.JSO
25.0-255 的正则表达式是(
)
A.(25[0-5])|(2[0-4]\\w][(1?\\w?\\w)])
B.(25[0-25])|(2[0-4]\\w)
C.(25[0-5])|(2[0-4]\\d)
D.(25[0-5])|(2[0-4]\\d|(1?\\d?\\d))
)
)
)
)
)
)
)
)
程安全化等操作。(
二.判断题(每题 1 分,公 25 题)
1.Collection 是针对集合类的一个帮助类,他提供一系类静态方法实现对各种各样集合的
搜索。排序。线
2.当一个线程进入一个对象的一个 Synchronized 方法后,其他线程可以进入此对象的其他
Synchronized 方法。(
3.StringBuilder 与 SrtingBuffer 是同步的 (
4.调用 Lock 的 lock 方法后一定要在 catch 块中调用其 unlock 方法以释放锁。(
5.使用 trabsient 关键字可以解释单例模式的 double check 问题(
6.挂起一个线程的最佳方法是调用其 supend(
)方法。(
7.在没有阻塞的情况下,多线程的最佳数量是 CPU 数量。(
8.在设计过程中要尽量多地使用设计模式。(
9.可以用”==”来判断两个字符串是否相等。(
10.类的构造方法可以被覆盖。(
11.调用 long()方法时,可以传入 int 型参数。(
12.Exception 是所有异常类的父类。(
13.通过 Java 的反射 API 能够调用对象的私有方法。(
14.Long 的 class 对象可以通过 long.class 获取。(
15.相对于 Stateless Session Bean,Stateful Session Bean 会消耗 J2EE Service 较多的
内存。(
16.HashTable 实现了 Map 接口(
17.相对于 Java Bean,EJB 基于 RMI 技术(
18.当一个线程进入一个类的 synchronized 方法后,其他线程可以进入此类的对象的其他
synchronized 方 法(
19.Java 中可以使用 assert(断言)。(
20.在不确定类的方法是否会在多线程下调用时,尽量使用 synchronized 定义该方法,避免
多线程问题。 (
21.Switch 语句可以接受 String 型的参数
)
)
)
)
)
)
)
)
)
)
)
)
22.终止一个线程的最快方法是调用其 stop(
23. 为提高系统性能,应尽量采用多线程
24. 为使对象能够序列化,必须实现 Serialiable 接口 (
25. 基于 java 的 Auto Boming 机制,在函数调用或者赋值时,int 能够自动转换为 Internet
(
)方法 (
)
)
(
)
)
三. 问答题(每题 3 分,共 5 题)
1 有一张老师表 T,字段是 T_ID,T_NAME,有一张学生表,字段是 S_ID,S_NAME,还有一张班级
表 C,字段是 T_ID,S_ID,C_NAME。其中 C_NAME 的取值只有“大班”和“小班”,请查询出
符合条件的老师的名字,条件是老师在大班中带的学生数大于此老师在小班中带的学生
数。
2
forward 和 redirect 的 3 个区别
3 代码差错
class
Name{
private String name;
private abstract boolean
}
有何错误
4 heap 和 stack()的 3 个区别。
四 编程题(共 35 分)
1 写两个线程,一个线程打印 1~52,另一个线程打印字母 A~Z,打印顺序为 12A34B56C…5152Z,
要求用线程间的同步实现。(10 分)
2.将一个正整数分解质因数。如:输入 90,打印出 90=2*3*3*5。(10 分)
3.Shape 是所有图形类的父类,Circle、Square 是其子类:Circle、Square 有多种显示风
格,如 2d,3d 等:每种风格有多套皮肤,不同皮肤显示不同色调,如暖色、冷色等,同一
时刻所有图形显示同一风格和使用同一套皮肤。
请 使 用 工 厂 模 式 、 抽 象 工 厂 , 以 及 反 射 技 术 设 计 并 实 现 一 个 借 口 : Shape
createShape(String shapeName).通过调用此接口可创建出相同风格相同皮肤的图形。
(15 分)