您的位置:首页 > 职场人生

Android面试题

2011-07-21 13:55 429 查看
 近期很多公司招聘Android程序员,就一些常见的Android面试基础题做下总结,看看你能做出多少道?  1. Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗?
    这里提示大家,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的了解程度,多移动开发的认识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息