开头
互联网时代的到来,让我们获取知识变得更加简单,理论上讲只要你想学,便会有不尽的知识等你,只要方法得当,够努力,任何人都可以都有可能成为大牛。
自己在努力的基础上,还学习了一些高效的学习方法,让我在学习的过程中更加高效,更迅速的掌握,以下是我学习Android的一些套路。
推荐两个刷题网站:
牛客网
LeetCode
推荐几本Android进阶的书籍:
《Android开发进阶 从小工到专家 》何红辉 著
《Android开发艺术探索》 任玉刚 著
《疯狂Android讲义 》李刚 著
技术类
1.Java类类加载原理
2.界面卡顿的原因以及解决方法
3.自定义Handler时如何避免内存泄漏,内存泄漏如何排查,MAT分析方法以及原理,各种泄漏的原因是什么
4.app的架构是怎么样的,并且为什么这样,有什么优缺点?
5.TCP 有哪些状态。三次握手、四次挥手。为啥是三次不是两次?HTTPS 和 HTTP 的区别。HTTPS 2.0,3.0?
6.开源框架的使用和原理。 OkHttp内部实现、glide的内部原理、EventBus源码和RxJava的使用过程注意事项等
7.Activity的生命周期有哪些,知道onRestart么,介绍下
8.乐观锁和悲观锁,死锁 ,synchronized 原理
9.JVM 类加载机制、垃圾回收算法对比、Java 虚拟机结构等。
10.有什么工具可以看到Activity栈信息么?多个栈话,有方法分别得到各个栈的Activity列表么
11.插件化/热修复
其他
1.介绍下最近一年主要做了什么工作
2.遇到了什么印象深刻的问题。会顺着你介绍的项目问下具体实现。
3.以前的工作中,项目团队多少人,怎么分配工作
就是一些职业规划,或者可以体现你工作态度,为人处事方面的一些问题。
你有什么问题想问我的
一般的面试官都会问这个问题,这里搜罗了一些问题供大家参考
1.你在公司的一天是如何度过的?
2.能否给我简单介绍下贵公司业务与战略的未来发展?
3.贵公司最让你自豪的企业文化是什么?
4.对于未来加入这个团队,你对我的期望是什么?
5.通过刚才的面试交流,您觉得我还有那些不足?
总结
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
详细整理在腾讯文档可以见;
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~