面试过程中遇到的题集,都会摘要记录下来
一,Java部分
1.什么是反射?
2.反射的实现原理是什么?
3.Java线程sleep join yield wait notify notifyAll
4.线程为什么会死锁?Java中有哪几种方式可以避免死锁?
5.观察者模式是怎样实现的?简单描述,可用类图画出
6.ArrayList内部是怎么实现的?
7.List与Map的区别?
8.JVM的运行机制
9.String,StringBuffer,StringBuilder的区别?
二,Android部分
1.Android中JNI的调用过程
2.Service与IntentService有什么区别?
3.Intent的实现原理是什么?为什么可以通过Intent去启动Service和Activity?
暂时没找到好的回答 -.-
4.有哪几种方式可以实现自定义控件?
5.在代码中注册广播和在AndroidManifest.xml中注册广播有什么区别?
6.Android的事件分发机制是怎样的?onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent它们的执行顺序是怎么样的?返回值有什么含义?
7.ImageLoader框架内部是怎么实现的?
8.ImageLoader中的LRU(最近最少使用算法)算法是如何实现的?
9.SQLite有索引吗?是什么类型的?
答:有索引,确切说Int类型的。(如有不对请留言指出^.^)
10.AsyncTask和Handler的区别?
11.Android造成闪退(ForceClose)的原因有哪些?
12.Android如何检测应用更新?
13.Android中ApplicationContext与Context的区别?
14.Android中的内存回收机制?
15.Android中引起内存泄露的原因?怎么去避免或解决?(本人遇到的高频率问题)
16.OOM造成的原因,怎么去避免或解决?
18.用MVP模式实现从网络获取一张图片并显示(上机题)
当时本人用的是AsyncTask的方式结合MVP模式来实现的
三,程序设计题
如何实现多任务下载断点续传功能?(提示:类似UC下载模块,可同时进行多个下载任务,实时显示下载进度,下载任务可以暂停继续,退出程序后仍可进行下载。)
四,算法
1.手写一个冒泡排序
五,其他问题
什么是SKU?