3、项目开发中遇到的最大的一个难题和挑战;
4、说说你开发最大的优势点
5、MVC、MCP、MVVP 的区别和各种使用场景,如何选择适合自己的开发架构?
6、事件分发机制。
7、单例模式双重加锁,为什么要这样做。
8、Handler 机制原理,IdleHandler 什么时候调用。
1、Glide 缓存原理,如何设计一个大图加载框架。
==========================
下面叙述一下三级缓存的流程:
当我们的APP中想要加载某张图片时,先去LruCache中寻找图片,如果LruCache中有,则直接取出来使用,如果LruCache中没有,则去SoftReference中寻找,如果SoftReference中有,则从SoftReference中取出图片使用,同时将图片重新放回到LruCache中,如果SoftReference中也没有图片,则去文件系统中寻找,如果有则取出来使用,同时将图片添加到LruCache中,如果没有,则连接网络从网上下载图片。图片下载完成后,将图片保存到文件系统中,然后放到LruCache中。
2、LRUCache 原理;
==============
LruCache算法,又称为近期最少使用算法。主要算法原理就是把最近所使用的对象的强引用存储在LinkedHashMap上,并且,把最近最少使用的对象在缓存池达到预设值之前从内存中移除。
3、项目开发中遇到的最大的一个难题和挑战;
=====================
4、说说你开发最大的优缺点
=============
回答技巧:缺点别直接暴露自己真的缺点,当然缺点我知道有些人可能会想过一句话,(我最大的缺点就是对细节的过分追求),对于有这种想法的,我只能默念呵呵哒,优点的话可以按实际说,但不要过分夸大
回答:优点就可以提关于技术与学习能力,以及沟通能力方面.缺点可以稍微思考一下,可能我管理的能力还需要进一步加强,关于python技术还有进一步上升的空间,人工智能,数据挖掘这个方向拓展。
5、MVC、MCP、MVVP 的区别和各种使用场景,如何选择适合自己的开发架构?
========================================
6、事件分发机制。
=========
事件分发已经不是直接让你讲了,会给你具体的场景,比如 A 嵌套 B ,B 嵌套 C,从 C 中心按下,一下滑出到 A,
事件分发的过程,这里面肯定会有 ACTION_CANCEL 的相关调用时机
7、单例模式双重加锁,为什么要这样做。
===================
双重校验锁DCL(double checked locking)
public class Singleton {
//保存唯一实例
private volatile static Singleton mInstance;
//屏蔽外部的new
private Singleton() {
}
//提供一个全局的访问点
public static Singleton getInstance() {
if (mInstance == null) {
尾声
以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!
下面是有几位Android行业大佬对应上方技术点整理的一些进阶资料。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
[外链图片转存中…(img-OZG24i1C-1715431746053)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!