单选题
- 假设英文字母从小到大的顺序为ABCDEFG,对于二叉搜索(排序)树,下面哪一个序列可能是中序遍历的结果(A)
- [A] ABCDEFG
- [B] ABCGDEF
- [C] DEFGABC
- [D] 都有可能
- 对于有n个结点和e条边的图,使用邻接表存储时,遍历图的时间复杂度为(D)
- [A] O(e^2)
- [B] O(n^2)
- [C] O(ne)
- [D] O(n+e)
- 以下结构中,查找操作时间性能最好的是(C)
- [A] 栈
- [B] 红黑树
- [C] AVL树
- [D] 堆
- 某棵二叉树只有度数为0和2的结点,其中度数为0的结点树为n,则这棵二叉树有多少结点?(B)
- [A] 2n
- [B] 2n-1
- [C] 2n+1
- [D] n+1
- 设指针 q 指向单链表中结点 A,指针 p 指向单链表中结点 A 的后继结点 B,指针 s 指向被插入的结点 X,则在结点 A 和结点 B 插入结点 X 的操作序列为:(B)
- [A] s->next=p->next; p->next=s;
- [B] q->next=s; s->next=p;
- [C] p->next=s->next; s->next=p;
- [D] p->next=s; s->next=q;
- 有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为(最小顶堆)?(C)
- [A] 1,4,8,9,20,7,15,7
- [B] -1,7,15,7,4,8,20,9
- [C] -1,4,7,8,20,15,7,9
- [D] A,B,C均不对
- 在SQL中,与关系代数中的投影运算符对应的字句是(B)
- [A] FROM
- [B] SELECT
- [C] WHERE
- [D] OREDER BY
- 关于数据库死锁,以下描述不正确的是?(C)
- [A] 串行执行事务的数据库不会发生死锁
- [B] 处理已发生的死锁的方法是回滚部分事务以释放锁
- [C] 对于死锁的处理,事先预防的机制可以提高数据使用率
- [D] 解除死锁回滚事务的选择以最小代价为标准
- 下列选项中,(D)可以执行特权指令
- [A] 普通用户程序
- [B] 设备驱动程序
- [C] 动态库函数
- [D] 管理员用户的程序
- 以下关于TCP的说法,错误的是(A)
- [A] 发送端发完一个包后,需要等待接收端确认,才能继续发送下一个
- [B] TCP包大小会动态变化
- [C] TCP接收方会丢掉重复的数据
- [D] TCP对发送的每一个包进行编号,由接收方对数据包进行排序
- 以下关于Android线程的说法错误的是?(ACD)
- [A] Service运行在子线程上,与主线程通过Binder来通信
- [B] BroadcastReceiver可以在onReceiver里直接更新UI
- [C] Activity与Fragment运行在不同的线程上,必须通过setArguments方式通信
- [D] ContentProvider运行在子线程中,因此不会引发ANR错误
- 以下关于Handler的说法错误的是?(AC)
- [A] Handler用于跨进程通信
- [B] Handler是一个消息处理机制
- [C] Handler只能在主线程中使用
- [D] Handler和Looper,MessageQueue一起工作
- 下列关于BoradcastReceiver的说法正确的是(CD)
- [A] 只能接收本应用发送的广播
- [B] 一个广播intent,只能被一个BoradcastReceiver所接收
- [C] onReceive方法是在广播接受者的主线程被调用的
- [D] 对于有序广播,系统会根据接收者声明的优先级别按顺序执行
- 以下可以作为android系统的数据持久化方案的是(ABC)
- [A] SharedPreference
- [B] File
- [C] Sqlite
- [D] HashMap
- 以下可以实现多线程的是(AB)
- [A] Thread
- [B] AsyncTask
- [C] Runable
- [D] Handler
- 关于垃圾回收说法正确的有(ABD)
- [A] 对于一个对象来说,只要有强引用的存在,它将不能被回收
- [B] 一个对象被弱引用持有,不管当前内存空间足够与否,在下一次垃圾回收时都会被回收
- [C] GC root不包括当前虚拟机栈(栈帧中的本地变量表)中引用的对象
- [D] 垃圾回收不仅仅发生在堆区,也可以发生在方法区
- 下面关于多线程说法错误的是(ABC)
- [A] ThreadLocal能够实现线程的同步
- [B] volatile关键字能够保证原子性和可见性
- [C] wait()和notify()必须结合synchronized对象一起使用,wait和notify()是Thread类中定义的方法
- [D] 使用synchronized时,当一个线程得到了一个对象的锁之后,再次请求该对象时,可以再次得到该对象的锁
- 下列选项中关于反射的说法正确的有哪些?(AD)
- [A] Class类也是一个类,不可以像普通类一样new一个Class对象
- [B] 不能通过反射的方式获取private修饰的属性的值
- [C] 不能够通过反射的方式调用父类的方法
- [D] 能够通过反射的方式调用静态的方法
- 下面的代码运行的结果哪个是不正确的(ACD)
class array_output {
public static void main(String args[]) {
int array_variable[][] = {{ 1, 2, 3}, { 4 , 5, 6}, { 7, 8, 9}};
int sum = 0;
for (int i = 0; i < 3; ++i)
for (int j = 0; j < 3 ; ++j)
sum = sum + array_variable[i][j];
System.out.print(sum / 5);
}
}
- [A] 8
- [B] 9
- [C] 10
- [D] 11