一、前言
SPI(Service Provider Interface)是Java提供的一种动态服务发现机制。通过SPI机制,我们可以直接跨模块查找到想要的接口实现类,从而避免不必要的模块间依赖,降低模块之间的耦合性。这对Android组件间通信非常重要的意义。试想一下如果有一个组件能提供这样一种能力,我们的组件通信是否会变得很容易: 通过一个接口,我可以很容易的查找到这个接口在任意模块下的任意一个或多个实现类的对象;而且,可以按你自己想要的方式缓存对象(简单对象、单例、强弱引用、自定义等);接口实现类对象的每个方法执行时都可以被自定义拦截策略和拦截器拦截; 如果这个接口有多个实现类,可以自由选择具体使用哪一个、多个实现类,这个组件就是本文要跟大家介绍的Service Pool for Android。(有点抽象, 往后看)
阿里技术一面-35min
自我介绍
Android
- 有没有遇到OOM问题(有遇到内存泄漏问题)
- Handler机制
- ThreadLocal
- Activity启动到加载View过程
- View绘制过程
- LinearLayout (wrap_content) & TextView (match_parent) 最终结果???
- OKHttp(1. 为什么选择它? 2. 性能了解不?3. 内部有哪些设计模式)
- 了解EventBus嘛?
设计模式
- 用过哪些设计模式
- 观察者举例
网络
- HTTP & HTTPS区别
其他
- 为什么选择飞猪
- 专业问题
- 参加的比赛
阿里技术二面-1h挂
自我介绍
项目
- 为什么选择OKHTTP框架
- 加载图片框架?(学一下Glide)
- JSON解析框架?(学一下Gson,FastJson)
- 技术选型?
- 页面个数?
- OSS上传凭证怎么设计缓存?怎么加密?(加密算法??)
- 还有哪些项目可以说的?
Android
- Activity生命周期?启动透明Activity生命周期?按Home键生命周期?
- 后台杀死APP后怎么恢复数据?
- 一个APP可以多进程嘛?
- ListView和RecyclerView区别?
- RecyclerView卡顿怎么排查?
- RecyclerView怎么实现多Type?
- RecyclerView的ItemView层级过深怎么优化?
- Android多进程?