Android相关面试题

面试过程中遇到的题集,都会摘要记录下来

一,Java部分

1.什么是反射?

Java反射机制基础详解

2.反射的实现原理是什么?

Java反射机制的实现原理 (一)

Java反射机制的实现原理 (二)安全性和反射

3.Java线程sleep join yield wait notify notifyAll

Java线程中的sleep join yield wait notify notifyAll

4.线程为什么会死锁?Java中有哪几种方式可以避免死锁?

Java多线程死锁原因及如何避免

5.观察者模式是怎样实现的?简单描述,可用类图画出

观察者模式

6.ArrayList内部是怎么实现的?

ArrayList详细介绍(源码解析)和使用示例

7.List与Map的区别?

Java中Map,List与Set的区别

8.JVM的运行机制

Java基础之JVM运行机制

9.String,StringBuffer,StringBuilder的区别?

StringBuffer和StringBuilder的区别


二,Android部分

1.Android中JNI的调用过程

Android中JNI调用过程简述

JNI和NDK编程

2.Service与IntentService有什么区别?

Service 和 IntentService 的区别

3.Intent的实现原理是什么?为什么可以通过Intent去启动Service和Activity?

暂时没找到好的回答 -.-

4.有哪几种方式可以实现自定义控件?

[Android] View 的三种自定义方式:扩展,组合,重写

自定义View的几种方式

5.在代码中注册广播和在AndroidManifest.xml中注册广播有什么区别?

Android广播机制之静态注册与动态注册BroadcastReceiver的区别

6.Android的事件分发机制是怎样的?onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent它们的执行顺序是怎么样的?返回值有什么含义?

图解 Android 事件分发机制

7.ImageLoader框架内部是怎么实现的?

深入解析开源项目之Universal-Image-Loader(一)框架篇

深入解析开源项目之Universal-Image-Loader(二)缓存篇

8.ImageLoader中的LRU(最近最少使用算法)算法是如何实现的?

缓存淘汰算法--LRU算法

9.SQLite有索引吗?是什么类型的?

答:有索引,确切说Int类型的。(如有不对请留言指出^.^)

Android 开发中使用 SQLite 数据库

10.AsyncTask和Handler的区别?

AsyncTask和Handler的区别

11.Android造成闪退(ForceClose)的原因有哪些?

关于Android Force Close 出现的原因 以及解决方法

12.Android如何检测应用更新?

《Android APP应该有的东西》之功能篇:版本检测更新

13.Android中ApplicationContext与Context的区别?

Android Context 上下文 你必须知道的一切

14.Android中的内存回收机制?

Android 操作系统的内存回收机制

简析Android的垃圾回收与内存泄露

15.Android中引起内存泄露的原因?怎么去避免或解决?(本人遇到的高频率问题)

Android内存泄漏的八种可能(上)

Android防止内存泄漏的八种方法(下)

Android 内存泄漏总结

16.OOM造成的原因,怎么去避免或解决?

OOM异常产生的原因和处理方法

17.Android 中的动画有哪几类,它们的特点和区别是什么?

18.用MVP模式实现从网络获取一张图片并显示(上机题)

当时本人用的是AsyncTask的方式结合MVP模式来实现的


三,程序设计题

如何实现多任务下载断点续传功能?(提示:类似UC下载模块,可同时进行多个下载任务,实时显示下载进度,下载任务可以暂停继续,退出程序后仍可进行下载。)


四,算法

1.手写一个冒泡排序

经典排序算法 - 冒泡排序Bubble sort

五,其他问题

什么是SKU?

产品 SKU 是什么意思?与之相关的还有哪些?

你可能感兴趣的:(Android相关面试题)