我相信很多人都在经历这个阶段,过了入门期之后想要努力进阶,但是却苦苦没有方向。
每次遇到朋友问我这样的问题,每次我的回答也都会不一样。
其实我也很想总结出一套固定的答案,然后直接复制粘贴就可以了,但是进阶的方向实在是太广了,这真的没有一个固定的答案。
拿具体的项目来说,不同的项目侧重的知识点也不一样。比如IM软件就需要即时通讯技术、视频软件就需要视频编解码技术、游戏就需要引擎技术。即使是同一个项目,每个人负责的工作方向也会不一样,有些人负责架构搭建,有些人负责网络通信,有些人负责UI实现。
任何一门技术,刚入门的时候一般都有套路可寻,因为知识体系架构就是那些东西。但是入了门之后,你会发现360度全是进阶方向,每一个方向可能都够我们深造好几年的。
但是大多数小伙伴们想要的还是一个直截了当的答案,而不是上述我总结的这些大道理。
我只能再强调一遍:“做程序员,圈子很重要”因为有了圈子可以让你少走弯路,拓宽人脉,拓展思路,学习他人失败和成功的经验,获取最新经验与信息,抱团取暖等!圈子的高度决定人生的高度!
我建立了一个纯程序员的交流社群(无广告),有想法加入的朋友可以点击下方链接【社群】
Android高级进阶视频、面试真题解析免费分享社群下面再分享一点2019最新面试专题↓↓↓祝你早日获得心仪的OFFER。
设计模式
- 谈谈你对Android设计模式的理解
- MVC MVP MVVM原理和区别
- 你所知道的设计模式有哪些?
- 项目中常用的设计模式
- 手写生产者/消费者模式
- 写出观察者模式的代码
- 适配器模式,装饰者模式,外观模式的异同?
- 用到的一些开源框架,介绍一个看过源码的,内部实现过程。
- 谈谈对RxJava的理解
线程
- 线程池的好处? 四种线程池的使用场景,线程池的几个参数的理解?
- 讲讲 AsyncTask 的原理
- IntentService 有什么用 ?
- 直接在 Activity 中创建一个 thread 跟在 service 中创建一个 thread 之间的区别?
- ThreadPoolExecutor 的工作策略 ?
- 多线程是否一定会高效(优缺点)
性能优化
- 如何对Android 应用进行性能分析以及优化?
- ddms 和 traceView
- 性能优化如何分析systrace?
- 用IDE如何分析内存泄漏?
- Java多线程引发的性能问题,怎么解决?
- 启动页白屏及黑屏解决?
- 启动太慢怎么解决?
- 怎么保证应用启动不卡顿?
- App启动崩溃异常捕捉
- 自定义View注意事项
- 现在下载速度很慢,试从网络协议的角度分析原因,并优化(提示:网络的5层都可以涉及)。
- Https请求慢的解决办法(提示:DNS,携带数据,直接访问IP)
- 如何保持应用的稳定性
- RecyclerView和ListView的性能对比
- ListView的优化
- RecycleView优化
- View渲染
- Bitmap如何处理大图,如一张30M的大图,如何预防OOM
- java中的四种引用的区别以及使用场景
- 引用置为null,会不会被回收?
Handler
- 谈谈消息机制 Handler 作用 ?有哪些要素 ?流程是怎样的 ?
- 一个线程能否创建多个 Handler,Handler 跟 Looper 之间的对应关 系 ?
- Handler 引起的内存泄露原因以及最佳解决方案
- 使用 Handler 的 postDealy 后消息队列会有什么变化?
- Message 可以如何创建?哪种效果更好,为什么?
. 可以在子线程直接 new 一个 Handler 吗?怎么做?
这些资料我都已经整理收录到2019最新面试专题(含答案解析)+Android面试试题视频解析里面了,由于篇幅问题就没有把答案和思路写上来,有需要完整资料的朋友可以下方评论【资料】我把领取方式私信发给你

说句实话,现在网上关于Android的免费学习资源很多,基本上都是一些入门的、基础的、甚至是落后的技术点讲解内容。
很少有大厂大佬录制的Android课程,讲解如此深入浅出,所讲内容全是当下互联网公司项目里用到的实战技术技巧,关键还是免费的,我觉得很值。
还是那句话,不想一直停留在初级水准等着被淘汰,也想进阶中高级,每月想拿更高工资,不妨一试。