没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
23页
Android面试题 1. 请描述下Activity的生命周期。 2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 3. 如何将一个Activity设置成窗口的样式。(Edited by Sodino) 4. 如何退出Activity?如何安全退出已调用多个Activity的Application? 5. 请介绍下Android中常用的五种布局。 6. 请介绍下Android的数据存储方式。(Edited by Sodino)
资源推荐
资源详情
资源评论
Android 面试题
1. 请描述下 Activity 的生命周期。
2. 如果后台的 Activity 由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
3. 如何将一个 Activity 设置成窗口的样式。(Edited by Sodino)
4. 如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?
5. 请介绍下 Android 中常用的五种布局。
6. 请介绍下 Android 的数据存储方式。(Edited by Sodino)
7. 请介绍下 ContentProvider 是如何实现数据共享的。(Edited by Sodino)
8. 如何启用 Service,如何停用 Service。(Edited by Sodino)
9. 注册广播有几种方式,这些方式有何优缺点?请谈谈 Android 引入广播机制的用意。
10. 请解释下在单线程模型中 Message、Handler、Message Queue、Looper 之间的关系。
11. AIDL 的全称是什么?如何工作?能处理哪些类型的数据?
12. 请解释下 Android 程序运行时权限与文件系统权限的区别。(Edited by Sodino)
13. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。
14. 有一个一维整型数组 int[]data 保存的是一张宽为 width,高为 height 的图片像素值信息。请
写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为 50%。
15. 你如何评价 Android 系统?优缺点。
1. activity 的生命周期。
activity 主要生命周期的方法说明:
onCreate(Bundle savedInstanceState):创建 activity 时调用。设置在该方法中,还以 Bundle 的形式提供对
以前储存的任何状态的访问!
onStart():activity 变为在屏幕上对用户可见时调用。
onResume():activity 开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。
onPause():activity 被暂停或收回 cpu 和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈
吧!
onStop():activity 被停止并转为不可见阶段及后续的生命周期事件时调用。
onRestart():重新启动 activity 时调用。该活动仍在栈中,而不是启动新的活动。
onDestroy():activity 被完全从系统内存中移除时调用,该方法被
本试题由安卓宝库倾情奉献:www.androidbaoku.com 更多资料请访问
2.横竖屏切换时候 activity 的生命周期
3.android 中的动画有哪几类,它们的特点和区别是什么
4.handler 机制的原理
5.说说 activity,intent,service 是什么关系
6.android 中线程与线程,进程与进程之间如何通信
7.widget 相对位置的完成在 antivity 的哪个生命周期阶段实现
8.说说 mvc 模式的原理,它在 android 中的运用
9.说说在 android 中有哪几种数据存储方式
10.android 中有哪几种解析 xml 的类,官方推荐哪种?以及它们的原理和区别
一,listview 你是怎么优化的。
二,view 的刷新,之前说过
三,IPC 及原理
四,Android 多线程
五,Android 为什么要设计 4 大组件,他们之间的联系,不设计行不行(主要是为了实现 MVC 模式,然而
java 中最难的模式也是这个,很少有产品能将这个模式做得很好【Technicolor 的面试官问的这个】
六,service 的周期,activity 的周期,谈下你对 Android 内部应用的了解,比如他做电话,以及联系人等等应
用。框架层有很多东西还是多看看,熟悉 Android 怎么做的,不管你做应用程开发还是应用框架层开发很有好
处的。
在就是你项目经验,突出你遇到什么难点,然后是怎么解决的!尽量将每个技术点凸显出来,当然面试官有时
候会为了体现你是否真正做过,他会问你,你在这个应用中做那个模块,用了多少个类之类的问题。
偶尔有的面试官会问你,你用过 Android 自带的单元测试了没,怎么用的?当然我面试过很多家单位,有的是
做平板,手机,数字电视,有的是做出个 erp 之类的客户端等等,出于前面的三个,基本上都是将 Android 的
全部改掉,如果真正要做 Android 的话,大家要学的还很多。
总之,一句话,什么样的面试官都有,去面试的时候要做好一切心理准备,不管是技术还是基础都得扎实。一
个人的交谈能力也很重要,总之不是非常标准的普通话,最起码你说的得让别人听得懂,而且得把面试官讲得
非常彻底,这样你获得 offer 的机会更大,谈工资也有优势~~当然曾经一家公司的面试官跟我说过,技术是不
惜钱的,只要你有能力,多少钱他都请。_
确实,来北京求职期间,牛人真的很多,而且有的面试官也非常好,给了很多忠肯的意见。并不是每个面试官
都特想为难你的~最主要的还是想知道你的技术,因为他们也是吃公司饭,得为这个负责。
Basic:
1. 基本的 UI 控件和布局文件
2. UI 配套的 Adapter 的使用
3. Activity, Intent,Service,broadCast Receiver 他们的生命周期管理熟悉一下
4. 操作手机上的数据库 SQLite 应用
本试题由安卓宝库倾情奉献:www.androidbaoku.com 更多资料请访问
Advanced_1:
1. 为什么看好 Android
2. 现在在公司做哪些工作(关于 Android)
3. Android 的框架以及一些基础知识
4. Android 一些方面的领悟(如 Android 框架的 IoC 特性,View System 的状态机机制等)
Advanced_2:
1.对多线程的运用和理解,及多线程之间 handle 的传值。
2.对 android 虚拟机的理解,包括内存管理机制垃圾回收机制。
3.framework 工作方式及原理,Activity 是如何生成一个 view 的,机制是什么。
4. android 本身的一些限制,不如 apk 包大小限制,读取大文件 时的时间限制。
5. Linux 中跨进程通信的集中方式
Android_4:
1. dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念
2. sim 卡的 EF 文件有何作用
3. AT 命令的 User case 的概念
4.嵌入式操作系统内存管理有哪几种, 各有何特性
5. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
6. 一条最长的短信息约占多少 byte?
2. 1. Android dvm 的进程和 Linux 的进程, 应用程序的进程是否为同一个概念
3. DVM 执行时,在 linux 看来就是一应用程序进程,所以说是同一概念
4. 2. sim 卡的 EF 文件有何作用
5. sim 卡的文件系统有自己规范,主要是为了和手机通讯,sim 本 身可以有自己的操作系统,EF
就是作存储并和手机通讯用的
6. 4.嵌入式操作系统内存管理有哪几种, 各有何特性
7. 页式,段式,段页,用到了 MMU,虚拟空间等技术
8. 5. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
9. 分 硬实时和软实时,android 属于 linux 内核,linux 在用户空间可抢占,内核空间在 2.4 以后可
局部抢占,严格来讲 Android 属于软实时系统
10. 6. 一条最长的短信息约占多少 byte?
一条短信可以输入
本试题由安卓宝库倾情奉献:www.androidbaoku.com 更多资料请访问
11. 中文 70(包括标点)
英文 160
160 个字节
12. Android 面试题积累 收藏
1、什么是 ANR 如何避免它?
13. http://blog.csdn.net/Zengyangtech/archive/2010/11/21/6025671.aspx
14. 2、什么情况会导致 Force Close ?如何避免?能否捕获导致其的异常?
15. 3、Android 本身的 api 并未声明会抛出异常,则其在运行时有无可能抛出 runtime
异常,你遇到过吗?诺有的话会导致什么问题?如何解决?
16. 4、简要解释一下 activity、 intent 、intent filter、service、Broadcast、
BroadcaseReceiver
17. http://blog.csdn.net/Zengyangtech/archive/2010/11/21/6025676.aspx
18.
5、IntentService 有何优点?
19. IntentService is a base class for Services that handle asynchronous requests (expressed as
Intents) on demand. Clients send requests through startService(Intent) calls; the service is
started as needed, handles each Intent in turn using a worker thread, and stops itself when
it runs out of work.
20. This ‘work queue processor’ pattern is commonly used to offload tasks from an
application’s main thread. The IntentService class exists to simplify this pattern and take
care of the mechanics. To use it, extend IntentService and implement
onHandleIntent(Intent). IntentService will receive the Intents, launch a worker thread,
and stop the service as appropriate.
21. All requests are handled on a single worker thread — they may take as long as necessary
(and will not block the application’s main loop), but only one request will be processed at
a time.”
22. IntentService 的好处
23. Acitivity 的进程,当处理 Intent 的时候,会产生一个对应的 Service
24. Android 的进程处理器现在会尽可能的不 kill 掉你
25. 非常容易使用
26. 日历中 IntentService 的应用
27. public class DismissAllAlarmsService extends IntentService {
28. @Override public void onHandleIntent(Intent unusedIntent) {
29. ContentResolver resolver = getContentResolver();
30. ...
31. resolver.update(uri, values, selection, null);
32. }
33. }
34. in AlertReceiver extends BroadcastReceiver, onReceive(): (main thread)
35. Intent intent = new Intent(context, DismissAllAlarmsService.class);
36. context.startService(intent);
37. 6.根据自己的理解描述下 Android 数字签名
本试题由安卓宝库倾情奉献:www.androidbaoku.com 更多资料请访问
38. Android 数字签名
在 Android 系统中,所有安装到系统的应用程序都必有一个数字证书,此数字
证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission
的 protectionLevel 为 signature,那么就只有那些跟该 permission 所在的程序拥有同
一个数字证书的应用程序才能取得该权限。Android 使用 Java 的数字证书相关的机
制来给 apk 加盖数字证书,要理解 android 的数字证书,需要先了解以下数字证书
的概念和 java 的数字证书机制。Android 系统要求每一个安装进系统的应用程序都
是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。Android 将
数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定
最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构
认证,它只是用来让应用程序包自我认证的。
同一个开发者的多个程序尽可能使用同一个数字证书,这可以带来以下好处。
(1)有利于程序升级,当新版程序和旧版程序的数字证书相同时,Android 系统才会
认为这两个程序是同一个程序的不同版本。如果新版程序和旧版程序的数字证书不
相同,则 Android 系统认为他们是不同的程序,并产生冲突,会要求新程序更改包
名。
(2)有利于程序的模块化设计和开发。Android 系统允许拥有同一个数字签名的程序
运行在一个进程中,Android 程序会将他们视为同一个程序。所以开发者可以将自
己的程序分模块开发,而用户只需要在需要的时候下载适当的模块。
(3)可以通过权限(permission)的方式在多个程序间共享数据和代码。Android 提供了
基于数字证书的权限赋予机制,应用程序可以和其他的程序共享概功能或者数据给
那那些与自己拥有相同数字证书的程序。如果某个权限(permission)的
protectionLevel 是 signature,则这个权限就只能授予那些跟该权限所在的包拥有同
一个数字证书的程序。
在签名时,需要考虑数字证书的有效期:
(1)数字证书的有效期要包含程序的预计生命周期,一旦数字证书失效,持有改数
字证书的程序将不能正常升级。
(2)如果多个程序使用同一个数字证书,则该数字证书的有效期要包含所有程序的
预计生命周期。
(3)Android Market 强制要求所有应用程序数字证书的有效期要持续到 2033 年 10 月
22 日以后。
Android 数字证书包含以下几个要点:
(1)所有的应用程序都必须有数字证书,Android 系统不会安装一个没有数
字证书的应用程序
(2)Android 程序包使用的数字证书可以是自签名的,不需要一个权威的数
字证书机构签名认证
(3)如果要正式发布一个 Android ,必须使用一个合适的私钥生成的数字证
书来给程序签名,而不能使用 adt 插件或者 ant 工具生成的调试证书来发布。
(4)数字证书都是有有效期的,Android 只是在应用程序安装的时候才会检
查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正
常功能。
本试题由安卓宝库倾情奉献:www.androidbaoku.com 更多资料请访问
剩余22页未读,继续阅读
资源评论
- malei999992013-05-11这个好像与题目不符啊,还是要谢谢上传
hf_rich
- 粉丝: 1
- 资源: 45
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功