最近不少人在后台私信问我:做了几年 Android 工程师,现在很迷茫,想跳槽但是没有目标,不知道接下来该朝着哪个方向发展。
确实,春节过后,大家都在为开年做准备,跳槽也好,学习蓄力也罢,一切都是个新的开始。Android 作为编程届第一大语言,使用人数最多,也最成熟,当然了,竞争压力也相对来说大一些。
在这个俗称“金三银四”的跳槽季,很多人都蠢蠢欲动,想要拿更高的薪资,想要去更大的平台......
但其实对于大多数的 Android 工程师来说,其实都是没有形成系统而全面的知识体系的,因此,90% 的人都折在了技术面试上。
接下来先分享一波老司机的多个大厂的面试知识点总结,干货走起!
摘要: “基础 Android 知识掌握的不错,学习能力也不错。但是基础知识部分比较薄弱,有些概念和逻辑掌握不清。” 感谢春林的这句话。
想进大厂?快来恶补这些知识点!
Java基础
多线程相关
虚拟机相关
设计模式
其它
Activity
广播
Service
ContentProvider
自定义View的流程
View的事件分发机制(58 京东还有一些其他的 总体问的还是挺多的)
动画(车和家)
集成框架部分
Handler(面试问的比较多,字节跳动、小米等)
AsyncTask
程序员这个行业,日新月异,技术体系更新速度快,新技术新框架层出不穷,所有的技术都像是一个无底洞,当你学得越多就会发现不懂的越多,不懂的越多,需要学习的就更多。
因此,一旦选择了这个行业,就意味着你必须不断学习才能跟得上大家的脚步,而要想成为一名优秀的程序员,更是需要通过正确的方法,设定正确的目标来进行不断地学习。
下面是我工作几年以来总结的一些自己已经公司一些大佬的学习方法:
读文档,读文档,读文档,重要的事情说三遍!!!
如果你是一名有一定开发经验程序员,那我强烈地建议你一定要看官方文档!!!
如果你是一名初学者,那现阶段来说,看文档会是件非常非常的吃力的事,但我还是强烈地建议你一定要看官方文档,不过可以在你通过视频教程或是书籍学习并入门之后再慢慢的阅读。
1、看视频进行系统学习
前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。
2、进行系统梳理知识,提升储备
客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结。
主要内容:
Java 基础(★★)
Java 高级(★★)
Android 基础(★★★)
Android 高级(★★★)
3、读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
4、面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三。
答案肯定是不可以!!!
相比上面的学习资料,我们还需要根据自己的情况额外地进行书籍教程的学习。
有人觉得自己总是静不下心来看书,我的方法是,阅读某本书的时候给自己定一个小目标,比如每天阅读该书至少20页内容,这样每天学习的内容不会太多,不容易让人变得焦躁,当然,你可以根据自己的情况制定每天的阅读量,如果按照20页每天的阅读量来算,一本500页的书,不到一个月就读完了。
下面整理了目前最主流的中级,高级进阶书籍。感兴趣可以收藏一下,作为一个参考~
中级进阶推荐看一下以下这几本书:
《Android从入门到精通(附光盘)》 明日科技 编 《第一行代码2 Android(第二版)》 郭霖 著 《Android开发进阶 从小工到专家 》何红辉 著 《Android进阶之光 》刘望舒 著 《Android开发艺术探索》 任玉刚 著 《Android群英传》 徐宜生 著 《疯狂Android讲义 》李刚 著
Android高级进阶
高级进阶主要包括,设计模式,Java语言,性能调优,数据结构算法,架构,NDK等相关书籍。打算进大厂的小伙伴强烈推荐!
设计模式有关书籍:
《Android 源码设计模式解析与实战 第2版 》 《O'Reilly:Head First设计模式(中文版) 》 《设计模式 ---- 可复用面向对象软件的基础 》
与Android密切有关的语言书籍:
《深入理解Java虚拟机 》 《Android Gradle权威指南 》 《实战Gradle 》 《Kotlin程序开发入门精要 》
性能优化有关:
《移动APP性能评测与优化 》 《Android应用性能优化最佳实践 》 《腾讯Android自动化测试实战 》 《Android移动性能实战 》 《高性能Android应用开发 》
数据结构和算法有关:
《编程珠玑(第2版 修订版) 》 《程序员代码面试指南:IT名企算法与数据结构题目最优解 》 《算法之美 》
架构有关:
《代码整洁之道 Clean Code 》 《代码整洁之道 程序员的职业素养 The Clean Coder 》 《重构 改善既有代码的设计 》
NDK开发有关的书籍:
《Android C++高级编程:使用NDK》
面试有关的书籍:
《技术之瞳:阿里巴巴技术笔试心得》 《编程之美:微软技术面试心得》 《剑指Offer:名企面试官精讲典型编程题(第2版)》 《HR不会告诉你的那些面试技巧 》 《程序员你伤不起 》
一些话: 面试真的是有够烦的,因为题目是随机的,而知识是无穷的。直到被很多答案都是没有标准的。就好像上面提到的 MV* ,也许到现在上面的理解依旧有问题,但是我觉得架构是死的,而最合适的才是最好的。 但是有一点,面试也是一种学习,至少它能让你知道你的薄弱点在哪。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。