Android知识图谱:

 

         基础知识四大组件(生命周期,使用场景,如何启动)

         java基础数据结构,线程,mvc框架

         通信网络连接(HttpClientHttpUrlConnetion),Socket

         数据持久化 – SQLiteSharedPreferencesContentProvider

         性能优化布局优化,内存优化,电量优化

         安全数据加密,代码混淆,WebView/Js调用,https

         UI– 动画

         其他 – JNIAIDLHandlerIntent

         开源框架 – VolleyGildeRxJava等(简历上写你会的,用过的)

         拓展 – Android6.0/7.0/8.0特性,kotlin语言,I/O大会

1.Activity的启动过程(不要回答生命周期) 
http://blog.csdn.net/luoshengyang/article/details/6689748

2.Activity的启动模式以及使用场景 
1manifest设置,(2startActivity flag 
http://blog.csdn.net/CodeEmperor/article/details/50481726 
此处延伸:栈(First In Last Out)与队列(First In First Out)的区别

3.Service的两种启动方式 
1startService(),(2bindService() 
http://www.jianshu.com/p/2fb6eb14fdec

4.Broadcast注册方式与区别 
1)静态注册(minifest),(2)动态注册 
http://www.jianshu.com/p/ea5e233d9f43 
此处延伸:什么情况下用动态注册

5.HttpClientHttpUrlConnection的区别 
http://blog.csdn.net/guolin_blog/article/details/12452307 
此处延伸:Volley里用的哪种请求方式(2.3HttpClient2.3HttpUrlConnection

6.httphttps的区别 
http://blog.csdn.net/whatday/article/details/38147103 
此处延伸:https的实现原理

7.手写算法(选择冒泡必须要会) 
http://www.jianshu.com/p/ae97c3ceea8d

8.进程保活(不死进程) 
http://www.jianshu.com/p/63aafe3c12af 
此处延伸:进程的优先级是什么(下面这篇文章,都有说) 
https://segmentfault.com/a/1190000006251859

9.进程间通信的方式 
1AIDL,(2)广播,(3Messenger 
AIDL : https://www.jianshu.com/p/a8e43ad5d7d2 
https://www.jianshu.com/p/0cca211df63c 
Messenger: http://blog.csdn.net/lmj623565791/article/details/47017485 
此处延伸:简述Binder  http://blog.csdn.net/luoshengyang/article/details/6618363/

10.加载大图 
PS:有家小公司(规模写假的,给骗过去了),直接把项目给我看,让我说实现原理。。 
最让我无语的一次面试,就一个点问的我底裤都快穿了,就差帮他们写代码了。。 
http://blog.csdn.net/lmj623565791/article/details/49300989

11.三级缓存(各大图片框架都可以扯到这上面来) 
1)内存缓存,(2)本地缓存,(3)网络 
内存:http://blog.csdn.net/guolin_blog/article/details/9526203 
本地:http://blog.csdn.net/guolin_blog/article/details/28863651

12.MVP框架(必问) 
http://blog.csdn.net/lmj623565791/article/details/46596109 
此处延伸:手写mvp例子,与mvc之间的区别,mvp的优势

13.讲解一下Context 
http://blog.csdn.net/lmj623565791/article/details/40481055

14.JNI 
http://www.jianshu.com/p/aba734d5b5cd 
此处延伸:项目中使用JNI的地方,如:核心逻辑,密钥,加密逻辑

15.java虚拟机和Dalvik虚拟机的区别 
http://www.jianshu.com/p/923aebd31b65

16.线程sleepwait有什么区别 
http://blog.csdn.net/liuzhenwen/article/details/4202967

17.ViewViewGroup事件分发 
http://blog.csdn.net/guolin_blog/article/details/9097463 
http://blog.csdn.net/guolin_blog/article/details/9153747

18.保存Activity状态 
onSaveInstanceState() 
http://blog.csdn.net/yuzhiboyi/article/details/7677026

19.WebViewjs交互(调用哪些API 
http://blog.csdn.net/cappuccinolau/article/details/8262821/

20.内存泄露检测,内存性能优化 
http://blog.csdn.net/guolin_blog/article/details/42238627 
这篇文章有四篇,很详细。 
此处延伸: 
1)内存溢出(OOM)和内存泄露(对象无法被回收)的区别。 
2)引起内存泄露的原因

21.布局优化 
http://blog.csdn.net/guolin_blog/article/details/43376527

22.自定义view和动画 
以下两个讲解都讲得很透彻,这部分面试官多数不会问很深,要么就给你一个效果让你讲原理。 
1http://www.gcssloop.com/customview/CustomViewIndex 
2http://blog.csdn.net/yanbober/article/details/50577855

23.设计模式(单例,工厂,观察者。作用,使用场景) 
一般说自己会的就ok,不要只记得名字就一轮嘴说出来,不然有你好受。 
http://blog.csdn.net/jason0539/article/details/23297037/ 
此处延伸:Double Check的写法被要求写出来。

24.StringStringbufferStringbuilder 区别 
http://blog.csdn.net/kingzone_2008/article/details/9220691

25.开源框架,为什么使用,与别的有什么区别 
这个问题基本必问。在自己简历上写什么框架,他就会问什么。 
如:Volley,面试官会问我Volley的实现原理,与okhttpretrofit的区别。 
开源框架很多,我就选几个多数公司都会用的出来(框架都是针对业务和性能,所以不一定出名的框架就有人用) 
网络请求:Volleyokhttpretrofit 
异步:RxJavaAsyncTask 
图片处理:PicassoGlide 
消息传递:EventBus 
以上框架请自行查找,太多了就不贴出来了。

26.RecyclerView 
这个挺搞笑的。有另外一个同事也在找工作,面试官嫌他没用过RecyclerView直接pass掉。 
http://blog.csdn.net/lmj623565791/article/details/45059587

 

面试需要注意的几个点。

         面带微笑,有礼貌,谦逊

         穿的体面一点,穿拖鞋的gg8

         一定要带简历和笔

         来了说谢谢,面完说谢谢

         要学会看面试官的表情,如果答的不好不要继续往下说

         不要吹的自己以前做过的项目有多牛b,也不要自吹

         答题要冷静,不要一轮嘴说一堆,面试官很烦的

 

更多相关文章

  1. android上一些方法的区别和用法的注意事项
  2. Android中的FILL_PARENT与WRAP_CONTENT的区别
  3. 细数Android(安卓)Studio中使用junit4测试框架中的坑
  4. Android开发——Android搜索框架(二)
  5. Android热更新框架Tinker无法更新?
  6. [Android] ACTION_GET_CONTENT与ACTION_PICK的区别
  7. android上一些方法的区别和用法的注意事项
  8. Android(安卓)N 指纹框架
  9. linearLayout 和 relativeLayout的属性区别

随机推荐

  1. android分辨率适配
  2. android:gravity/android:layout_gravity
  3. Android开发经典书籍下载——《Android 4
  4. ch019 Android surfaceView
  5. [Android] Android 锁屏实现与总结 (一)
  6. Android 开发有哪些新技术出现?
  7. ch018 Android webview
  8. Android Theme主题继承(SDK下主题和v7包下
  9. Android控制文字水平间距android:letterS
  10. Android Contacts(一)—— 读取联系人