2018Android面试总结

简言

android大环境下整体薪酬有所降低,很多企业愿意招1-3年经验的能做出东西就行,高级的开发一直缺少,但是招高级的岗位也少啊。所以还是需要提高自身竞争力。现在将最近面试的题目都写下来总结下,也为后面的人做个参考。面试第一天记录,后续会持续添加。

面试

java部分

1、java的四种引用方式以及使用场景

2、线程池ThreadPoolExecutor其参数和4种线程池,https://www.jianshu.com/p/ae67972d1156

3、javaGC回收算法,年代区分 https://dwz.cn/9c8stiJo

4、谈谈你对socket的理解。  

https://blog.csdn.net/ccit0519/article/details/24790971 

5、 TCP和UDP有什么区别?   回答网络层关系、TCP和UDP的区别,TCP三次握手(一定要讲清楚,SYN、ACK等标记位怎样的还有报文结构都需要熟悉下),四次挥手。为什么要三次握手?DDoS攻击。为什么握手三次,挥手要四次?Http报文结构,一次网络请求的过程是怎样的?Http和Https有什么不同?SSL/TLS是怎么进行加密握手的?证书怎么校验?对称性加密算法和非对称加密算法有哪些?挑一个熟悉的加密算法简单介绍下?DNS解析是怎样的?

6、数据结构,广度优先、深度优先

7、有没有遇到黏包的问题

8、LRUCache原理及其数据结构,LinkedHashMap。

https://www.jianshu.com/p/b49a111147ee

9、有用到什么设计模式吗?

Android面试

1、Activity的生命周期 ,四种启动模式。怎么和fragment进行通信

2、布局的适配

3、广播的注册方式

4、消息机制Handler原理源码,内存泄漏的原因和处理方式,MessageQueue用了什么数据结构

5、动画,贝塞尔曲线。拿出了一个动画效果问怎么实现。

6、事件分发原理,怎么解决一些上下左右冲突的问题。可以阅读android开发探索艺术的3.4以及3.5节

7、进程间通讯有哪些方式

8、性能优化,listview优化,图片处理的方式

9、开源框架的原理eventbus,

okhttp : https://dwz.cn/M7fL5Wdv

rxjava,glide,retrofit 其中retrofit 问操作符,怎么合并请求。

10、做过哪些自定义控件,组合控件,步骤是什么

11、进程保活,进程级别,关键在于降低oom_adj的值,以及如何使得我们应用占的内存最少。

https://www.jianshu.com/p/1da4541b70ad

12、IntentService原理,关注内部的HandlerThread,onHandleIntent((Intent)msg.obj)执行耗时操作。

你可能感兴趣的:(2018Android面试总结)