如果还是面试大量技术问题,我想可能能够进入公司的机会依旧不大;
进入这家公司后,我变得小心翼翼,生怕自己好不容易得到的工作会因为自己的失误而丢掉;
因为之前的连续打击已经将我所有的信心粉碎;在这家公司大概工作了一年左右,学习到了很多的东西,尤其是对于项目的认知,以前单纯的认为能够用ssh搭建完整网站就已经能立于不败之地;
但这家公司开始让我头脑清醒了,公司当时的业务有三套系统,一套面向普通用户,一套面向入驻机构,还有一个管理系统给公司内部员工使用,而且员工管理系统还能间接的管理商家系统;而我当时负责的就是最简单的公司内部员工的系统,由于公司使用的cto开发的自有框架,不得不承认,刚开始只能依葫芦画瓢的去完成一些功能;
在工作了大概3个月之后,为了防止自己永远只会依葫芦画瓢,就主动请缨希望能够加入到面向普通用户的web站开发,并在这个过程中努力去学习(过程很苦,不表了)…
在这家公司工作一年后,觉得广州相对于上海,北京以及深圳来说,工资会稍微低一点(并没有数据证明,纯属个人感觉,虽然一年后薪水已经涨了1k,但跟身边同样做一行的人相比,感觉还是差很多,现在看来,其实也就3k左右的差距,但当时就觉得这个差距真是天上地下,无奈眼界有限),于是萌生了离职去上海的想法,离职之前我花了好几天的时间考虑,这次我所拥有的技能是否有底气支撑我找到一份不错的工作,而不是靠运气,思量再三还是决定试试,不错的是,对自己的评估还算ok,在上海只花了一周的时间就找到了工作,而且还是去的银联,第一次见识到大公司,觉得非常不错,薪水对于我当时来说也很不错,7k左右,而且工作的内容也比较有意思,开始去做一些银行的管理系统,还有pos机的对账系统;
那一段时间进步也比较不错,尤其想象了一下,如果我的简历上出现银联两个字,身价肯定会再涨一些,不过以现在的角度去看,其实大部分也是属于“业务上”的成长;
4:转型阶段
在银联并没有工作多久,估计在半年左右,突然又感觉自己停滞不前了,由于Android跟ios异军突起,朋友所在的公司,前同事所在的公司都在招Android工程师,而且开出的价位基本都是在7.5k-12k左右,第一次感觉自己离月薪过w这么近,于是考虑了几天,开始转行Android,主要考虑有三点
- 未来如此发展下去,社会可能会出现人手一台电脑,一台手机的“盛况”,但真正能够随身携带的一定是手机
- 就算有一天转行Android失败了,毕竟是java语言,我依然能够回来继续做java;
- 如果想要成为java行业的大牛,需要时间沉淀,还需要好项目的锤炼,到底什么时候才能成为大牛呢?如果我现在加入Android,我就差不多是首批开发者,那么Android一旦发展起来,作为Android开发首批,我就不信以自己的能力成不了android届的大牛;
于是每天在去浦东的上班路上,开始看Android相关的书籍,花了1个月左右的时间全部看完,并且开始搭建环境,构建自己的hello world;为了让自己有更多的训练机会,也开始在一些移动社区里面活跃,也会免费做一些android客户端以及官网教学文章的翻译等等,这个过程中认识了很多其他大牛,很多也是从java转到android的,这些大牛后来都成为了我的朋友,但最大的收获在于,我对于android不再是一个简单的demo开发者,而是有实战经验的人;这个学习过程并不特别苦,相反还挺兴奋的;
5:进阶阶段;
凭借着java以及Android的技术,我又回到了广州,这次去广州是因为觉得自己应该能拿到自己理想中的薪水,并且离老家近,事实也差不多,这时候已经接近2013年,在距离我真正踏入社会快3年之际,第一次感受到拿offer原来这么容易,大概面了6-7家公司,给offer的就有3个,薪水差别其实并不大,基本都在8-9k的样子,对于广州来说,能够拿到这个薪水还是相当不错的;
于是进了一家做社交产品的公司,老板对于产品的期望,其实我当时是不在乎的,我在乎的是,如果这个项目能够被我带下来,身价一定能再涨一波;虽然在这家公司的工作过程中有一些不愉快(不但要负责技术,还要负责销售),但最终还是坚持做了下来。
从最开始的一个人开发,后来最多的时候带3个人一起开发,里面几乎所有的代码都跟我有关系;一年之后,我选择了再次跳槽;
而这一次我的目标变得异常的明确,月薪过w,而且要求是税后;在这家公司,我最大的收获是,开始明白了一些之前做java都不曾明白的一些后台系统架构问题,也明白了关于职业发展的路径,因为在做这个项目的时候,我发现即使是我们的技术总监也有一些架构方面的问题无法把握,最终还是在某上市公司的技术部门请了一个技术顾问(年纪大概在40岁左右),他来我们公司没有写过一行代码,因为他还带来了一个他的“助手”,他只负责画图出方案,具体的后台核心代码由技术总监和他的助手完成,那是我第一次知道,原来技术还能以这种形式挣钱;
6:成熟阶段
凭借着对于社交项目的把控,以及对系统架构方案的理解,去了北京,在去北京的列车上,耳机里一直听着周杰伦的《一路向北》,当然不是纯伤感,而是想着自己工作了这么多年,突然有一种真的要实现一个“小目标”的感觉;有点兴奋,又带点“文艺青年”的装x范;
当然,在北京找工作也非常的顺利,甚至还拒绝过一些看上去都比较诱人的offer,比如在西二旗附近有一家公司希望我能带领整个移动部门,但是薪水只是勉强过w,还达不到真正意义上的税后过万,于是选择了放弃;也有一些公司希望我既做android开发又做java开发,我也拒绝了,因为根据以往的经验,我深刻的认识到,技术可以横向发展,但深度一定要有;
最终进入到一家孵化器公司,开始负责android端所有的研发,在这家公司突然发现项目相关的问题再也无法困扰我了,因为技术方案都能按照之前的想法进行实现,改良;第一次由衷的感觉到,原来做技术也可以如此轻松;虽然有时候会加班,但至少不会被一个问题困扰在某处长时间得不到解决,被上级催促;至此,关于之前也会有的一些想转行的想法,随着能力的提升,就不再是问题了;
7:新的迷茫与机会
在孵化器因为表现尚可,薪水一直比同行业的要高出些许,大概干了2年之后,公司的发展陷入瓶颈,老大带着我们集体跳槽去了另外一个大公司,薪水更高,福利待遇更好,时间更加自由,那种工作状态,可以用一句话总结–如果这家公司能够许诺一直让我干到退休,我愿意在这里当一辈子咸鱼,因为实在是待得太舒服;
这样的状态大概持续了一年左右的时间,突然又觉得,这样下去人可能废掉,毕竟软件行业技术更新速度太快;而且不管多高的薪水,只要你连续拿几个月,就会开始对这个薪资“无动于衷”,个人认为,当你遇到问题的时候,就去找一些解决方案,写在纸上,如果你面前出现多条路,选择难一点的那条,往往能够给你带来意想不到的收获;
于是离开了一直罩着我的老大,去了另外一家公司创业,而之所以能去这家公司,也是因为在孵化器时候认识的,他觉得我做事还算靠谱;
所以,在工作中,要注意,你永远不知道你的某个同事会不会突然变成你的老板…;
结尾
最后,针对上面谈的内容,给大家推荐一个Android资料,应该对大家有用。
首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)
泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶
注解原理丶注解原理丶序列化
Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)
代码框架结构优化(数据结构丶排序算法丶设计模式)
APP性能优化(用户体验优化丶适配丶代码调优)
热修复丶热升级丶Hook技术丶IOC架构设计
NDK(c编程丶C++丶JNI丶LINUX)
如何提高开发效率?
MVC丶MVP丶MVVM
微信小程序
Hybrid
Flutter
接下来是资料清单:(敲黑板!!!)
领取通道在这里给你们摆上了~
点击我的腾讯文档免费获取
1.数据结构和算法
2.设计模式
3.全套体系化高级架构视频;七大主流技术模块,视频+源码+笔记
4.面试专题资料包(怎么能少了一份全面的面试题总结呢~)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!