一、单项选择题:
1.Java中Short数据类型的长度是( )bits
A.2 B.8 C.16 D.32
2.下列代码中,哪个选项对应代码不会产生错误 ( )
A.String A = “hello”;
String B = “world”;
String C = A+B;
B.String A = “hello world”;
String B = “world”;
String C = A-B;
C.String A = “hello world;”
String B = A.toUpperCase();
String C = A+B[3];
D.String A = “abc”;
String B = new String(“def”);
String C = A*B;
3.以下选项中哪个不是java的原始类型(primitive type) ( )
A.int B.Boolean C.short D.float
4.main方法的返回类型是 ( )
A.void B.int C.Boolean D.float
5.关于垃圾收集的哪些叙述是对的 ( )
A.程序开发者必须自己创建一个线程进行内存释放的工作。
B.垃圾收集允许程序开发者明确指定并立即释放该内存
C.垃圾收集将检查并释放不再使用的内存
D.垃圾收集能够在期望的时间释放被java对象使用的内存
6.以下代码段,在内存中创建了几个对象 ( )
String A=“hi”; String B=“java”; String C = new String(A+B)
A.4 B.5 C.6 D.7
7.方法resume()负责恢复哪些线程的执行 ( )
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止运行的线程
C.通过调用wait()方法而停止运行的线程
D.通过调用suspend()方法而停止运行的线程
8.下面的哪些答案可以正确表示一个十六进制数字10 ( )
A.0xA B.0x16 C.0A D.016
9.有关线程的哪些叙述是对的 ( )
A.一旦一个线程被创建,它就立即开始运行
B.使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行
C.当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面
D.一个线程可能因为不同的原因停止并进入挂起状态
10.如下代码:
1)
2) { success = connect();
3) if (success==-1) {
4) throw new TimedOutException();
5) }
6) }
若TimedOutExcetion并非RuntimException的子类,第一行代码method方法
签名该选用以下哪个选项 ( )
A.public void method()
B.public void method() throws Exception
C.public void method() throw TimedOutException
D.public throw TimedOutException void method()
11.下面哪行代码会产生编译错误 ( )
1) public void modify() {
2) int i, j, k;
3) i = 100;
4) while ( i > 0 ) {
5} j = i * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) i--;
9) }
10} }
A. 4 B. 6 C. 7 D. 没有错误
12.Android应用中对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中
进行 ( )
A.onPause() B.onCreate() C.onResume() D.onStart()
13.Android应用中下列属于Intent的作用的是 ( )
A.实现应用程序间的数据共享
B.是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为
切换页面而消失
C.可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D.处理一个应用程序整体性的工作
14.我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会
变得越慢,那么线程销毁的方法是 ( )
A.onDestroy() B.onClear() C.onFinish() D.onStop()
15.下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是 ( )
A. DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定
拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可
以认为是同一个概念
B. DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定
拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,
所以说不是一个概念
C. DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有
一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说
不是一个概念
D. DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有
一个独立的 Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认
为是同一个概念
16.Android项目工程下面的assets目录的作用是什么 ( )
A.放置应用到的图片资源。
B.主要放置多媒体等数据文件
C.放置字符串,颜色,数组等常量数据
D.放置一些与UI相应的布局文件,都是xml文件
17.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的 ( )
A. <receiver android:name="NewBroad">
<intent-filter>
<action android:name="android.provider.action.NewBroad"/>
</intent-filter>
</receiver>
B.<receiver android:name="NewBroad">
<intent-filter>
<android:name="android.provider.action.NewBroad"/>
</intent-filter>
</receiver>
C.<receiver android:name="NewBroad">
<action android:name="android.provider.action.NewBroad"/>
</receiver>
D.<intent-filter>
<receiver android:name="NewBroad">
<action android:name="android.provider.action.NewBroad"/>
</receiver>
</intent-filter>
18.关于Android进程,以下描述错误的是 ( )
A.当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默
认的情况下,所有该程序的组件都将在该进程和线程中运行
B.前台进程是用户当前正在使用的进程
C.通过startService()启动的进程虽然对用户不是直接可见的,但是他们执行了用户非
常关注的任务,所以不会被系统进行回收
D.运行着一个对用户不可见的activity(调用过 onStop() 方法).这些进程对用户体验
没有直接的影响,可以在服务进程、可见进程、前台进程需要内存的时候回收
19.以下哪个不是Android的五种默认布局 ( )
A.FrameLayout B.LinearLayout
C.TableLayout D.BorderLayout
20.以下JSON数据能够被正确解析的是 ( )
A.[{“1”:1;“abc”:123},{1:1}]
B.[{“2”:222,”3”:true,”4”:”789”}]
C.{[“age”:”15”, gender:”male”]}
D.{“age”:15; gender:male}
二、判断题:
1.Java的Integer是有符号的数据类型 ( )
2.equals()方法判断的是对象的引用(类似C语言的句柄) ( )
3.代码中明确调用了System.gc()方法后,JVM在执行过程中会立即进行垃圾回收,进行内
存垃圾清理 ( )
4.对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间 ( )
5.Android应用中ContenValues的key必须是String,value必须是原始类型 ( )
6.Android的res/raw文件是原封不动的存储到设备上不会转换为二进制的格式 ( )
7.Android应用的四大组件分别是Activity、Service、ContentProvider 和
BroadcastReciver ( )
8.Android的 nine patch 图片中四条边都是可拉伸区域 ( )
9.Android和JAVA一样,其代码无法调用底层的C/C++编写的代码库,所有内容必须通
过虚拟机编译执行 ( )
10.Android的系统架构中分为AP和BP两类处理器,分别进行Android应用的后台应用
处理和前台界面应用处理 ( )
三、问答题:
1.请描述JVM中基本的内存结构模型,以及相应的作用
2.请用Java代码编写一个冒泡排序法的method
3.请用Java代码编写单例模式(Singleton)的实现代码
4.请描述Android的底层架构情况及其作用
5.请描述以下行为情况下Activity的生命周期情况
1) 父Activity A 启动子Activity B
2) 运行中Activity的横竖屏切换
3) 用户按下Home键
6.Fragment的主要作用是什么,有哪些好处?
7.现有一Android App想实现10秒的progressBar的处理,请根据如下代码内容进行相
应代码段补齐,以完成所需功能。
public class ProgressBarStu extends Activity {
private ProgressBar progressBar = null;
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
//请填写此处内容
}
}
四、附加题:
1.Android代码中,广播注册有几种方法,有什么区别,相应优先级情况如何(请试写相
应代码片段)。
2.简要描述Android ListView 中getViewType的作用和使用场景。
3.请描述一下android App 扫描二维码后实现用户登录并跳转到特定页面的实现过程(可
以使用时序图或流程图,并描述具体实现方法)。
4.请描述一下HTTP协议中关于服务器返回状态码的分类和表示的含义