比較好的一份面试题

一、单项选择题:


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项目project以下的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协议中关于server返回状态码的分类和表示的含义

posted @ 2017-05-23 12:43  zsychanpin  阅读(278)  评论(0编辑  收藏  举报