Android 亲身经历面试题总结(第三回合)
2016-06-14 23:43
627 查看
由于上家公司android方面没有什么项目,我也不得不另谋出路,再次踏上找工作之旅。薪资要求20k+,下面总结一下不同公司印象深刻的面试题,供以后参考。面试不仅是一个优胜劣汰的过程,还是一个自我认知的过程。面试有运气的成分,如果面试官水平不是很高或提问的正好你都会,那你就爽了,但我们还是应该重视能力的部分,如果你很有能力则会攻无不克。面试之前你认为你准备充分了,可能不然。面试时提问的知识会很详细、深入,而你可能只是了解,所以技术的广度和深度同样重要。除了知识还有许多面试技巧和细节个人认为同样重要:
一、写简历和介绍工作经历要注意技巧,要尽量表达圆满
二、要有礼貌,面试官到时要站起来并说你好,以示尊重
三、你一天可能面试好几家或者你已经面试了很多家,这些都不要和人事或猎头说,假如你面试好多家都没收到offer,别人就会怀疑你的能力,你可以说我刚开始面试,这是第一家,我对你们公司很感兴趣,所以才来的,这样别人听了是不是会很高兴?(厚黑学^-^)
四、有些问题你没有绝对的把握对,但是你也要勇敢说出来,因为它可能会对,比什么都不说强
五、不懂的问题马上弄明白,同样的错误不要犯两次
六、高级工程师不仅会解决问题,还要考虑严谨、高效 、安全等
----------------------------------------------------------------------------------------------------------------------------------------
1. android 5.0/6.0/7.0版本 分别有什么新特性:http://www.2cto.com/kf/201604/503511.html
JDK各个版本的新特性jdk1.5-jdk8:http://www.cnblogs.com/langtianya/p/3757993.html
2.单链表linkedlist翻转:http://computerdragon.blog.51cto.com/6235984/1305986
3.死锁怎么形成,代码写出:http://blog.chinaunix.net/uid-20665441-id-305490.html,http://blog.csdn.net/li396864285/article/details/51487637
4.BroadcastReceiver和service中能执行耗时操作吗,如果不能,为什么不能
Android中的ANR问题:http://blog.chinaunix.net/uid-20771867-id-3034557.html
Android ANR异常及解决方法:http://blog.csdn.net/leilu2008/article/details/6689405
【腾讯bugly干货分享】精神哥手把手教你如何智斗ANR:http://www.mamicode.com/info-detail-885290.html
5.intent能传递什么类型的对象,对象有大小限制吗:http://blog.csdn.net/xuan521521/article/details/51203674
bundle.putSerializable(Key,Object); //实现Serializable接口的对象
bundle.putParcelable(Key, Object); //实现Parcelable接口的对象
6.classloader、aidl、ibinder、binder的实现原理,aidl可以在一个进程间通信吗
Java ClassLoader 原理详细分析:http://www.codeceo.com/article/java-classloader.html
Android进程间通信(IPC)机制Binder简要介绍:http://blog.csdn.net/luoshengyang/article/details/6618363
android 进程间的通信(IPC)方式有哪些?http://blog.csdn.net/a471893438/article/details/51878919
7.softreference和weakreference区别
8.java 垃圾回收
finalize()有什么用法,(不用自己调用,垃圾回收时自动会调用)
http://blog.csdn.net/canot/article/details/51037938
java中垃圾回收的策略:http://blog.csdn.net/on_1y/article/details/38900597,http://www.cnblogs.com/mingziday/p/4967337.html
GC Root:http://blog.csdn.net/fenglibing/article/details/8928927
Java GC、新生代、老年代:http://blog.csdn.net/flamezyg/article/details/44673951
Java GC的工作原理+Minor GC、FullGC:http://www.tuicool.com/articles/FbI3En
“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”:http://blog.csdn.net/cy609329119/article/details/51771953
深入分析Java ClassLoader原理:http://blog.csdn.net/xyang81/article/details/7292380
9.静态
单例模式项目中用到过吗?创建的对象怎么释放,static方法和静态对象占用内存吗
Android static静态成员变量的使用误区:http://www.androidchina.net/3433.html
采用单例模式还是静态方法好呢:http://jingyan.baidu.com/article/7e440953cffd192fc1e2ef6e.html
10.JNI 中JNIEnv *env, jobject obj 有什么作用,java和c怎么交互? C中处理大量数据怎么分段处理?
http://blog.csdn.net/jiangwei0910410003/article/details/17465457
11.activity之间传递数据的几种方法:http://blog.csdn.net/zyq0335/article/details/7636724
12.activity里面有一个fragmnet,它们的生命周期对比:http://blog.csdn.net/zjclugger/article/details/10442335
13.onPause()和onStop()区别,什么时候只调用onPause(),而不调用onStop():http://blog.csdn.net/lamp_zy/article/details/7703893 ,http://blog.csdn.net/u014285517/article/details/47103251
14.将要跳转到activity的theme是android:windowIsTranslucent=”true” ,Android:theme="@android:style/Theme.Dialog",只调用onPause(),而不调用onStop(),但会调用onCreate()
15.数据结构
array、list、hashmap查找一个值的时间复杂度 http://www.tuicool.com/articles/N7rm6vr ,http://blog.chinaunix.net/uid-25304914-id-4858568.html
Java中List和ArrayList的主要区别:http://blog.csdn.net/duanyipeng/article/details/7851138
ArrayList和LinkedList区别 时间复杂度 与空间复杂度:http://www.cnblogs.com/zjss/p/5232048.html
ArrayList和LinkedList的几种循环遍历方式及性能对比分析:http://www.cnblogs.com/interdrp/p/5004000.html
使用增强型for循环语法(也被称为for-each循环):http://blog.csdn.net/guolin_blog/article/details/42318689
Set如何去重及时间复杂度,TreeMap和TreeSet如何排序及时间复杂度
TreeMap的实现是红黑树算法的实现:http://blog.csdn.net/chenssy/article/details/26668941
HashSet的实现原理:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532999.html
Java 数据结构内存分配及容量扩充:http://blog.csdn.net/cdl2008sky/article/details/7823129
16.开源框架原理研究,如React Native、okhttp、EventBus,dagger,HotFix,Rxjava
教你如何使用okhttp缓存:http://blog.csdn.net/u014614038/article/details/51210685
17.dns劫持是什么,如升级下载App如何确保是我们想要下载的apk,而地址没有被劫持
如何截取应用内访问的网络地址
18.synchronized实现原理:http://www.jianshu.com/p/5dbb07c8d5d5,http://www.open-open.com/lib/view/open1352431526366.html
synchronized和volatile区别:http://blog.csdn.net/fanaticism1/article/details/9966163 ,http://www.cnblogs.com/dolphin0520/p/3920373.html
Java并发编程-Lock:http://www.cnblogs.com/dolphin0520/p/3923167.html
synchronized 和static synchronized 区别:http://www.cnblogs.com/shipengzhi/articles/2223100.html ,
Java多线程并发synchronized的测试与合理使用:http://soft.chinabyte.com/database/423/12594923.shtml
19.同时startService()、bindService,及bindService的应用场景:http://blog.csdn.net/fantcy/article/details/8547172
20.java的class字节码文件:http://blog.csdn.net/lsbhjshyn/article/details/9329339
21.java Exception和Error的区别,所有异常都能够被捕获吗:http://www.oschina.net/translate/10-java-exception-and-error-interview-questions-answers-programming
写代码使得分别出现StackOverflowError和OutOfMemoryError:http://www.cnblogs.com/xudong-bupt/p/3360206.html
22.内存换性能是怎么实现的?以时间换空间和以空间换时间分别是什么意思?
23.java内存分为哪些区?http://blog.csdn.net/lyerliu/article/details/6311709
24.http header包含的内容是什么?
断点续传,http://blog.csdn.net/wwj_748/article/details/20146869
HttpUrlConnection方式:
httpURLConnection.setRequestProperty("Range", "bytes=" + start + "-"+fileSize);
HttpClient方式:
Header header_size = new BasicHeader("Range", "bytes=" + size + "-" + fileSize);
httpGet.addHeader(header_size);
response = client.execute(request);
InputStream is = response.getEntity().getContent();
25.String详解,以及concat()、intern()
26.SparseArray,SparseBooleanArray,以及LongSparseArray。SparseArray<Interger,Object>代替HashMap,ArrayMap也可代替HashMap,但是在数据量比较大的情况下,那么它的性能将退化至少50%:http://blog.csdn.net/null1989/article/details/17589815
android性能优化SparseArray和ArrayMap:http://www.th7.cn/Program/java/201511/693721.shtml
ArrayMap与HashMap有哪些不同:https://www.douban.com/note/526353043/?type=like
27.invalidate(Rect)局部刷新
28、android界面性能优化:
Android帧率测试:http://blog.csdn.net/xiaobai20131118/article/details/50698162
Android界面性能调优手册:https://segmentfault.com/a/1190000004547751
Android性能优化:
Android 性能测试:http://blog.csdn.net/mdx20072419/article/details/46638275
android客户端性能测试 (一):http://blog.csdn.net/marryshi/article/details/44178285
Android最佳性能实践(三)——高性能编码优化:http://blog.csdn.net/guolin_blog/article/details/42318689
Google
Performance Tips:http://www.360doc.com/content/14/0828/03/4587493_405238038.shtml
Best Practices for Performance:https://developer.android.com/training/best-performance.html
29.Android 性能分析工具
DDMS:http://www.xuebuyuan.com/1291595.html
Android系统性能调优工具介绍(TraceView、Systrace、Oprofile):http://blog.csdn.net/innost/article/details/9008691
剖析Android Traceview效率检视工具:http://www.2cto.com/kf/201111/111029.html
正确使用Android性能分析工具——TraceView:http://blog.jobbole.com/78995/
30.sharedpreference、sqlite存在哪?升级app会覆盖吗:http://blog.csdn.net/jie1991liu/article/details/50339797
31.java泛型,权限修饰符,java和C、C++的区别
32.http、https、http的header,http包含的方法,TCP/IP协议详解
33.观察者模式源码研究,自己如何实现高性能观察者模式
34.java是什么编码?其它各种编码的区别
35.蓝牙开发 智能遥控:http://blog.csdn.net/hellogv/article/details/6042091
Android 蓝牙对战五子棋项目实现(含人机对战功能):http://blog.csdn.net/qq_22770457/article/details/51622094
36.android系统中的app安装后的各个文件路径在哪里?:http://zhidao.baidu.com/link?url=ZAI6oBmW4XqFvBiK5zMA8-OTxrZmEdR2K9fco_5Dm8jeUU3lwyqH0e2QmTaP5GC458AOtN3PuDfEaFdEEbG3cVL9c-t9w2pIDuo2Gl9cFKa
37.APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了:http://blog.csdn.net/shakespeare001/article/details/50546809
Android开发:计算缓存大小并且清空缓存:http://blog.csdn.net/baidu_29835301/article/details/51787950
仿360一键清理实现(一):http://blog.csdn.net/tangnengwu/article/details/38226823
android 垃圾清理 文件清理:http://blog.csdn.net/tangnengwu/article/details/49488149
android 内存清理:http://blog.csdn.net/tangnengwu/article/details/49488199
38.进程间通信的几种方式:http://blog.csdn.net/zhuangyalei/article/details/50515039,http://blog.csdn.net/lmj623565791/article/details/47017485
activity之间传递数据的几种方法:http://blog.csdn.net/zyq0335/article/details/7636724
39.Android中程序与Service交互的方式:http://blog.csdn.net/he90227/article/details/33730545 ,
Android Service与Activity之间通信的几种方式:http://blog.csdn.net/xiaanming/article/details/9750689
Android中程序与Service五种交互的方式:http://blog.csdn.net/he90227/article/details/33730545
40.git commit多次怎么合并为一次,git rebase;把这次commit合并到其它的commit,
git commit合并
git查看(某个)文件的修改历史
41.为什么要用多进程,有什么好处?:http://www.tuicool.com/articles/a2yIRf3
Android性能优化典范之多线程篇:http://www.cnblogs.com/bugly/p/5519510.html
UniversalImageLoader线程池分析:http://blog.csdn.net/wubo_fly/article/details/49783545
42.内部类什么时候用?内部类和外部类互相调用,静态内部类:http://www.tuicool.com/articles/n2aYra7
43,view绘制过程源码,onDraw和draw哪个先执行,onMeasure详解
View中的draw和onDraw的区别:http://blog.csdn.net/fener10289/article/details/8231712
View 绘制流程:http://blog.csdn.net/yujun411522/article/details/46226135
Android应用层View绘制流程与源码分析:http://blog.csdn.net/yanbober/article/details/46128379
44.fragment点getActivity方法会报空指针吗?在onCreate中会报空指针吗
45.task的taskaffinity
46.Android内存分析工具:http://blog.csdn.net/xu_fu/article/details/45678373
Android Studio 内存分析工具:http://www.gdky005.com/2016/06/20/使用-Android-Studio-内存分析工具/
47.android 开发如何做内存优化:http://www.cnblogs.com/kingOfPointer/archive/2012/12/21/2828018.html
Android最佳性能实践(一)——合理管理内存:http://blog.csdn.net/guolin_blog/article/details/42238627
ANDROID内存优化(大汇总——上):http://blog.csdn.net/a396901990/article/details/37914465
优化Android应用内存的若干方法:http://blog.csdn.net/wxlinwzl/article/details/24381897
Android内存机制分析:http://blog.csdn.net/mao520741111/article/details/26603805
[Android 性能优化系列]内存之终极篇--降低你的内存消耗:http://blog.csdn.net/kifile/article/details/40751665
分析内存的使用情况:http://blog.csdn.net/guolin_blog/article/details/42238633/
App调试内存泄露之Context篇(上):http://www.cnblogs.com/qianxudetianxia/p/3645106.html
App调试内存泄露之Context篇(下):http://www.cnblogs.com/qianxudetianxia/p/3655475.html
48.Fragment的通信问题, 新建Fragment为何不要在构造方法中传递参数:http://blog.csdn.net/EthanCo/article/details/50912539
Fragment 使用总结:http://www.cnblogs.com/vivid-stanley/p/3657976.html
Fragment解决屏幕旋转(状态发生变化)状态不能保持的问题:http://blog.csdn.net/weihan1314/article/details/7997421
49.Android程序的执行流程分析:http://blog.csdn.net/passtome/article/details/7699819
Android应用程序启动过程源代码分析:http://blog.csdn.net/luoshengyang/article/details/6689748
android的编译和运行过程深入分析:http://blog.csdn.net/zunguitiancheng/article/details/50612606
50.android cookie
Android中OKHttp保存Cookie并传入WebView:http://blog.csdn.net/u011638883/article/details/50516264#comments
51.线程池原理,线程池有几种队列:http://blog.csdn.net/sd0902/article/details/8395677
深入理解java线程池—ThreadPoolExecutor:http://www.jianshu.com/p/ade771d2c9c0
java 线程池的原理和实现:http://liuzl121.iteye.com/blog/1779039
线程池的原理及实现:http://blog.csdn.net/hsuxu/article/details/8985931
理解线程池的原理:http://blog.csdn.net/he90227/article/details/52576452
java自带线程池和队列详细讲解:http://zmx.iteye.com/blog/2161831
Java并发编程:线程池的使用:http://www.cnblogs.com/dolphin0520/p/3932921.html
52.屏幕适配有关知识,720P图片放在哪个drawable
关于Android图片分辨率应该放到哪个文件夹的问题:http://www.w2bc.com/Article/19871
53.listview 优化的知识点,convertview复用原理:http://www.tuicool.com/articles/vimeAj,滑动时不加载图片
54.深入理解 Looper、Handler、Message三者关系(JD):http://blog.csdn.net/lmj623565791/article/details/38377229/
android的消息处理机制(图+源码分析)——Looper,Handler,Message:http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html
Looper 和Handler的对应关系:http://blog.chinaunix.net/uid-20937170-id-4649821.html
Android内存优化:Handler:http://blog.csdn.net/bdmh/article/details/49251849
handler.removeMessages(int)//移除某一个message
handler.removeCallbacksAndMessages(null); // 移除所有message
56.java内存管理原理:http://www.cnblogs.com/killmyday/archive/2013/06/12/3132518.html
Android 之 内存管理:http://blog.csdn.net/xieqibao/article/details/6707519
JAVA的JVM的内存可分为3个区:http://blog.csdn.net/huoyunshen88/article/details/8109018
堆和栈的作用及区别 :http://blog.chinaunix.net/uid-26583794-id-3240534.html
57.对加密的了解(DES/3DES/AES区别 ):http://blog.csdn.net/aa2397199142/article/details/50844879
Android平台和java平台 DES加密解密互通程序及其不能互通的原因:http://blog.csdn.net/x605940745/article/details/42124285
Java 进行 RSA 加解密时不得不考虑到的那些事儿:http://blog.csdn.net/defonds/article/details/42775183
Base64编码及其作用:http://blog.csdn.net/benbenxiongyuan/article/details/7756912
深入理解Android之Java Security第一部分:http://blog.csdn.net/innost/article/details/44081147
58、Android获取本地图片缩略图终极解决方案:http://blog.csdn.net/qq_22770457/article/details/51492937
Android得到视频缩略图:http://blog.csdn.net/bulreed/article/details/40404657
59.跨进程、跨线程、handler 实现原理
跨进程的四种方法:Activity、BroadcastReceiver、IPC、ContentProvider
60.sqlite、CursorLoader、ContentObserver、contentprovider详解
android 对sqlite数据库的增删改查:http://blog.csdn.net/vrix/article/details/6717090
sqlite升级,和表属性变化,如何处理?:http://blog.csdn.net/qinpanke/article/details/8007851,http://blog.csdn.net/yaya_soft/article/details/17089353
Android入门:监听ContentProvider数据改变:http://blog.csdn.net/xiazdong/article/details/7706977
61.fragment和activity之间的区别:http://www.tuicool.com/articles/3QvMRfz
62.多点触控:http://www.2cto.com/kf/201505/401063.html
63、Android单元测试和自动化测试(如:Monkeyrunner)
64、MediaPlayer自定义播放器:http://blog.csdn.net/hellogv/article/details/6429455
MediaPlayer播放网络音频的实现方法:http://www.thinksaas.cn/topics/0/73/73998.html
65、如何高效遍历手机中txt文件
66、代码实现下载一张图片保存到sd卡:http://www.jb51.net/article/76222.htm
67、registerReceiver和unregisterReceiver的问题
重复注销广播处理函数是会报错的问题:http://blog.csdn.net/hzbigdog/article/details/11062961
没有unregisterReceiver会报错的问题:http://blog.csdn.net/zhufuing/article/details/17084601
68、Object类的方法,实现TreeSet去重需要实现哪两个方法,判断是否==需要实现哪两个方法?
69.代码混淆注意事项:http://blog.csdn.net/u013823101/article/details/51451851
70、app应用内升级采用断点续传,如何确保我们下载的apk安全无误,是能够被正常安装的
71、自定义View三个构造方法的意义:https://segmentfault.com/q/1010000004502015
72、RemoteViews用法:http://blog.csdn.net/qaz13177_58_/article/details/7497944
73、View、ViewGroup、Window、DecorView关系:http://www.imooc.com/article/3411
74、如何设计SDK
Android应用内社区SDK技术架构浅析:http://blog.csdn.net/bboyfeiyu/article/details/45583515
Android组件模型解析:http://www.cnblogs.com/six-moon/p/4923773.html
怎么设计一个分享的sdk,怎么让它停留在分享的应用中,以及他们栈中activity的变化
75、Android源码你看过那些讲讲,如activity启动流程,View绘制过程,binder,looper,apk加载过程与sex分包(dex、odex等)
76、MVP
浅谈 MVP in Android:http://blog.csdn.net/lmj623565791/article/details/46596109
一、写简历和介绍工作经历要注意技巧,要尽量表达圆满
二、要有礼貌,面试官到时要站起来并说你好,以示尊重
三、你一天可能面试好几家或者你已经面试了很多家,这些都不要和人事或猎头说,假如你面试好多家都没收到offer,别人就会怀疑你的能力,你可以说我刚开始面试,这是第一家,我对你们公司很感兴趣,所以才来的,这样别人听了是不是会很高兴?(厚黑学^-^)
四、有些问题你没有绝对的把握对,但是你也要勇敢说出来,因为它可能会对,比什么都不说强
五、不懂的问题马上弄明白,同样的错误不要犯两次
六、高级工程师不仅会解决问题,还要考虑严谨、高效 、安全等
----------------------------------------------------------------------------------------------------------------------------------------
1. android 5.0/6.0/7.0版本 分别有什么新特性:http://www.2cto.com/kf/201604/503511.html
JDK各个版本的新特性jdk1.5-jdk8:http://www.cnblogs.com/langtianya/p/3757993.html
2.单链表linkedlist翻转:http://computerdragon.blog.51cto.com/6235984/1305986
3.死锁怎么形成,代码写出:http://blog.chinaunix.net/uid-20665441-id-305490.html,http://blog.csdn.net/li396864285/article/details/51487637
4.BroadcastReceiver和service中能执行耗时操作吗,如果不能,为什么不能
Android中的ANR问题:http://blog.chinaunix.net/uid-20771867-id-3034557.html
Android ANR异常及解决方法:http://blog.csdn.net/leilu2008/article/details/6689405
【腾讯bugly干货分享】精神哥手把手教你如何智斗ANR:http://www.mamicode.com/info-detail-885290.html
5.intent能传递什么类型的对象,对象有大小限制吗:http://blog.csdn.net/xuan521521/article/details/51203674
bundle.putSerializable(Key,Object); //实现Serializable接口的对象
bundle.putParcelable(Key, Object); //实现Parcelable接口的对象
6.classloader、aidl、ibinder、binder的实现原理,aidl可以在一个进程间通信吗
Java ClassLoader 原理详细分析:http://www.codeceo.com/article/java-classloader.html
Android进程间通信(IPC)机制Binder简要介绍:http://blog.csdn.net/luoshengyang/article/details/6618363
android 进程间的通信(IPC)方式有哪些?http://blog.csdn.net/a471893438/article/details/51878919
7.softreference和weakreference区别
8.java 垃圾回收
finalize()有什么用法,(不用自己调用,垃圾回收时自动会调用)
http://blog.csdn.net/canot/article/details/51037938
java中垃圾回收的策略:http://blog.csdn.net/on_1y/article/details/38900597,http://www.cnblogs.com/mingziday/p/4967337.html
GC Root:http://blog.csdn.net/fenglibing/article/details/8928927
Java GC、新生代、老年代:http://blog.csdn.net/flamezyg/article/details/44673951
Java GC的工作原理+Minor GC、FullGC:http://www.tuicool.com/articles/FbI3En
“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”:http://blog.csdn.net/cy609329119/article/details/51771953
深入分析Java ClassLoader原理:http://blog.csdn.net/xyang81/article/details/7292380
9.静态
单例模式项目中用到过吗?创建的对象怎么释放,static方法和静态对象占用内存吗
Android static静态成员变量的使用误区:http://www.androidchina.net/3433.html
采用单例模式还是静态方法好呢:http://jingyan.baidu.com/article/7e440953cffd192fc1e2ef6e.html
10.JNI 中JNIEnv *env, jobject obj 有什么作用,java和c怎么交互? C中处理大量数据怎么分段处理?
http://blog.csdn.net/jiangwei0910410003/article/details/17465457
11.activity之间传递数据的几种方法:http://blog.csdn.net/zyq0335/article/details/7636724
12.activity里面有一个fragmnet,它们的生命周期对比:http://blog.csdn.net/zjclugger/article/details/10442335
13.onPause()和onStop()区别,什么时候只调用onPause(),而不调用onStop():http://blog.csdn.net/lamp_zy/article/details/7703893 ,http://blog.csdn.net/u014285517/article/details/47103251
14.将要跳转到activity的theme是android:windowIsTranslucent=”true” ,Android:theme="@android:style/Theme.Dialog",只调用onPause(),而不调用onStop(),但会调用onCreate()
15.数据结构
array、list、hashmap查找一个值的时间复杂度 http://www.tuicool.com/articles/N7rm6vr ,http://blog.chinaunix.net/uid-25304914-id-4858568.html
Java中List和ArrayList的主要区别:http://blog.csdn.net/duanyipeng/article/details/7851138
ArrayList和LinkedList区别 时间复杂度 与空间复杂度:http://www.cnblogs.com/zjss/p/5232048.html
ArrayList和LinkedList的几种循环遍历方式及性能对比分析:http://www.cnblogs.com/interdrp/p/5004000.html
使用增强型for循环语法(也被称为for-each循环):http://blog.csdn.net/guolin_blog/article/details/42318689
Set如何去重及时间复杂度,TreeMap和TreeSet如何排序及时间复杂度
TreeMap的实现是红黑树算法的实现:http://blog.csdn.net/chenssy/article/details/26668941
HashSet的实现原理:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532999.html
Java 数据结构内存分配及容量扩充:http://blog.csdn.net/cdl2008sky/article/details/7823129
16.开源框架原理研究,如React Native、okhttp、EventBus,dagger,HotFix,Rxjava
教你如何使用okhttp缓存:http://blog.csdn.net/u014614038/article/details/51210685
17.dns劫持是什么,如升级下载App如何确保是我们想要下载的apk,而地址没有被劫持
如何截取应用内访问的网络地址
18.synchronized实现原理:http://www.jianshu.com/p/5dbb07c8d5d5,http://www.open-open.com/lib/view/open1352431526366.html
synchronized和volatile区别:http://blog.csdn.net/fanaticism1/article/details/9966163 ,http://www.cnblogs.com/dolphin0520/p/3920373.html
Java并发编程-Lock:http://www.cnblogs.com/dolphin0520/p/3923167.html
synchronized 和static synchronized 区别:http://www.cnblogs.com/shipengzhi/articles/2223100.html ,
Java多线程并发synchronized的测试与合理使用:http://soft.chinabyte.com/database/423/12594923.shtml
19.同时startService()、bindService,及bindService的应用场景:http://blog.csdn.net/fantcy/article/details/8547172
20.java的class字节码文件:http://blog.csdn.net/lsbhjshyn/article/details/9329339
21.java Exception和Error的区别,所有异常都能够被捕获吗:http://www.oschina.net/translate/10-java-exception-and-error-interview-questions-answers-programming
写代码使得分别出现StackOverflowError和OutOfMemoryError:http://www.cnblogs.com/xudong-bupt/p/3360206.html
22.内存换性能是怎么实现的?以时间换空间和以空间换时间分别是什么意思?
23.java内存分为哪些区?http://blog.csdn.net/lyerliu/article/details/6311709
24.http header包含的内容是什么?
断点续传,http://blog.csdn.net/wwj_748/article/details/20146869
HttpUrlConnection方式:
httpURLConnection.setRequestProperty("Range", "bytes=" + start + "-"+fileSize);
HttpClient方式:
Header header_size = new BasicHeader("Range", "bytes=" + size + "-" + fileSize);
httpGet.addHeader(header_size);
response = client.execute(request);
InputStream is = response.getEntity().getContent();
25.String详解,以及concat()、intern()
26.SparseArray,SparseBooleanArray,以及LongSparseArray。SparseArray<Interger,Object>代替HashMap,ArrayMap也可代替HashMap,但是在数据量比较大的情况下,那么它的性能将退化至少50%:http://blog.csdn.net/null1989/article/details/17589815
android性能优化SparseArray和ArrayMap:http://www.th7.cn/Program/java/201511/693721.shtml
ArrayMap与HashMap有哪些不同:https://www.douban.com/note/526353043/?type=like
27.invalidate(Rect)局部刷新
28、android界面性能优化:
Android帧率测试:http://blog.csdn.net/xiaobai20131118/article/details/50698162
Android界面性能调优手册:https://segmentfault.com/a/1190000004547751
Android性能优化:
Android 性能测试:http://blog.csdn.net/mdx20072419/article/details/46638275
android客户端性能测试 (一):http://blog.csdn.net/marryshi/article/details/44178285
Android最佳性能实践(三)——高性能编码优化:http://blog.csdn.net/guolin_blog/article/details/42318689
Performance Tips:http://www.360doc.com/content/14/0828/03/4587493_405238038.shtml
Best Practices for Performance:https://developer.android.com/training/best-performance.html
29.Android 性能分析工具
DDMS:http://www.xuebuyuan.com/1291595.html
Android系统性能调优工具介绍(TraceView、Systrace、Oprofile):http://blog.csdn.net/innost/article/details/9008691
剖析Android Traceview效率检视工具:http://www.2cto.com/kf/201111/111029.html
正确使用Android性能分析工具——TraceView:http://blog.jobbole.com/78995/
30.sharedpreference、sqlite存在哪?升级app会覆盖吗:http://blog.csdn.net/jie1991liu/article/details/50339797
31.java泛型,权限修饰符,java和C、C++的区别
32.http、https、http的header,http包含的方法,TCP/IP协议详解
33.观察者模式源码研究,自己如何实现高性能观察者模式
34.java是什么编码?其它各种编码的区别
35.蓝牙开发 智能遥控:http://blog.csdn.net/hellogv/article/details/6042091
Android 蓝牙对战五子棋项目实现(含人机对战功能):http://blog.csdn.net/qq_22770457/article/details/51622094
36.android系统中的app安装后的各个文件路径在哪里?:http://zhidao.baidu.com/link?url=ZAI6oBmW4XqFvBiK5zMA8-OTxrZmEdR2K9fco_5Dm8jeUU3lwyqH0e2QmTaP5GC458AOtN3PuDfEaFdEEbG3cVL9c-t9w2pIDuo2Gl9cFKa
37.APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了:http://blog.csdn.net/shakespeare001/article/details/50546809
Android开发:计算缓存大小并且清空缓存:http://blog.csdn.net/baidu_29835301/article/details/51787950
仿360一键清理实现(一):http://blog.csdn.net/tangnengwu/article/details/38226823
android 垃圾清理 文件清理:http://blog.csdn.net/tangnengwu/article/details/49488149
android 内存清理:http://blog.csdn.net/tangnengwu/article/details/49488199
38.进程间通信的几种方式:http://blog.csdn.net/zhuangyalei/article/details/50515039,http://blog.csdn.net/lmj623565791/article/details/47017485
activity之间传递数据的几种方法:http://blog.csdn.net/zyq0335/article/details/7636724
39.Android中程序与Service交互的方式:http://blog.csdn.net/he90227/article/details/33730545 ,
Android Service与Activity之间通信的几种方式:http://blog.csdn.net/xiaanming/article/details/9750689
Android中程序与Service五种交互的方式:http://blog.csdn.net/he90227/article/details/33730545
40.git commit多次怎么合并为一次,git rebase;把这次commit合并到其它的commit,
git commit合并
git查看(某个)文件的修改历史
41.为什么要用多进程,有什么好处?:http://www.tuicool.com/articles/a2yIRf3
Android性能优化典范之多线程篇:http://www.cnblogs.com/bugly/p/5519510.html
UniversalImageLoader线程池分析:http://blog.csdn.net/wubo_fly/article/details/49783545
42.内部类什么时候用?内部类和外部类互相调用,静态内部类:http://www.tuicool.com/articles/n2aYra7
43,view绘制过程源码,onDraw和draw哪个先执行,onMeasure详解
View中的draw和onDraw的区别:http://blog.csdn.net/fener10289/article/details/8231712
View 绘制流程:http://blog.csdn.net/yujun411522/article/details/46226135
Android应用层View绘制流程与源码分析:http://blog.csdn.net/yanbober/article/details/46128379
44.fragment点getActivity方法会报空指针吗?在onCreate中会报空指针吗
45.task的taskaffinity
46.Android内存分析工具:http://blog.csdn.net/xu_fu/article/details/45678373
Android Studio 内存分析工具:http://www.gdky005.com/2016/06/20/使用-Android-Studio-内存分析工具/
47.android 开发如何做内存优化:http://www.cnblogs.com/kingOfPointer/archive/2012/12/21/2828018.html
Android最佳性能实践(一)——合理管理内存:http://blog.csdn.net/guolin_blog/article/details/42238627
ANDROID内存优化(大汇总——上):http://blog.csdn.net/a396901990/article/details/37914465
优化Android应用内存的若干方法:http://blog.csdn.net/wxlinwzl/article/details/24381897
Android内存机制分析:http://blog.csdn.net/mao520741111/article/details/26603805
[Android 性能优化系列]内存之终极篇--降低你的内存消耗:http://blog.csdn.net/kifile/article/details/40751665
分析内存的使用情况:http://blog.csdn.net/guolin_blog/article/details/42238633/
App调试内存泄露之Context篇(上):http://www.cnblogs.com/qianxudetianxia/p/3645106.html
App调试内存泄露之Context篇(下):http://www.cnblogs.com/qianxudetianxia/p/3655475.html
48.Fragment的通信问题, 新建Fragment为何不要在构造方法中传递参数:http://blog.csdn.net/EthanCo/article/details/50912539
Fragment 使用总结:http://www.cnblogs.com/vivid-stanley/p/3657976.html
Fragment解决屏幕旋转(状态发生变化)状态不能保持的问题:http://blog.csdn.net/weihan1314/article/details/7997421
49.Android程序的执行流程分析:http://blog.csdn.net/passtome/article/details/7699819
Android应用程序启动过程源代码分析:http://blog.csdn.net/luoshengyang/article/details/6689748
android的编译和运行过程深入分析:http://blog.csdn.net/zunguitiancheng/article/details/50612606
50.android cookie
Android中OKHttp保存Cookie并传入WebView:http://blog.csdn.net/u011638883/article/details/50516264#comments
51.线程池原理,线程池有几种队列:http://blog.csdn.net/sd0902/article/details/8395677
深入理解java线程池—ThreadPoolExecutor:http://www.jianshu.com/p/ade771d2c9c0
java 线程池的原理和实现:http://liuzl121.iteye.com/blog/1779039
线程池的原理及实现:http://blog.csdn.net/hsuxu/article/details/8985931
理解线程池的原理:http://blog.csdn.net/he90227/article/details/52576452
java自带线程池和队列详细讲解:http://zmx.iteye.com/blog/2161831
Java并发编程:线程池的使用:http://www.cnblogs.com/dolphin0520/p/3932921.html
52.屏幕适配有关知识,720P图片放在哪个drawable
关于Android图片分辨率应该放到哪个文件夹的问题:http://www.w2bc.com/Article/19871
53.listview 优化的知识点,convertview复用原理:http://www.tuicool.com/articles/vimeAj,滑动时不加载图片
54.深入理解 Looper、Handler、Message三者关系(JD):http://blog.csdn.net/lmj623565791/article/details/38377229/
android的消息处理机制(图+源码分析)——Looper,Handler,Message:http://www.cnblogs.com/codingmyworld/archive/2011/09/14/2174255.html
Looper 和Handler的对应关系:http://blog.chinaunix.net/uid-20937170-id-4649821.html
Android内存优化:Handler:http://blog.csdn.net/bdmh/article/details/49251849
handler.removeMessages(int)//移除某一个message
handler.removeCallbacksAndMessages(null); // 移除所有message
56.java内存管理原理:http://www.cnblogs.com/killmyday/archive/2013/06/12/3132518.html
Android 之 内存管理:http://blog.csdn.net/xieqibao/article/details/6707519
JAVA的JVM的内存可分为3个区:http://blog.csdn.net/huoyunshen88/article/details/8109018
堆和栈的作用及区别 :http://blog.chinaunix.net/uid-26583794-id-3240534.html
57.对加密的了解(DES/3DES/AES区别 ):http://blog.csdn.net/aa2397199142/article/details/50844879
Android平台和java平台 DES加密解密互通程序及其不能互通的原因:http://blog.csdn.net/x605940745/article/details/42124285
Java 进行 RSA 加解密时不得不考虑到的那些事儿:http://blog.csdn.net/defonds/article/details/42775183
Base64编码及其作用:http://blog.csdn.net/benbenxiongyuan/article/details/7756912
深入理解Android之Java Security第一部分:http://blog.csdn.net/innost/article/details/44081147
58、Android获取本地图片缩略图终极解决方案:http://blog.csdn.net/qq_22770457/article/details/51492937
Android得到视频缩略图:http://blog.csdn.net/bulreed/article/details/40404657
59.跨进程、跨线程、handler 实现原理
跨进程的四种方法:Activity、BroadcastReceiver、IPC、ContentProvider
60.sqlite、CursorLoader、ContentObserver、contentprovider详解
android 对sqlite数据库的增删改查:http://blog.csdn.net/vrix/article/details/6717090
sqlite升级,和表属性变化,如何处理?:http://blog.csdn.net/qinpanke/article/details/8007851,http://blog.csdn.net/yaya_soft/article/details/17089353
Android入门:监听ContentProvider数据改变:http://blog.csdn.net/xiazdong/article/details/7706977
61.fragment和activity之间的区别:http://www.tuicool.com/articles/3QvMRfz
62.多点触控:http://www.2cto.com/kf/201505/401063.html
63、Android单元测试和自动化测试(如:Monkeyrunner)
64、MediaPlayer自定义播放器:http://blog.csdn.net/hellogv/article/details/6429455
MediaPlayer播放网络音频的实现方法:http://www.thinksaas.cn/topics/0/73/73998.html
65、如何高效遍历手机中txt文件
66、代码实现下载一张图片保存到sd卡:http://www.jb51.net/article/76222.htm
67、registerReceiver和unregisterReceiver的问题
重复注销广播处理函数是会报错的问题:http://blog.csdn.net/hzbigdog/article/details/11062961
没有unregisterReceiver会报错的问题:http://blog.csdn.net/zhufuing/article/details/17084601
68、Object类的方法,实现TreeSet去重需要实现哪两个方法,判断是否==需要实现哪两个方法?
69.代码混淆注意事项:http://blog.csdn.net/u013823101/article/details/51451851
70、app应用内升级采用断点续传,如何确保我们下载的apk安全无误,是能够被正常安装的
71、自定义View三个构造方法的意义:https://segmentfault.com/q/1010000004502015
72、RemoteViews用法:http://blog.csdn.net/qaz13177_58_/article/details/7497944
73、View、ViewGroup、Window、DecorView关系:http://www.imooc.com/article/3411
74、如何设计SDK
Android应用内社区SDK技术架构浅析:http://blog.csdn.net/bboyfeiyu/article/details/45583515
Android组件模型解析:http://www.cnblogs.com/six-moon/p/4923773.html
怎么设计一个分享的sdk,怎么让它停留在分享的应用中,以及他们栈中activity的变化
75、Android源码你看过那些讲讲,如activity启动流程,View绘制过程,binder,looper,apk加载过程与sex分包(dex、odex等)
76、MVP
浅谈 MVP in Android:http://blog.csdn.net/lmj623565791/article/details/46596109
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories