详解笔试面试题集
(1)下列各题ABCD四个选顼中,只有一个选项是正确的,请将正确选项填写在答题纸上
(1)下列关于栈的描述中错误的是(B)
A.栈是先进后出的线性表
B栈只能顺序存储
C栈具有记忆作用
D对栈的插入弓删除操作中,不需要改变栈底指针
正确答案:B
分析:栈是链式存储的
⑵对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()
A 冒泡排序为n/2
B 冒泡排序为n
C快速排序为n
D 快速排序为n(n-1)/2
正确答案:D
分析:
想想快速排序,每次都会选取线性表的轴值,随后以此轴值划分为两个子线性表再分别
进行快排,在最坏情况下,也就是说每次选出的线性表轴值完全不能将这个线性表划分为两个子线性表。那么此时快速排序退化为冒泡排序了。
那么第一趟排序时,轴值(线性表的中间位置)被选出,这个值绝对是这个线性表中最
大的(不然也不能是最坏情况),其他值都比他小,那么线性表现在分为完全不对等的两段(一段是0,另一段是n - 1),一段是这个值,一段是其他值。同样第二趟排序在刚才剩下的值中选中间值(剩余值中最大的那个),又分为不对等两段,依次递推。也就
是说每次都比较了N- 1个元素(轴值选出后都与它比较大小),那么肯定是比较了n- 1 次(如第一次先挑了个轴值,然后剩下n - 1比较),n代表当前子线性表中元素个数
由此最白痴的数列问题出现了,如下
1 +
2 +
3 + ........ + n - 2 + n - 1 = n(n - 1) / 2
还有一种投机取巧的方法,在最垃圾情况下既然快排变为冒泡,那由时间复杂度知其必
为o(n A 2)的复杂度,答案中ABC都是线性时间复杂,显然错误
⑶下列对于线性链表的描述中正确的是()
A 存储空间间不一定是连续,且各元素的存储顺序是任意的
B存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C存储定间必须连续,且前件元素一定存储在后件元素的前面
D存储空间必须连续,且各元素的存储顺序是任意的
答案是A,分析链接存储并不要求存储空间连续,存储位置也不用有序(4)为了使模块爆可能独立,要求()
A 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
f
答案:B
分析:高内聚,低耦合。
5)下列叙述中,正确的是()
A Java语言的标识符是区分大小写的
B 源文件名与public类名可以不相同
C源文件扩展名为.jar
D源文件中public类的数目不限
答案:A
6)下列属于合法的Java标识符是()
A _cat
B 5books
C +static
D -3.14159
答案:A
7)在Java中,表示换行符的转义字符是()
A \n
B \f
C ‘ n'
D \dd
答案:A
(8)扯Java中,所有类的根类是()
A. https://www.wendangku.net/doc/1e5839951.html, ng.Object
B . java .Ian g.Class
C.java.applet.Applet
D.java.awt.Frame
答案:A
(9).在Java+中,用Package语句说明一个包时,该包的层次结构必须是()A与文件的结构相同
B 与文件目录的层次相同
C 与文件类型相同
D 与文件大小相同
答案:A
(10)在读字符 文件Employee.dat 时,使用该文件作为参数的类是
()。
A BufferReader
B Data In putStream
C DataOutoutStream
D FileI nputStream 答案:D (11)在 Java 中,能实现多重继承效果的方式是
()。
A 内部类
B 适配器
C 接口
D 同步 答案:C
(12) char 类型的取值范围是
2-7 ?27-1
16
0 ?2 -1
_215 ?215— 1 0 ?28-1 答案:A
(13) 下列方法中可以用来创建一个新线程的是 ()。
A 实现 https://www.wendangku.net/doc/1e5839951.html,ng.Runnable 接口并重写 startO 方法
B 实现java.iang.Runnable 接口并重写runO 方法
C 继承https://www.wendangku.net/doc/1e5839951.html,ng.Thread 类并重写runO 方法
D 继承https://www.wendangku.net/doc/1e5839951.html,ng.Thread 类并重写startO 方法 答案:C
(14) 下列关于线程优先级的说法中,正确的是 ()。
A.线程的优先级是不能改变的
B ?线程的优先级是在创建线程时设置的
C ?在创建线程后的任何时候都可以设置
D. B 和 C
答案:C
(15) 下列代码中,将引起一个编译错误的行是
()。 1) public class Test{ 2) int m, n;
3) public Test(){}
4)
public Test(i nt a){ m=a;) A B C
D
5)public static void main( Stri ng argsO){
6)Test t1, t2;
7)int j,k;
8)j=0; k=0;
9)t1 = new Test();
10)t2 = newTest(j , k);
11)}
12)}
A ?第3行
B ?第5行
C.第6行
D ?第10行
答案:D
(16)阅读下列代码后
public class Person{
int arr[]=new in t[10];
public static void main( Stri ng args[ ]){
System.out.println(arr[ I]);
}
)
正确的说法是()。
A编译时将产生错误
B 编译时正确,运行时将产生错误
C输出零
D输出空
答案:A
(17)AIDL 支持以下哪种数据类型?l)string 2)list 3)map 4)AII native java datatype( ){,
A . 1,2 和 3
B. 4
C.以上所有
D ?都不支持
答案:C
分析:
AIDL服务只支持有限的数据类型,如果用AIDL服务传递一些复杂的数据就需要做更一步处理,AIDL服务支持的数据类型如下:
1.Java的原生类型
2.String 禾口CharSequenee
3.List和Map ,List和Map对象的元素必须是AIDL支持的数据类型;
以上三种类型都不需要导入(import)