近期很多公司招聘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. Android使用Fragment嵌套Fragment的方式实现界面滑动
  2. Android(安卓)Studio:layout-sw600dp文件夹中创建activity_main.
  3. Android(安卓)手势基础 GestureDetector和SimpleOnGestureListen
  4. Android多国语言文件夹命名方式
  5. 解决OPPO手机在Android(安卓)studio 环境下安装错误运行失败的问
  6. Android图形绘制基础(二)
  7. android常用的网络请求方式
  8. Android中的数据存储方式
  9. android文件打开方式

随机推荐

  1. Android(安卓)多线程编程
  2. Android在智能手机关键市场扩大份额优势
  3. Android(安卓)4.4 打印探究
  4. Android(安卓)的属性系统(翻译)
  5. 动手学Android之四——布局初步(一)
  6. Android性能优化之一:ViewStub(转)
  7. 一张表格看懂apk加固技术发展历程
  8. Android图像处理(2):怀旧效果
  9. 用 Kotlin 开发 Android(安卓)项目是一种
  10. android path对象使用方法与Region.Op的