2016春招Android开发实习生(网易传媒)笔试

时间:2024-09-02 15:35:32

一、单选题

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 method2();
    public int = method();
    public int = 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 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建立本地数据库,要求:建立主外键约束,假设所有微博都是纯文本消息。