文末
我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。
以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持)
部分资料一览:
- 330页PDF Android学习核心笔记(内含8大板块)
-
Android学习的系统对应视频
-
Android进阶的系统对应学习资料
- Android BAT大厂面试题(有解析)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
第四点—NDK 方面,这一部分知识比较特殊,很多 Android 工程师在初中级阶段可能都不会涉及到。只有你在某些领域亦或是特殊的场景的时候才有可能使用 NDK 进行开发,比如说像流媒体、图像处理等场景你才会去进行 NDK 开发,它通常需要你有良好的 C/C++基础,因此这算是一个比较大的知识体系了。
技术分析
总体上,目前市面上可以将互联网公司分为两类:
A. 没有实体产品的,以软件产品为主的互联网公司
B. 有实体产品的,将硬件和软件结合起来的互联网公司
A 类公司往往偏向于 UI 及架构,性能稍次,并且大多数中小型企业会要求应聘者能熟练掌握市面上流行的开源库以节约开发成本。这类公司开发的 App 往往是纯虚拟的产品——社交通讯、各类工具、资源聚合等。这些产品因为竞争激烈,功能需求变化也快,所以版本迭代的速度会非常快。这个时候,一个好的架构就可以节省许多时间,它能快速的响应需求,并迅速添加新的功能模块。UI 也是重点,在两个 App 功能差不多的情况下,拼的就是用户体验了,其中用户最能感受到的就是两点,首先是界面是否美观,动画是否自然;其次才是 App 是否流畅。
他们一般对人才的需求是这样的:
B 类公司因为有实体产品,因此往往会要求应聘者具有某些特殊的技能,例如 BLE、WIFI 等。这类公司往往偏向于性能及 NDK,UI 稍次。在目前的大环境下,这类公司多数都在物联网产业链上,以智能硬件、智能家居、机器人居多,而这类公司的话,大部分其实都是传统企业转型而来,因此其开发的产品比较注重功能的完善及响应速度,UI 的话反而会稍微丑陋一些。毕竟消费者买的是实体产品,配套的 App 就算再丑也得用不是么。
他们对人才的需求往往是这样的:
明确自己想去什么样的公司,或者对哪一类的业务更感兴趣,会有助于你更有的放矢地学习技能。
如何搭建自己的知识体系?
对于初学者来说,因为目前网络上充斥着许多免费的资源,无论是入门的还是进阶的都应有尽有,找到学习资料不难,难的是如何有选择地进行学习,并把知识纳入到自己的知识树上,而不是让众多知识点彼此孤立、零散地分布在自己的脑海中。
涉及到学习目标不同、基础不同,每个人的学习路径会不太一样,这里我以一个现成的学习路径为例,来说说如何从零基础开始,完成比较“通用型”的 Android 入门。
话不多说,先上知识体系示例:
这个图谱总结自业界口碑较好的 Udacity 和 Google 推出的 Android 开发入门认证项目,主要针对没有任何 Android 开发经验的同学。课程内容包括丰富的移动 UI、移动应用性能相关的知识点,并通过每周的线上直播,教授前沿的技术架构、第三方开源库的知识。课程全程依托实战项目,引导学员将所学知识运用到各类应用场景中,帮助学员构建、巩固自己的知识体系。
用 3 个月的时间,认真学习完大概可以达到下面的技能状态:
Udacity 和 Google 也为有基础的 Android 开发者提供进阶课程,学完后的状态大概是:
你会发现,Google 官方推出的 Android 开发的进阶课程中,主要提升的还是 UI 方面的知识——材料设计(Material Design)和动画框架。
需要说明,这两门课程都没有涉及到 NDK 开发,是因为刚刚步入职场的 Android 工程师并不特别需要掌握 NDK 开发技能,你完全可以在找到相关工作后再继续深入自学。
而在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
点击我,加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes 中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
总结:
面试是一个不断学习、不断自我提升的过程,有机会还是出去面面,至少能想到查漏补缺效果,而且有些知识点,可能你自以为知道,但让你说,并不一定能说得很好。
有些东西有压力才有动力,而学到的知识点,都是钱(因为技术人员大部分情况是根据你的能力来定级、来发薪水的),技多不压身。
附上我的面试各大专题整理: 面试指南,满满的都是干货,希望对大家有帮助!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
cs/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!