【Android源码 栏目提醒】:网学会员Android源码 为您提供android 面试题 - 操作系统参考,解决您在android 面试题 - 操作系统学习中工作中的难题,参考学习。
Android面试题看看你基础如何 作者:
Android开发网原创时间: 2011-04-08 近期很多公司招聘
Android程序员就一些常见的
Android面试基础题做下总结看看你能做出多少道 1. Intent的几种有关Activity启动的方式有哪些你了解每个含义吗 这里
Android123提示大家Intent的一些标记有FLAG_ACTIVITY_BROUGHT_TO_FRONT 、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK 等。
每种含义大家看SDK文档和具体跑下这样你的记忆会更深刻些。
2. Activity和Task的启动模式有哪些 每种含义是什么 有关在AndroidManifest.xml中的
android:launchMode定义主要有standard、singleTop、singleTask和singleInstance同时对于
android:taskAffinity这些问题大家也要了解
Android开发网在以前的文章中讲过不过很多开发者仍然不是很清楚这些基础问题我们以后仍然会再次总结。
3. 通过Intent传递一些二进制数据的方法有哪些 1. 使用Serializable接口实现序列化这是Java常用的方法。
2. 实现Parcelable接口这里
Android的部分类比如Bitmap类就已经实现了同时Parcelable在
Android AIDL中交换数据也很常见的。
4. 能说下
Android应用的入口点吗 在Google的虚拟机中Application实例中已经实现了main方法有关具体的Application介绍可以参考
Android程序的入口点是什么不是Main吗 5. Java基础问题说说HashSet和HashTable的区别 这个相信Java程序员都知道HashSet相对于HashMap就是不能存放重复的数据对于HashTable来说存放的数据不能出现key或value为null这样的情况。
6. Java基础问题用Java的集合类写下广度优先搜索. 这个属于基础数据结构问题通过队列处理一层一层相对于深度优先的栈处理方式来说更实用一些。
7.
Android都有哪些XML解析器都熟练掌握吗 这里XmlPull、SAX和DOM相信做过Web开发的都已经滚瓜烂熟了。
8. SQLite支持事务吗 添加删除如何提高性能 SQLite作为轻量级的数据库比MySQL还小但支持SQL语句查询提高性能可以考虑通过原始经过优化的SQL查询语句方式处理。
9.
Android Service和Binder、AIDL你都熟练吗 作为
Android重要的后台服务这些每个
Android开发者都应该掌握这也算是和Java SE最大的不同了具体的实例大家可以查看
Android音乐播放器的源代码Music.git中的这里不再赘述。
10. 你用过哪款
Android手机有哪些优点和不足相对于iPhone或Symbian又有哪些优缺点 把这个作为面试题也是考察下可以大概了解到它对
Android的了解程度多移动开发的认识。
1. Intent的几种有关Activity启动的方式有哪些你了解每个含义吗 这里
Android123提示大家Intent的一些标记有FLAG_ACTIVITY_BROUGHT_TO_FRONT 、FLAG_ACTIVITY_CLEAR_TOP、FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET、FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS、FLAG_ACTIVITY_MULTIPLE_TASK和FLAG_ACTIVITY_NEW_TASK 等。
每种含义大家看SDK文档和具体跑下这样你的记忆会更深刻些。
2. Activity和Task的启动模式有哪些 每种含义是什么 有关在AndroidManifest.xml中的
android:launchMode定义主要有standard、singleTop、singleTask和singleInstance同时对于
android:taskAffinity这些问题大家也要了解
Android开发网在以前的文章中讲过不过很多开发者仍然不是很清楚这些基础问题我们以后仍然会再次总结。
关于Activity的启动模式参考http://blog.csdn.net/feng88724/archive/2011/05/11/6412638.aspx 3. 通过Intent传递一些二进制数据的方法有哪些 1. 使用Serializable接口实现序列化这是Java常用的方法。
2. 实现Parcelable接口这里
Android的部分类比如Bitmap类就已经实现了同时Parcelable在
Android AIDL中交换数据也很常见的。
4. 能说下
Android应用的入口点吗 真正的
Android入口点是application的main你可以看下androidmanifest.xml的包含关系就清楚了。
可以没有Activity但是必须有Application 5.
Android都有哪些XML解析器都熟练掌握吗 这里XmlPull、SAX和DOM相信做过Web开发的都已经滚瓜烂熟了。
6. SQLite支持事务吗 添加删除如何提高性能 SQLite作为轻量级的数据库比MySQL还小但支持SQL语句查询提高性能可以考虑通过原始经过优化的SQL查询语句方式处理。
7.
Android Service和Binder、AIDL你都熟练吗 作为
Android重要的后台服务这些每个
Android开发者都应该掌握这也算是和Java SE最大的不同了具体的实例大家可以查看
Android音乐播放器的源代码Music.git中的这里不再赘述。
8. 你用过哪款
Android手机有哪些优点和不足相对于iPhone或Symbian又有哪些优缺点 把这个作为面试题也是考察下可以大概了解到它对
Android的了解程度多移动开发的认识。
【2011-5-12 补充】 1. 请描述下Activity的生命周期。
创建 oncreate - 启动onstart – 恢复 onResume – 暂停 onPause – 结束 onEnd – 销毁onDestroy 2. 如果后台的Activity由于某原因被系统回收了如何在被系统回收之前保存当前状态 在”暂停 onPause” 状态将数据保存。
3. 如何将一个Activity设置成窗口的样式。
设置Theme。
4. 如何退出Activity如何安全退出已调用多个Activity的Application 5. 请介绍下
Android中常用的五种布局。
线性布局LinearLayout 相对布局 RelativeLayout 表单布局 TableLayout 绝对布局AbsLayout已淘汰 帧布局FrameLayout 6. 请介绍下
Android的数据存储方式。
Preference文件数据库SQlite网络存储 7. 请介绍下ContentProvider是如何实现数据共享的。
8. 如何启用Service如何停用Service。
启动 Context.startService and Context.bindService. 关闭 Context.stopService. Service.stopSelf or Service.stopSelfResult 9. 注册广播有几种方式这些方式有何优缺点请谈谈
Android引入广播机制的用意。
10. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
11. AIDL的全称是什么如何工作能处理哪些类型的数据 12. 请解释下
Android程序运行时权限与文件系统权限的区别。
Edited by Sodino 13. 系统上安装了多种浏览器能否指定某浏览器访问指定页面请说明原由 14. 有一个一维整型数组intdata保存的是一张宽为width高为height的图片像素值信息。
请写一个算法将该图片所有的白色不透明0xffffffff像素点的透明度调整为50。
15. 你如何评价
Android系统优缺点。
这一题重复了 优势 一、开放性 三、丰富的硬件选择 五、无缝结合的Google应用支持 缺点 一、安全和隐私 二开发商自定义不够统一 四、同类机型用户减少 【2011-5-12 补充】 1、什么是ANR 如何避免它 http://blog.csdn.net/Zengyangtech/archive/2010/11/21/6025671.aspx 2、什么情况会导致Force Close 如何避免能否捕获导致其的异常 3、
Android本身的api并未声明会抛出异常则其在运行时有无可能抛出runtime异常你遇到过吗诺有的话会导致什么问题如何解决 会有运行时异常 运行时异常无需捕捉 4、简要解释一下activity、 intent 、intent filter、service、Broadcast、BroadcaseReceiver 这个问题问的很普遍自己多看看吧。
在此不多说了 5、IntentService有何优点 【2011-5-12 补充】 1.
android:paddingLeft与
android:layout_marginLeft的区别 当按钮分别设置以上两个属性时得到的效果是不一样的。
android:paddingLeft30px 按钮上设置的内容例如图片离按钮左边边界30个像素
android:layout_marginLeft30px 整个按钮离左边设置的内容30个像素 2.
Android 动画有哪几种描述一下 两种。
Tween动画和Frame动画。
Tween动画主要是透明度、尺寸伸缩、旋转、位移等效果。
Frame动画可以理解成gif 一帧一帧的显示图片。
比较常用的有滚动条效果。
3. 对Intent、Activity、广播、Service等的理解。
4. 哪些情况下会发生ANR 怎么对应 这个问题也重复了 Application Not Response。
5. 隐式、显式Intent的区别 1.activity的生命周期。
activity主要生命周期的方法说明 onCreateBundle savedInstanceState创建activity时调用。
设置在该方法中还以Bundle的形式提供对以前储存的任何状态的访问 onStartactivity变为在屏幕上对用户可见时调用。
onResumeactivity开始与用户交互时调用无论是启动还是重新启动一个活动该方法总是被调用的。
onPauseactivity被暂停或收回cpu和其他资源时调用该方法用于保存活动状态的也是保护现场压栈吧 onStopactivity被停止并转为不可见阶段及后续的生命周期事件时调用。
onRestart重新启动activity时调用。
该活动仍在栈中而不是启动新的活动。
onDestroyactivity被完全从系统内存中移除时调用该方法被 2.横竖屏切换时候activity的生命周期 3.
android中的动画有哪几类它们的特点和区别是什么 4.handler机制的原理 5.说说activityintentservice是什么关系 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 IntentServicebroadCast Receiver他们的生命周期管理熟悉一下 4. 操作手机上的数据库SQLite应用 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
上一篇:
基于Android系统的加速传感器驱动
下一篇:
Dreamweaver网页制作教程:层及其应用