既然不在北京发展,那去哪里呢?因为我老家是西部的,综合工作机会、买房难度、离家距离来看,最终选择了某西部二线城市,于是,我的个人计划就开始了,计划的目标是在三年后定居这个二线城市。
===========================================================================
第一次跳槽面试的结果很出乎意料,因为不知道自己的水平究竟怎么样,所以这次跳槽我把能投的公司几乎都投了一遍,没想到大部分面试都很顺利,并没有事先想的那么难,拿了大概六七个offer吧。这样的结果对于当时只有一年半经验的我来说,是一个非常大的惊喜,事后我还写了一篇面经贴,也认识了很多朋友。
最终在所有offer中我选择了某跳舞厂,因为在我看来这是一家发展迅速并且具有旺盛生命力的公司,这也是当时的我结合自己情况做出的最优解。在跳舞厂工作的经历是充实和开心的,这里的工作体验和第一家小公司是完全不同的。
首先,身边的同事平均水平都比较高,在这里我也感受到了团队合作的快感,有什么问题大家可以一起讨论技术方案和解决办法,互相review代码的过程中也能进步不少; 然后,业务种类比较多,有中后台的、混合开发的、偏C端的等等,只要个人积极主动,都可以获得不错的成长。并且在做业务的过程中,看着身边一些高职级的同事和领导,我对于技术和业务的也有了一些新的看法。
当然了每家公司都是有缺点的,比如加班比较多、干的活太碎太重复性等等问题,相信
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
大部分程序员都会遇到类似的问题。
在这段时光里,我的个人计划也有了进展,比如解决二线城市落户买房问题等等。
时间总是过得很快,在某二线城市的一切事宜都准备好了,而且差不多也到计划收尾的时间点了,终于,我“逃离”了北京,再次跳槽来到了二线城市定居。
===================================================================
我记得我毕业那会儿,有种说法是去大公司都是螺丝钉,去小公司可以得到更多锻炼,但是后来我发现这种说法是有问题的。因为人都是有一个成长的过程的,刚毕业除非是超强的大佬,否则不管是在大公司还是小公司,做的事情都是螺丝钉类的,如果一个公司敢把很重要的事情交给应届生来做,那说明它的人才管理是有问题的。
站在上帝视角来看,刚毕业就加入一家高速发展中的公司并且拿到期权是最好的,比如在14年的时候就加入字节跳动这样的公司,但是这样的机会很少很少,能有这样眼光的人也不会纠结。
所以对于毕业生来说,能去大公司尽量去大公司,首先大公司的培养体系更加完善,包括技术和职场方面的都会有课程和分享;其次是大公司的同事平均水平更高一些,也能对自己带来正向的影响,提高职场上限;最后是我在跳槽和招人的时候发现的,简历上有大公司经历的人会在找工作的时候相对更加顺利一些,不管怎么说这也算是一个小小的光环。
凡事预则立不预则废,职业发展是需要提前思考规划的,不然很容易会陷入一年到头了然后问自己“我今年又干了些啥?”的挫败感中。
如何做规划?首先需要了解自己,自己的性格,自己的长处,自己的家庭等等问题,都需要考虑到。
如果家庭无法支持在一线城市买房,是不是可以考虑下哪个二线城市比较适合自己,并且早做打算,多观察一下二线城市的工作机会;
如果想在职业发展上有所突破,可以划定一条路线,常见的比较好的两条路线就是在大公司升职级和去发展中的公司拿期权,选择第一条路就需要多去主动承担一些事情并且拿好结果做好汇报,选择第二条路就需要多关注B轮或者C轮的创业公司;
如果个人性格上并不是很喜欢写代码相关的工作,可以考虑是否早做打算转行去做自己更擅长的事情;
总之,一切都需要早做职业规划。
刚毕业的时候,我醉心于技术,后来才发现业务和产品的重要性。框架也好开源库也罢,技术对于我们来说,只是做事的工具,一次次的技术升级、新的轮子的出现,都是为了让我们可以更有质量、更快的做出产品来,如果连做什么产品、为什么做都没弄清楚,那就很容易沦为工具人,这里引用雷军在《程序人生》一文中的一段话:
有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。
一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。成为一个高级程序员并不是件困难的事。
当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标。
很多人会因为害怕面试失败而不敢面试,我觉得没必要,我们应该把面试当做一次学习。
我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。
首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。
更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。
找工作无非就是看三点:和什么人、做什么事、给多少钱,要给这三者在自己的心里划分一个比例。
最后给大家分享一份 《Android开发2020年度面试真题合集》
该面试宝典不仅收录了本人亲身面试遇到的问题,还收录了从一些朋友那里收集过来的问题。在以后的工作中本 人也会不断的更新和充实该面试宝典,当然也希望大家能够多多奉献比较优质的面试题。
不仅展示了常见的面试问题以及回答技巧,还详细讲解了每一道题所包含的知识点,让每个程序员不仅知其然,更知其所以然。
由于篇幅原因,下面以截图展示部分内容。如有需要以下完整学习笔记PDF,可以点赞+评论支持下打工人老弟,点击这里免费自取!
正文总共分为6个部分:
- Java 基础(★★)
- Java 高级(★★)
- Android 基础(★★★)
- Android 高级(★★★)
- Android 项目(★★★)
- 项目面试常见问题(★★★)
一、Java 基础(★★)
面向对象思想
多态
异常处理
数据类型
Java 的 IO
集合
Java 多线程
Java 高级(★★)
Java 中的反射
Java 中的动态代理
Java 中的设计模式&回收机制
Java 的类加载器
Android 基础(★★★)
Android 基本常识
Activity
Service
BroadCastReceiver
ContentProvider&数据库
Android 中的布局
ListView
JNI & NDK
Android 中的网络访问
Intent
Fragment