android高级开发面试!GitHub标星9K的Google官方MVP+Rxjava项目详解,经典好文
作者:互联网
开头
学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习XX该看什么书,如何快速学习XXX,学习XXX有什么代码推荐”之类的问题,他们想学什么很快就能自己找到相关资料。这个行业发展太快,技术淘汰的速度也很快,3年不学新东西就可能落伍了。
动手能力,都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。
耐心和毅力,做程序员兴趣固然重要,写自己喜欢的代码那是相当愉快的事情,但是程序开发中无论如何还有大量乏味无趣的事情,要能坚持,咬牙把这些做完。
表达能力,能在大庭广众下,把自己的想法逻辑清晰流畅地讲出来,让人听懂。
那么技术呢?技术不重要,有了以上几种能力,市场上需要什么技术,很快就能掌握了。
最后再说说工资的事,记住两句话:
工资不是老板对你过去贡献的回报而是对你未来贡献的预期。
现任老板不可能给出让你满意的工资,下一任老板才会。
正文
很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。两个程序员同时工作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学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。
如果你有需要的话,可以点击Android学习PDF+架构视频+面试文档+源码笔记获取免费领取方式
喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~
B%98%E8%96%AA%EF%BC%81.md)
喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~
标签:MVP,9K,GitHub,进阶,学习,工作,设计,建筑,砌墙 来源: https://blog.csdn.net/CHAMPION8888/article/details/113092514