Android-MVP 模式详解,差点无缘 Offer
正文
很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。两个程序员同时工作 3 年,难道他们两个的成长就完全一样吗?其实是不一样的。很多岗位在招聘的时候都要求 3 年以上工作经验,这个 3 年工作经验是指持续成长的三年,而不是指浑浑噩噩混日子的三年。下面举个通俗易懂的例子,大家一定能理解。
这里拿盖大楼举例,比如某大公司发布了如下一个招聘需求,招聘资深建筑工程师,提供具有行业竞争力的薪酬,要求如下:
5 年房屋建设工作经验;
对房屋建设的各个阶段有深刻了解;
熟悉各种类型的砖头、钢筋、水泥等原材料的使用方式;
要求持有国家二级以上建造师证书;
吃苦耐劳优先。
看到这个 jd 后,只要是有 5 年经验的建造师都跃跃欲试,都觉得自己可以。
其实这个岗位是干什么的呢?这家大公司想盖一栋 50 层的高端商业写字楼,需要招一个资深工程师来完成整个高楼的地基、框架和外形的设计,还需要考虑容灾和抗震等级。
而来应聘的一大部分建筑工程师,他们虽然工作了 5 年,可是他们平时都在做什么呢?大概是这样的:
搬砖、和水泥、砌墙等;
建过的房子不超过 6 层;
从来没有考虑过地基的搭建、框架和外形的设计,因为他们不需要考虑,只要按照已有的方案来干就行。
就这样工作了 5 年,在自己的工作领域(搬砖、和水泥、砌墙)驾轻就熟,觉得建房子不就这么简单嘛,觉得自己已经精通了建房子。
但事实上,他们真的能够胜任 50 层高楼的建筑工作吗?很显然,不能!
什么样的人能够胜任这类工作呢?他们也工作了 5 年,他们平时所做的事情大概是这样的:
第一年:搬砖、和水泥、砌墙等,参与建造一些 6 层小楼;
第二年:搬砖、和水泥、砌墙等,同时研究各种砖头、水泥、钢筋等原材料的特性,知道不同原材料的适用场景,可以独立建造 6 层小楼了;
第三年:跑到另一个建筑队,建造 10-20 层的普通住宅,开始跟着工头一起参与地基、框架和外形的设计,业余时间阅读一些建筑书籍,了解一些国内外知名建筑的设计思想和理念,并时常在建筑论坛发表自己对建筑设计的理解;
第四年:开始独立负责 10-20 层普通住宅的建造了,在业余时间开始研究 30-40 层商业建筑的设计和建造,考虑设计理念、建筑容灾等问题,一心想自己设计一栋更高的大楼;
第五年:一个合适的契机,加入这家大公司,主导 50 层高端商业写字楼的设计和建造。
到这里,我想大家都明白了。搬 5 年砖也还只是一个搬砖的,无论如何也设计不了摩天大楼。
对于程序员来说,待在同一个岗位重复着搬砖的工作,是无法有很大成长的,只有不断地挑战自我才是正确的成长姿势。 有人就会问,到底怎么做,才能不被淘汰,不会止步不前,怎样学习呢?下面的图,是一个程序员进阶所需要学习的内容,也是一份知识图谱,我耗费 3 个月零 13 天做出来的。
学习福利
【Android 详细知识点思维脑图(技能树)】
其实 Android 开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司 19 年的面试题。把技术点整理成了视频和 PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android 的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
评论