知是行的主意,行是知的功夫。这篇文章主要讲述整理一下最近Android面试的提问相关的知识,希望能为你提供帮助。
java相关:
1. public protect private default关键字有什么区别?
public:表示可以在任何一个类中被访问;
protect:表示可以在自身、子类以及同一包下的类中访问;
default:表示可以在自身以及同一包下的类中访问;
private:表示只能在自己的类中访问;
2. extend和implements区别?
extend用来创建一个类的子类,implements用于声明本类使用一个或多个接口。extend是继承父类,可以使用父类中的方法,而implements是实现多个接口,接口方法必须为空并在此类中重写实现方可使用。implement不能覆盖父类中的方法以及变量,即使子类定义与父类相同的变量或者函数,也会被父类取代掉。
https://blog.csdn.net/tolcf/article/details/46135645
3. 简述一下内存中堆和栈的区别。哪些数据存放在堆中,哪些存放在栈中?
栈的优势是存取速度比较快,仅此于CPU中的寄存器,但是栈中的数据大小和生存期必须是确定的,缺乏灵活性,另外栈数据可以共享;而堆的优势是可以动态分配内存大小,生存期也不必告诉编译器,java的垃圾回收机制会自动清理不再使用的数据,但缺点是要在运行时动态分配内存,存取速度慢。
栈中存放:基本数据类型变量(int, short, long, byte, float, double, boolean, char)
堆中存放:包装类数据(Interger,String,Double等将基本类型包装起来的类)
4. 如何让多线程任务切换?
(这个可能记错了。)
5. 进程间通信的方式 。
(1)AIDL,(2)广播,(3)Messenger
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/
6. http通信和https通信的区别,https通信的具体流程?
http://blog.csdn.net/whatday/article/details/38147103
7. 对List,ArrayList这类集合的源码实现方式。
https://blog.csdn.net/qq_25868207/article/details/55259978
android相关:
1. 关于Android内存优化,布局优化。
http://blog.csdn.net/guolin_blog/article/details/42238627
这篇文章有四篇,很详细。
此处延伸:
(1)内存溢出(OOM)和内存泄露(对象无法被回收)的区别。
(2)引起内存泄露的原因
https://blog.csdn.net/mxm691292118/article/details/51020023
布局优化:http://blog.csdn.net/guolin_blog/article/details/43376527
2. Android相对布局和绝对布局加载顺序的区别?
3. 简述MVC和MVP结构以及他们之间的区别?
【整理一下最近Android面试的提问】https://blog.csdn.net/lmj623565791/article/details/46596109
推荐阅读
- [转] Android利用Fiddler进行网络数据抓包
- APP开发优势都有哪些()
- h5 打开 app
- 解决上传app store卡在正在通过iTunes Store鉴定
- Android 即时通讯开发小结
- Android 底部按钮BottomNavigationView + Fragment + viewPager 的使用
- Android Studio 向虚拟机部署程序失败
- pandas练习---应用Apply函数
- appium自动化,失败自动截图