本文主要是介绍作为程序员一定不要仅仅追求物质!附小技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#### 一丶BAT相关面试点:
1.Binder通信原理和机制
2.多进程通信
3.组件化.插件化的区别以及如何选择
4.插件化的理解
5.热修复原理
6.对于AMS的认识
7.AOP 与OOP 有什么区别, AOP 的原理
8.QQ换肤原理以及大致思想
9.Android虚拟机
10.图片压缩的具体步骤和应用
11.反编译和加密如何进行
12.序列化和反序列化的原理
13.Handler的原理和认识
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442298119647.jpg)
#### 二丶算法合集笔记
1.Hash
2.最小生成树算法
3.最短路径算法
4.KMP算法
5.查找算法
6.排序算法
#### 三丶线程.多线程.线程池和面试中的小问题
1.开启线程的方式
2.run()和 start()方法区别
3.如何控制某个方法允许并发访问线程的个数?
4.在 Java 中 wait 和 seelp 方法的不同
5.导致线程阻塞的原因
6.线程如何关闭的思路?
7.如何同步以及保证线程安全
8.减少APK包的大小
9.关于内存泄漏,内存抖动的优化以及解决方案
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442298130540.jpg)
#### 四丶小知识的清单
1.面向对象和面向对象的区别
2.Java和C++的区别
3.面向对象的特征
4.接口和抽象类的区别
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442299231838.jpg)
#### 五丶数据结构和设计模式
1. 设计模式六大原则简要概述
2. 设计模式的分类
3.HashMap 实现原理
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442299788880.jpg)
#### 六丶java核心小知识清单
1 .线程中 sleep 和 wait 区别
2.Thread 中的 start()和 run()的区别
3.Java 中重载和重写的区别
4.Tcp /IP三次握手,四次挥手
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442299193489.jpg)
#### 七丶性能优化
1.图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?
2.WebView 的性能优化 ?
3.加载一张高清图片应该占用多少内存
4.内存泄露和内存溢出的区别 ?AS 有什么工具可以检测内存泄露
5.Bitmap 如何处理大图,如何预防 OOM?
6.性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理?
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442299601600.jpg)
#### 最后
考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档,**如果有需要的朋友可以私信我【面试】免费领取**
**[点击这里领取Android面试资料汇总](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442300768152.jpg)
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210705/1625442300266748.jpg)
喜欢的朋友可以关注、转发、点赞 感谢!
这篇关于作为程序员一定不要仅仅追求物质!附小技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!