发布于 2014-10-24 06:18:30 | 190 次阅读 | 评论: 0 | 来源: 网友投递
Java程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本文是一份 数码视讯2015校园招聘笔试题-JAVA开发类岗位,有参考答案,感兴趣的同学参考下。
一、选择题(每题5分,共20分)
1、访问修饰符作用范围由大到小是(D)
A、 private-default-protected-public
B、 public -default-protected- private
C、 private- protected-default- public
D、public - protected- default-private
2、以下(D)不是Object类的方法?
A、clone()
B、finalsize()
C、toString()
D、hasNext()
3.Java中,以下(B)接口以键——值对的方式存储对象?
A、java.util.Collection
B、java.util.Map
C、java.util.List
D、java.util.Set
4、指出下列程序运行的结果()
Public class Example{
String str=new String(“good”);
char[] ch={‘a’,’b’,’c’ };
public static void main(String args[]){
Exampleex=new Example();
Ex.change(ex.str,ex.ch);
System.out.print(ex.str+”and ”);
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str=”test ok”;
ch[0]=’g’;
}
A、good and abc
B、good and gbc
C、test ok and abc
D、test ok and gbc
二、填空题(每题5分,共20分)
5、JAVA基本数据类型包括__字符类型char,布尔类型boolean,数值类型____.
6、Math.round(11.5)等于多少?12,Math.round(-11.5)等于多少?-11
7、程序String str1="hello";String str2="he"+newString("llo");
System.out.println(str1==str2);的运行结果是:false
8、字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用StringBuffer类的对象表示。
三 简答
9. 接口和抽象类的区别是什么?(10分)
答案:接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
10. 利用递归方法求5!
答案:
public class Test {
public static void main(String args[]) {
int x = 5;
int rs = Fac(x);
System.out.println("" + x + "! = " + rs);
}
public static long Fac(int x) {
if(x > 1)
return (x * Fac(x - 1));
else
return 1;
}
}
11. 编写多线程代码有几种实现方法?请用一段代码分别举例实现。
答案:
三种:
(1)继承Thread类,重写run函数
创建:
classxx extends Thread{
public void run(){
Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源
}}
开启线程:
对象.start() //启动线程,run函数运行
(2)实现Runnable接口,重写run函数
开启线程:
Threadt = new Thread(对象) //创建线程对象
t.start()
(3)实现Callable接口,重写call函数
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。
Callable和Runnable有几点不同:
①Callable规定的方法是call(),而Runnable规定的方法是run().
②Callable的任务执行后可返回值,而Runnable的任务是不能返回值的
③call()方法可抛出异常,而run()方法是不能抛出异常的。
④运行Callable任务可拿到一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等
待计算的完成,并检索计算的结果.通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果
12. 编程题:写一个观察者模式出来(先画类图,在用代码实现)
答案:
选做题
一个有10亿条记录的文本文件,已按照关键字排好序存储,设计算法,可以快速的从文件中查找指定关键字的记录
分析:10亿在 G量级, 分成100份, 为10M量级, 基本上放入内存无压力了.
在这10亿记录中, 均分为100份, 把每份的第一条记录关键字和此记录对应的文件偏移量先扫入内存(类似索引), 这里需要磁盘随机io 100次.
这样可以马上定位出指定关键字所在的记录块, 把相应的记录块拿到内存, 二分查找即可.