一、结缘
实话说,最开始刷题的时候,刷的是 LeetCode,后来才注意到了剑指 offer 的存在,最开始也是听别人说的,剑指 offer 在面试过程中出现的概率很大,就去尝试将其都做了一遍,做的过程中发现,其实有一部分题目与 LeetCode 有重合,但是更像是 LeetCode 经典题目的集合,更具有代表性。
最开始刷过一遍剑指 offer 后,其实印象并不深,直到我参加了 2020 年的秋招面试,才深刻的意识到剑指 offer 的题目出现高频性,至此之后,但凡有人问我怎么刷题,我都会先推荐刷剑指 offer,然后刷 LeetCode 的前 200 题,如今力扣中也有了官方授权的剑指 offer 题目,这实在是令人感到兴奋,结合平台出色的刷题体验,我相信更多的人会了解剑指 offer,下面我结合面试谈谈为什么我如此推崇。
正文
我是做Android的,就以Android开发为例吧
除了程序员,还有新媒体运营、设计……很多行业都是青春饭
他们年纪大了怎么办?难道会集体裁员吗
程序员是吃青春饭的,但高级开发、资深开发、技术专家、架构师、技术管理,都不是青春饭
而除了青春饭这个点,诸如35岁被优化、Android凉了之类的问题总是特别多
这次就这个问题,和大家详细聊一聊
大家都说程序员是吃青春饭的,我相当认可,如果始终不想着提升技术,永远待在初级层次,或许还不到30岁就已经将青春饭吃完了
大家或许听到过很多这种消息:
“Android开发29岁被裁,转行送上了外卖”
“Android开发34岁被优化后,面试屡屡碰壁”
“Android凉了……”
……
以及各种转行:Java、前端、大数据……
不断地也听见很多人在谈做Android是否还有前途、Android研发在走下坡路了、Android的工作太难找了,对于这些其实我的看法很简单:
Android确实不是当年盛况,已经不再像前几年前那么火爆。一个新行业如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值。
那么这一两年就已经是在一个饱和值之间浮动,因此在这样的形式下,对于个人开发者相应的要求就要高一些。
以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求、流畅度等等,已经不可同日而语。在这样的大环境下,那么对我们Android开发工程师也是同样的改变。
在这样的情况下,由于饱和,随处都能招到初级的工程师,公司有了选择的余地,所以肯定会去选择更加优秀的,这就必然导致了我们经常说的,Android开发者已经烂大街了,其实不然,只是公司的要求变高,市场饱和,门槛变高而已。
说白了,其实吃青春饭的不是程序员,而是初级程序员!
不是Android开发没有前景,而是初级Android开发没前景!
而他们被优化后面试碰壁、转行、送外卖……怎么惨怎么来的故事经过很多媒体的炒作后,竟然还被大家认为是理所应当?
现在各大公司其实都很缺Android研发(中高级),不断的在招人,就拿很多一线互联网来说,别说来面试的人了,就简历都拿不到太多,需要花很多时间去找简历,一度让各大公司争抢也招不到合适的人,造成了很多岗位空缺。
越来越多的急招岗位都涌现出来…
所以,对于有Android开发经验的同学,更多应该想想怎么往深探索,而不是一味想着换方向,不管换到哪个方向,都会面对从初级到高级到资深再到专家的时间点。
正确的职业规划应该是金字塔形,核心竞争力一定要扎实!
至于那些已经选择转行的人,其实大多数还是没起来,毕竟转行后也是从0开始,想精进到专家并不是一朝一夕的事。
不管在任何行业,任何岗位,初级技术人才总是供大于求,都是不好找工作的,Android开发只不过是其中之一
同样,不管任何行业、岗位,技术过硬的也都是非常吃香的!
说到底,是Android凉了吗?其实只是技术不过硬的人凉了!
技术不过硬也就罢了,如果不愿花时间学习提升,就算转去Java、大数据、人工智能,还是会问出类似的问题:
“Java凉了?Java前景如何?”
“大数据凉了?大数据前景如何?”
“人工智能凉了?人工智能前景如何?”
……
所以,不用老想着Android凉了或是经常说要转行,与其焦虑不安,不如努力提升技术水平,毕竟在这时代,有硬技术的人到哪都吃香。
Android未来的趋势
移动开发是不局限于App开发的,比如 逆向、物联网、音视频、边缘计算、VR/AR,很多新的技术浪潮其实都已经融入到移动开发的体系里。
在可见的未来,推荐大家选择 NDK 作为未来学习的重心,5G 物联网是风口,一旦涉及硬件交互就一定避不开 NDK 开发。
另外伴随着5G时代的来临,音视频也必然会迎来一波爆发,如果大家现在能够把握住机会,当一只风口上的“猪”岂不是美滋滋?
Android学习的方向
- 基础+底层原理
看似最枯燥、最基础的东西往往具有最长久的生命力
像数据结构,算法这类东西,还有有一些计算机原理之类的知识,这些东西都是编程和实践的根本。他们看似枯燥和基础,但是具有最长久的生命力。
不要天天谈什么框架,什么库,框架每年层出不穷,可是扒下框架那层炫酷漂亮的外衣,里面还是那些最基础的知识和原理。 就是这些算法,数据结构,计算机网络,计算机原理这些看似基础的东西。如果这些掌握扎实了,你才有更加深入的可能。
- 学习一线大厂的各项技术
大厂是我们的技术先驱,不仅仅是各种技术,还有很多令你大开眼界的使用方法,学习这些有利于自己竞争力的提高,深入理解后也可以提升你的学习效率
- 定期面试
光学习了大厂的技术还不够,如何了解当下Android市场需要哪些技术呢?
定期的面试足以让你了解当下市场需要哪些技术,也更加容易确定自身的短板在哪,同时,也可以督促自己学习提升(小伙子,你这技术有点落伍了呀…)
万一拿到了高薪Offer,岂不是更赚?
- 多看大佬的学习笔记,学习大佬的设计思想
之前我跟一位大佬交流后,就拿到了他做的 《Android开发核心知识点笔记》
纯目录页都非常非常的长……大佬,不愧是大佬……
最后
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
领取方式:点击【Android学习PDF+架构视频+面试文档+源码笔记】
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
23594389)]
【算法合集】
[外链图片转存中…(img-dHtQLmhQ-1621923594390)]
【延伸Android必备知识点】
[外链图片转存中…(img-kOBP2QsA-1621923594392)]