三、Android优秀三方库源码
1、你项目中用到哪些开源库?说说其实现原理?
2、Android中软引用与弱引用的应用场景
四、热修复、插件化、模块化、组件化、Gradle
1、热修复和插件化
热修补技术是怎样实现的,和插件化有什么区别?
为什么选用插件化?
2、模块化和组件化
-
模块化的好处
-
组件化原理,组件化中路由(ARouter)的实现
-
Android 组件化的原理,还有一些组件化平时使用的问题。
-
项目组件化的理解
-
多模块开发的时候不同的负责人可能会引入重复资源,相同的字符串,相同的icon等但是文件名并不一样,怎样去重?
3、gradle
-
gradle熟悉么,自动打包知道么?
-
如何加快 Gradle 的编译速度?
-
Gradle的Flavor能否配置sourceset?
-
Gradle生命周期
五、设计模式与架构设计
1、设计模式
-
谈谈你对Android设计模式的理解
-
项目中常用的设计模式
-
手写生产者/消费者模式
2、架构设计
-
MVC MVP MVVM原理和区别?
-
MVC的情况下怎么把Activity的C和V抽离?
-
MVP 架构中 Presenter 定义为接口有什么好处;
-
MVP如何管理Presenter的生命周期,何时取消网络请求?
-
aop思想
-
Fragment如果在Adapter中使用应该如何解耦?
-
项目框架里有没有Base类,BaseActivity和BaseFragment这种封装导致的问题,以及解决方法?
-
设计一个音乐播放界面,你会如何实现,用到那些类,如何设计,如何定义接口,如何与后台交互,如何缓存与下载,如何优化(15分钟时间)
-
从0设计一款App整体架构,如何去做?
-
说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)
-
实现一个库,完成日志的实时上报和延迟上报两种功能,该从哪些方面考虑?
其它高频面试题
1、如何保证一个后台服务不被杀死?(相同问题:如何保证service在后台不被kill?)比较省电的方式是什么?
2、Android动画框架实现原理。
3、Activity-Window-View三者的差别?
4、低版本SDK如何实现高版本api?
5、说说你对Context的理解?
6、Android的生命周期和启动模式
7、ListView和RecyclerView系列
8、如何实现一个推送,消息推送原理?推送到达率的问题?
9、动态权限系列
10、自定义View系列
11、对谷歌新推出的Room架构
12、没有给权限如何定位,特定机型定位失败,如何解决?
13、Debug跟Release的APK的区别?
14、android文件存储,各版本存储位置的权限控制的演进,外部存储,内部存储
架构师筑基包括哪些内容
我花了将近半个月时间将:深入 Java 泛型.、注解深入浅出、并发编程.、数据传输与序列化、Java 虚拟机原理、反射与类加载、高效 IO、Kotlin项目实战等等Android架构师筑基必备技能整合成了一套系统知识笔记PDF,相信看完这份文档,你将会对这些Android架构师筑基必备技能有着更深入、更系统的理解。
注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!
注:资料与上面思维导图一起看会更容易学习哦!每个点每个细节分支,都有对应的目录内容与知识点!
[外链图片转存中…(img-VyTncuRl-1643802046675)]
[外链图片转存中…(img-QarXr3jp-1643802046677)]
这份资料就包含了所有Android初级架构师所需的所有知识!需要的可以在我的GIthub里面去查看!