还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
android java笔试题及答案
一、文档说明本文整理了Android Java开发常见的笔试题,涵盖Java基础语法、Android核心组件、常用技术原理及开发实践等知识点,共包含4种题型(单选、多选、判断、简答),适合面试复习、知识巩固或日常练习题目注重实用性与典型性,答案简洁准确,便于快速掌握核心考点
二、单项选择题(30题,每题1分,共30分)以下哪个不是Java面向对象的基本特性?()A.封装B.多态C.继承D.重载Android中,Activity的生命周期不包含以下哪个方法?()A.onCreate B.onInit C.onStart D.onDestroyJava中,以下哪个集合类是线程安全的?()A.ArrayList B.HashMap C.Vector D.HashSetAndroid中,用于在子线程与主线程间传递消息的机制是?()A.AsyncTask B.Handler C.IntentService D.Thread以下关于String、StringBuilder、StringBuffer的描述,错误的是?()A.String是不可变字符串B.StringBuilder是线程安全的C.频繁修改字符串建议用StringBuilder D.StringBuffer的方法有synchronized修饰Android中,哪个类用于管理应用程序的全局状态?()A.Activity B.Application C.Service D.ContentProviderJava中,try-catch-finally结构中,若try块发生异常且catch块未处理,finally块是否执行?()第1页共10页A.不执行B.执行C.取决于异常类型D.取决于JVM版本Android中,以下哪种布局管理器会根据子View的权重分配空间?()A.LinearLayout B.RelativeLayout C.ConstraintLayout D.GridLayoutJava中,以下哪个关键字用于修饰方法,表示该方法不能被子类重写?()A.final B.static C.synchronized D.abstractAndroid中,Activity从可见到完全销毁的过程中,调用的生命周期方法顺序是?()A.onStart→onResume→onPause→onStop→onDestroyB.onStart→onResume→onStop→onPause→onDestroyC.onResume→onStart→onPause→onStop→onDestroyD.onResume→onStart→onStop→onPause→onDestroyJava中,以下哪个是泛型的作用?()A.提高代码可读性B.编译时类型检查C.减少内存占用D.简化代码编写Android中,Service的启动方式不包括以下哪种?()A.startService B.bindService C.startForegroundService D.startActivityServiceJava中,以下关于接口的描述,错误的是?()A.接口中方法默认是public abstractB.接口可以多实现C.接口可以继承其他接口D.接口中可以定义成员变量(非final)Android中,以下哪个类用于存储键值对数据,生命周期与应用一致?()第2页共10页A.Bundle B.SharedPreferences C.Intent D.SQLiteDatabaseJava中,以下哪个异常表示数组下标越界?()A.NullPointerException B.IndexOutOfBoundsExceptionC.ClassCastException D.ArithmeticExceptionAndroid中,以下哪个是用于监听屏幕旋转的方法?()A.onConfigurationChanged B.onScreenRotatedC.onOrientationChanged D.onDisplayChangedJava中,Thread和Runnable的主要区别是?()A.Thread是类,Runnable是接口B.Thread更高效C.Runnable只能单继承D.Thread需要重写run方法Android中,以下关于Intent的描述,错误的是?()A.显式Intent需指定目标组件类名B.隐式Intent通过Action、Category匹配C.Intent可以传递基本数据类型和序列化对象D.Intent只能启动ActivityJava中,以下哪个是String类的方法,用于判断字符串是否以指定前缀开头?()A.startsWith B.beginWith C.prefixWith D.hasPrefixAndroid中,内存泄漏最常见的原因是?()A.子线程未释放资源B.静态变量持有Activity引用C.数据库未关闭D.网络请求未取消Java中,以下哪个集合类允许元素重复且无序?()A.TreeSet B.HashSet C.ArrayList D.LinkedListAndroid中,以下哪个布局管理器可以实现复杂的定位布局?()第3页共10页A.LinearLayout B.RelativeLayout C.ConstraintLayout D.FrameLayoutJava中,以下关于多态的描述,错误的是?()A.多态通过父类引用指向子类对象实现B.重写(Override)是多态的基础C.重载(Overload)体现多态D.多态会增加内存消耗Android中,以下哪个方法用于获取当前Activity的Context?()A.getApplicationContext B.getBaseContext C.getContext D.getApplicationJava中,以下哪个关键字用于修饰类,表示该类不能被继承?()A.final B.static C.private D.abstractAndroid中,Handler机制的核心组件不包括?()A.Handler B.Message C.MessageQueue D.LooperThreadJava中,以下哪个是集合框架中的双端队列?()A.ArrayList B.LinkedList C.Vector D.HashSetAndroid中,以下关于Service的描述,正确的是?()A.Started Service会一直运行直到stopService B.BoundService需要绑定才能运行C.IntentService是主线程Service D.Service默认在主线程运行Java中,以下哪个是异常处理的关键字?()A.try、catch、finally B.throw、throws、tryC.catch、throw、throws D.A和B都是Android中,以下哪个方法用于在布局中动态加载视图?()A.findViewById B.inflate C.loadView D.createView第4页共10页
三、多项选择题(20题,每题2分,共40分)以下关于Java抽象类的描述,正确的有?()A.抽象类可以包含抽象方法B.抽象类可以实例化对象C.抽象类不能被final修饰D.子类必须重写抽象类的所有抽象方法Android中,以下属于四大组件的有?()A.Activity B.Service C.ContentProvider D.ViewJava中,以下关于线程同步的方法有?()A.synchronized关键字B.ReentrantLock C.volatile D.Thread.sleepAndroid中,以下关于IntentFilter的描述,正确的有?()A.用于隐式Intent的匹配B.包含Action、Category、DataC.只能在Manifest文件中定义D.优先级通过android:priority设置Java中,以下属于Object类的方法有?()A.equals B.hashCode C.toString D.cloneAndroid中,以下关于内存优化的措施有?()A.使用弱引用(WeakReference)B.避免内存泄漏(如静态Activity引用)C.复用视图(View recycling)D.大量图片使用BitmapFactory.Options.inSampleSizeJava中,以下关于接口和抽象类的区别,正确的有?()A.接口只能定义抽象方法,抽象类可以有具体方法B.接口支持多实现,抽象类只能单继承C.接口成员变量默认是public staticfinal,抽象类不是第5页共10页D.接口可以继承其他接口,抽象类不能Android中,以下关于Activity生命周期的描述,正确的有?()A.从后台回到前台,会依次调用onStart、onResumeB.调用finish后,会执行onPause→onStop→onDestroyC.onPause阶段可以做数据保存操作D.onDestroy是Activity被销毁前的一个回调Java中,以下关于集合的说法,正确的有?()A.ArrayList的底层是数组,LinkedList的底层是链表B.HashMap在JDK
1.8后,链表长度超过8会转为红黑树C.HashSet的元素不允许重复,且无序D.List接口的实现类都可以通过索引访问元素Android中,以下关于BroadcastReceiver的描述,正确的有?()A.可以通过registerReceiver动态注册B.静态注册需在Manifest中声明C.可用于接收系统广播(如网络变化)D.是四大组件之一Java中,以下关于异常的描述,正确的有?()A.异常分为受检异常(Checked)和非受检异常(Unchecked)B.非受检异常必须显式捕获或声明抛出C.throw用于抛出异常对象,throws用于声明方法可能抛出的异常D.finally块中的代码一定会执行Android中,以下关于布局优化的措施有?()A.使用ConstraintLayout替代LinearLayout嵌套B.使用ViewStub延迟加载视图C.减少过度绘制(Overdraw)D.使用merge标签减少布局层级Java中,以下关于多线程的描述,正确的有?()第6页共10页A.Thread类的start方法会启动新线程并执行runB.Runnable接口的run方法无返回值C.synchronized方法在同一时刻只能有一个线程执行D.线程池可以提高线程复用,减少资源消耗Android中,以下关于Service的描述,正确的有?()A.IntentService会在任务执行完后自动停止B.绑定Service通过onBind返回IBinder对象C.ForegroundService需要设置通知,否则会被系统杀死D.Service默认在主线程运行Java中,以下关于String类的描述,正确的有?()A.String对象创建后不可变B.new Stringabc会创建两个对象(若常量池中无abc)C.String.equals比较内容,==比较地址D.StringBuilder的append方法是线程安全的Android中,以下关于ContentProvider的描述,正确的有?()A.用于跨应用共享数据B.必须实现增删改查方法C.通过UriMatcher匹配不同操作D.属于四大组件Java中,以下关于泛型通配符的描述,正确的有?()A.表示不确定类型B.extends T表示类型是T或其子类C.super T表示类型是T或其父类D.泛型可以用于类、接口、方法Android中,以下关于Handler的描述,正确的有?()A.用于在不同线程间传递消息B.Looper是Handler的消息循环器C.MessageQueue是消息队列D.Handler的handleMessage在创建它的线程执行第7页共10页Java中,以下关于final关键字的描述,正确的有?()A.final修饰的类不能被继承B.final修饰的方法不能被重写C.final修饰的变量是常量,不可修改D.final修饰的引用对象不可变Android中,以下关于数据存储方式的有?()A.SharedPreferences B.SQLiteDatabase C.文件存储D.网络存储
四、判断题(20题,每题1分,共20分)Android中,Activity的onCreate方法在Activity首次创建时调用()Java中,ArrayList和LinkedList的查询效率都为O1()Android中,Handler的sendEmptyMessage方法会立即执行handleMessage()Java中,接口中的方法默认是public的()Android中,Service必须在Manifest文件中声明才能使用()Java中,StringBuilder的长度可以动态变化()Android中,Intent可以传递自定义对象,只要该对象实现Serializable或Parcelable接口()Java中,多态的实现依赖于方法重写(Override)()Android中,RelativeLayout的子View的位置总是相对于父View的()Java中,try块中若没有异常,finally块也会执行()Android中,弱引用(WeakReference)指向的对象在内存不足时会被回收()第8页共10页Java中,HashMap和HashSet的底层都基于数组+链表(或红黑树)实现()Android中,onSaveInstanceState会在Activity被异常销毁前调用()Java中,抽象类必须有抽象方法()Android中,使用startService启动的Service,其生命周期是onCreate→onStartCommand→onDestroy()Java中,synchronized关键字修饰静态方法时,锁对象是当前类的Class对象()Android中,ConstraintLayout的Chain功能可以让子View均匀分布()Java中,Vector是线程安全的List实现类()Android中,Handler的obtainMessage方法比new Message更高效()Java中,final修饰的变量必须初始化()
五、简答题(2题,每题5分,共10分)简述Android中Activity的四种启动模式及其作用简述Java内存泄漏的常见原因及解决措施
六、参考答案
一、单项选择题D
2.B
3.C
4.B
5.B
6.B
7.B
8.A
9.A
10.AB
12.D
13.D
14.B
15.B
16.A
17.A
18.D
19.A
20.BB
22.C
23.D
24.B
25.A
26.D
27.B
28.D
29.D
30.B第9页共10页
二、多项选择题ACD
2.ABC
3.AB
4.ABD
5.ABCD
6.ABCD
7.ABC
8.ABC
9.ABCD
10.ABCDACD
12.ABCD
13.ABCD
14.ABD
15.ABC
16.ABCD
17.ABCD
18.ABCD
19.ABC
20.ABCD
三、判断题√
2.×(ArrayList查询O1,LinkedList On)
3.×(会加入消息队列,按顺序执行)
4.√
5.√√
7.√
8.√
9.×(可相对于兄弟View)
10.√√
12.√
13.√
14.×(抽象类可以没有抽象方法)
15.√√
17.√
18.√
19.√
20.√
四、简答题Activity启动模式standard默认,每次启动创建新实例,返回栈顶singleTop栈顶是该Activity则复用,否则创建新实例singleTask栈中有则复用并清除其上所有Activity,否则创建新实例(单实例栈)singleInstance独立栈,全局唯一实例,其他应用也可访问Java内存泄漏原因及解决原因长生命周期对象持有短生命周期对象引用(如静态Activity引用)、匿名内部类持有外部引用(如Handler内部类)、资源未释放(如Cursor未关闭)解决使用弱引用(WeakReference)、避免静态短生命周期对象引用、及时释放资源(Cursor.close)、使用LeakCanary检测泄漏第10页共10页。
个人认证
优秀文档
获得点赞 0