一、单选题
1.下列不属于网络层协议的为
- TCP
- IP
- IPX
- ICMP
2.关于activity的状态恢复,错误的是
- onSaveInstanceState中,activity会自动收集恢复view树中所有控件的状态
- activity的成员变量需要手动保存恢复
- 自定义View控件可以实现onRestoreInstanceState和onSaveInstanceState供activity进行状态回调
- onSaveInstanceState并不适合保持持久化数据
3.在发布-订阅(publish-subscribe)消息模型中,订阅者订阅一个主题后,当该主题有新消息达到时,所有订阅者都会受到通知。下面哪个设计模式最适合这个模型?
- 适配器(Adapter)
- Bridge模式
- 状态(State)
- 观察者(Observer)
4.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个页面的走向为4、3、2、1、4、3、2、1、4、3,当分配给该作业的物理块数为3时的缺页率为
- 40
- 60
- 80
- 100
5.关于sleep()和wait(),以下描述错误的一项是()
- Sleep是线程类(Thread)的方法,wait是Object类的方法
- Sleep不释放对象锁,wait放弃对象锁
- Sleep暂停线程,但监控状态仍然保持,结束后会自动恢复
- Wait后进入等待锁定池,只有针对此对象发出notify方法后获得对象锁进入运行状态
6.以下事务的隔离界别中,可以避免幻读的是
- Read Uncommitted
- Read Committed
- Read Repeatable
- Serializable
7.运行B.java,输出的结果是()
public class A {
public static int j = method2();
public int i = method();
public int k = 0;
public A() {
System.out.println(1);
}private int method() {
System.out.println(2);
return 2;
}
public static int method2(){
System.out.println(3);
return 3;
}
}public class B extends A{
public int m=method3();
public static int n=method4();
public int t=0;
public B(){
System.out.println(4);
}
public int method3(){
System.out.println(5);
return 5;
}
public static int method4(){
System.out.println(6);
return 6;
}
public static void main(String[] args) {
System.out.println(7);
A a=new B();
}
}
- 7,3,2,1,6,4,5
- 3,6,7,2,1,5,4
- 7,3,6,2,1,5,4
- 3,2,1,7,6,5,4
8.假如某个Java进程的JVM参数配置如下:-Xms1G,-Xmx2G,-Xmn500M,-XX:MaxPerSize=64M, -XX:+UseConcMarkSweepGC –XX:SurvivorRatio=3,请问eden区最终分配的大小是多少?
- 64M
- 500M
- 300M
- 100M
9.下面那个表达式是不合法的?
- List<? extends Number> foo=new ArrayList<Double>();
- List<? super Number> foo=new ArrayList<Integer>();
- List<? super Integer> foo=new ArrayList<Number>();
- List<? extends Integer> foo=new ArrayList<Integer>();
10.以下数据结构中哪一个是非线性结构?
- 队列
- 栈
- 线性表
- 二叉树
二、多选题
11.以下说法正确的是:
- 分治法能用来处理子问题的解不可以合并的情况
- 动态规划法通常以自底向上的方式求得最优解
- 随机算法运行时间可能会出现找不到解的情况
- 采用KMP算法,在字符串S中检索子串T(值为”zuzxzuy”),若第一次“失配”(s[i]!=T[j]),下一次开始匹配时,i的值可能为15
12.“精俭排序”,即一对数字不进行两次或两次以上的比较,以下是“精俭”排序的是
- 插入排序
- 归并排序
- 选择排序
- 堆排序
13.下列哪些类型能被throw语句抛出
- Error
- Exception
- Throwable
- Object
14.以下说法正确的有
- StringBuilder是线程不安全的
- Java类可以同时使用abstract和final声明
- HashMap中,使用get(key)==null可以判断这个HashMap是否包含这个key
- volatile关键字不保证对变量操作的原子性
15.以下哪些事件会直接导致Linux系统从用户态切换到内核态
- 响应控件中断
- 编译程序源码
- 执行系统调用
- 查看系统日志
16.假设系统按单道方式运行且采用短作业优先算法,有J1,J2,J3,J4共四个作业同时到达,则下列哪几种情况的平均周转率为10分钟?
- 执行时间:
J1:1分钟
J2:5分钟
J3:9分钟
J4:13分钟
- 执行时间:
J1:1分钟
J2:4分钟
J3:7分钟
J4:10分钟
- 执行时间:
J1:2分钟
J2:4分钟
J3:6分钟
J4:8分钟
- 执行时间:
J1:3分钟
J2:6分钟
J3:9分钟
J4:12分钟
17.以下哪些逻辑可能会造成ANR(Application not response)错误:
- 在广播的onReceiver进行网络请求
- 在activity的onCreate读取sqlite数据库
- 在IntentService的onHandleIntent中处理bitmap编码
- 频繁的内存GC
18.局部变量的存储类型可以使:
- auto
- static
- extern
- register
19.以下不同的数据库类型中,哪些不属于关系型数据库范畴
- MongoDB
- PostgreSQL
- Redis
- HBase
20以下有关http协议描述中,哪些是正确的
- Post请求一般用于修改服务器上的资源,对发送的消息数据量没有限制,通过表单方式提交
- http返回码中302表示永久重定向,需要更新URI
- 可以通过206返回码实现断电续传
- http1.1实现了持久连接和管线化操作及主动通知功能,相比http1.0有大幅度性能提升
三、
21.非root环境下如何使service长期后台运行?长期后台运行会带来什么问题?如何优化?
22.某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时间周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题。,要求给出计算过程。
(1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
(2)当该外设的数据传输率达到5MB/s时,改用DMA方式传输数据。假设每次DMA传送大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)
23.有用户态进程A,其虚拟内存页为1KB,A占用了64页,内存大写为128KB,A进程将爱子到内存的页面和物理内存块的编号对应关系如下:
页面编号 物理内存块编号
0 4
1 9
2 5
3 8
请根据以上信息回答如下问题,并给出计算过程:
1)虚拟地址为015D对应的物理地址是多少?
2)物理地址为113C对应的虚拟地址为多少?
3)进程A有一作业长度为8页,试图访问虚拟地址2A3D并保存整型1到该地址对应的物理地址空间,之后又尝试从该地址读取保存的数据,请问A进程这两次内存访问过程能否正常执行?并解释原因。
24.根据快速排序的思想,实现下列函数,找出一个数组中第K大的数(k从0开始计算)
输入格式:
输入有数个测试用例组成
每个测试用例由若干行组成
每个测试用例第一行输入数组大小N,与要求的k
1<N<2^16,0<=K<N
后续N行每行输入一个数字
N=0代表测试结束
输出格式:
对每个测试用例输出题目要求的数字例:
输入:
1 0 #注释:测试用例1
100
5 2 #注释:测试用例2
2
10
93
41
32
0 0#注释:结束
输出:
100
32
25.有一个类似微博的app,需在本地缓存的数据有:用户信息(用户名,用户ID,用户个人的微博帖子以及发布时间)、还有管理(好友名称、好友ID、好友的微博帖子以及发布时间),请使用Android sqlite建立本地数据库,要求:建立主外键约束,假设所有微博都是纯文本消息。