安卓工程师笔试--2015--波导公司,安卓--2015--
1.在微型计算机中,采用中断方式的优点之一是(C)
2.下列哪一项数据J2ME中所使用的虚拟机类型(C)
A.JVM (java虚拟机)
B.DVM
C.CVM(or KVM)
D.Card VM
3.下列不属于CLDC1.1核心类库与J2SE核心类库的主要区别是:(A)
A..不支持线程组或守护线程
B.不支持浮点数据类型
C.不支持弱引用
D.有限的错误处理
4. 下列哪一个程序片段是在链表中间插入一个结点。(假设新结点为NEW,欲插入在 Pointer结点之后)(C)
A.NEW->next=Pointer ; Pointer=NEW
B.NEW->next=Pointer->next ; Pointer->next=NEW
C.Pointer->next=NEW->next; NEW->next=Pointer
D.以上皆非
5.关于abstract抽象类描述正确的是:(A)
A.不能生成抽象的构造函数
B.可以生成抽象的static方法
C.允许生成private的抽象方法
D.以上描述都对
6.一张png格式的图片文件a.png,图片宽70像素,高20像素,被用来创建Spirte,程序如下,下面描述正确的是:D
Image img;
try{ img = Image.createImage("/a.png");
}catch(Exception e){}
Sprite sprite = new Sprite(img,20,20);
A.图片被按照每块宽20像素,高20像素的比例分割成三个画面
B.图片被按照每块宽20像素,高20像素的比例分割出一个画面
C.图片被该Sprite所使用,并将该Sprite的图像描绘到屏幕坐标(20,20)的位置上。
D.出现异常
7.下列方法中哪一个方法能实现在屏幕上描绘出一条虚线(其他部分程序代码省略
public void paint(Graphics g)
{
g.setColor(255,255,255);
g.fillRect(0,0, getWidth(), getHeight());
/* 代码段A */
g.setColor(255,0,0);
g.drawLine(20, 20, 100,20);
/* 代码段B */
g.setColor(125, 125,125);
g.drawLine(20,25,100,50);
g.setStrokeStyle(Graphics.SOLID);
/* 代码段C */
g.setColor(125, 125,125);
g.drawLine(20,30,100,50);
g.setStrokeStyle(Graphics.DOTTED);
/* 代码段D */
g.setColor(255,255,255);
g.drawLine(20,50,100,50); }
A.代码段A B.代码段B C.代码段C D.代码段D
答案:C
8. 蓝牙和802.11b技术都属于短程通讯技术,以下描述错误的是: ( D )
A. 蓝牙和802.11b都是无线技术,并且都选用了2.4GHz的频谱
B. 802.11b主要是用来连接耗电的大型设备,如个人计算机及手提电脑等
C. 蓝牙主要是用来连接耗电极小的小型设备,如PDA和手机等等
D. 蓝牙技术的数据交流的速度达到11Mb/s,距离可达100米
9.以下是一个利用Timer类和TimerTask类实现线程的一个例子(其余代码和类的设计省略),判断下面代码能实现什么功能:(B )
Timer timer = new Timer(); //生成一个Timer类的对象
timerTask tT = new timerTask() ; //该类继承了TimerTask类
timer.schedule(tT, 100, 1000);
A. 程序启动后等待1秒以后,每隔100毫秒运行一次TimerTask类的run()方法
B. 程序启动后等待100毫秒以后,每隔1秒运行一次TimerTask类的run()方法
C. 程序启动后等待10秒以后,每隔1000毫秒运行一次TimerTask类的run()方法
D. 程序启动后等待1秒以后,每隔10秒运行一次TimerTask类的run()方法
10. 下列有关J2SE中有关方法的使用书写正确的是__C__
A.g.getFont("SansSerif"); 用于获取当前字体,不能带参数
B.g.erase(x,y,w,h); //清除位于(x,y)点的矩形
C.Font f = new Font("serif",Font.BOLD,12);
D.g.setColor(Color.Yellow); //将当前颜色设置为黄色
11. J2ME体系架构包括 B
A.Java语言、Java编辑器、Java虚拟机
B.Configuration、Profile、可选包
C.CLDC 、MIDP 、WMA
D.CDC 、Profile、可选包
12.在Java中,创建线程的方法有(B D)多选
A.实现Run接口
B.实现Runnable接口
C.继承Pocess类,实现run()方法
D.继承Thread类,实现run()方法
13.D
14. 在MIDP中,代码的同步主要包括如下哪些方法?( BC)
A.使用全局变量
B.使用callSerially方法
C.使用synchronized关键字,包括对单独的语句或者整个方法或者对象
D.使用servicePaint方法
15. 操作系统具有进程管理、存储管理、文件管理和设备管理的功能,在以下有关的描述中,哪一个是不正确的? (A )。
A.进程管理主要是对程序进行管理
B.存储管理主要管理内存资源
C.文件管理可以有效地支持对文件的操作,解决文件的共享、保密和保护问题
D.设备管理是指计算机系统中除了CPU和内存以外的所有输入输出设备的管理
二、简答题
1.什么是同步和异步;两者有何异同,举例说明应用场合。5分
1如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
2.Android常用的五种布局,并简单说明这几种常用布局的特点。10分
2第二题 ,五种布局
一、 FrameLayout
这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。
二、 LinearLayout
线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。
三、 AbsoluteLayout
绝对布局犹如div指定了absolute属性,用X,Y坐标来指定元素的位置android:layout_x="20px"
android:layout_y="12px" 这种布局方式也比较简单,但是在垂直随便切换时,往往会出问题,而且多个元素的时候,计算比较麻烦。
四、 RelativeLayout
相对布局可以理解为某一个元素为参照物,来定位的布局方式。主要属性有:
相对于某一个元素
android:layout_below="@id/aaa" 该元素在 id为aaa的下面
android:layout_toLeftOf="@id[便便]b" 该元素的左边是bbb
相对于父元素的地方
android:layout_alignParentLeft="true" 在父元素左对齐
android:layout_alignParentRight="true" 在父元素右对齐,还可以指定边距等,具体详见API
五、 TableLayout
表格布局类似Html里面的Table。每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素,设定他的对齐方式 android:gravity="" 。
每一个布局都有自己适合的方式,另外,这五个布局元素可以相互嵌套应用,做出美观的界面。
3.请写出BOOL flag 与“零值”比较的if语句;请写出float x 与“零值”比较的if语句;请写出char *p与“零值”比较的if语句;5分
BOOL 的 if (!var) ... 和 if (var)...
float的 if ( (var &g