今天看啥  ›  专栏  ›  佐笾

从寒冬到立秋,我成功的度过了菜鸟这一劫

佐笾  · 掘金  ·  · 2019-08-22 12:21
阅读 66

从寒冬到立秋,我成功的度过了菜鸟这一劫

前言

从年初的寒冬,到现在的立秋,耗时近6个多月,我终于找到了一份心仪的工作,或者说,我终于找到了工作。工作年薪翻了一倍还要多不少(个人起点太低了~)。 也有将近一个多月没有写博客了,这里就把自己这段时间的感悟以及如何去学习的,与大家分享一下,可能掺杂了很多个人感想,所以废话可能会有些多,望大家见谅!!!

下面分几个阶段来描述一下笔者的心理历程经历

第一阶段 自我认识、危机感来袭

笔者16年毕业,毕业后便入坑,第一家公司iOS开发也就我一人,完全靠自学(个人感觉啥都没学到,整天上班就是网上找资料状态),终于成功的在16年11月份倒闭了,然后我就失业了。

历时几个月笔者都没有找到工作,然后自己就买了本《Object-C高级编程》来学习,当时看这本书,其实是相当于天书一样,看不懂,但还是强迫自己看了。

终于在17年的2月份找到了一家公司,也是一家小公司。事后才知道自己被面上的原因是因为面试的时候,还在看上面说的那本书,然后面试官感觉笔者学习的态度可以,所以就打算让我尝试一下,有些尴尬。 不过也没有让公司失望,安全的度过了实习期,并且一直就职到现在,公司也快速的发展了起来,很为公司感觉到开心。

在18年年中,笔者开始接触了Flutter,那个时候的Flutter并没有现在这样火,自学了一段时间,感觉自己的理解还是仅仅存在简单的使用层面,并没有大佬们说的那种语言都是相通的感觉。仿佛意识到了,我连自己赖以生存的语言都没有学会,就想着扩展自己的知识层面,于是自嘲了自己一段时间。

上面事件之后,也是笔者学习的开始吧,后来,我停下了任何娱乐,比如小说、游戏和锻炼,开始自我认识,实际上指的是iOS开发自己所拥有的技能的梳理,大致是这样的:

  • 简单UI界面没问题
  • 对于什么设计模式,完全不懂,甚至单例我都没有搞清楚怎么用的
  • 底层,我靠,底层怎么实现的我怎么知道?
  • 数据结构、算法?我做移动端的要知道这些东西干嘛?

好吧,笔者不想描述的更清晰了,相信就单纯的上面几条,相信大家应该都知道,菜到什么程度。

此时,甚至一段时间,笔者都非常的迷茫,感觉到了深深的危机,我该怎么办,我能做什么?这段时间,一直在问自己这些问题。

第二阶段 学习

经过一段时间调整后,放弃了Flutter,拿起了大学的数据结构的课本,开始认识啥是链表、哈希表等一些简单的数据结构,此时的学习也就是简单的知道这玩意到底是啥,因为iOS的封装,日常开发根本用不到这些东西,但是大家都说这个基础,所以笔者就开始学这些。

与此同时,笔者也购买了《Effective Objective-C 2.0》学习,这些书籍也是大佬们在网上极力推荐的,所以我就买。

当认识了简单的数据结构以及读完上面那本书之后,就有点自我感觉良好的感觉,然后就在我老婆面前show一下我的成果(我老婆也是程序员,后台,比我优秀),然后她就问了我一些关于简单数据结构的实现方法,以及一些简单的底层问题。 啊~,被虐的体无完肤,甚至感觉到了羞愧。因为不懂,无法组织语言描述出来,她还问我,能否用OC去实现一个简单的链表和hash表,啪啪啪,脸很疼。

男人可以认怂,但是在自己女人面前认怂,是绝对不可能的。在这种羞愧感之下,我认真的去了解链表、hash表以及简单的二叉树。同时用OC语言去实现它,其实关于hash表的实现,笔者也以博客的形式分享给大家了笔记-数据结构之 Hash(OC的粗略实现)

了解相关的数据结构之后,我就带着我的理解,去看我上面所提到的两本书,关于数据结构,在iOS中的利用,也已博客的形式分享给大家了笔记-集合NSSet、字典NSDictionary的底层实现原理。 当然这些都是浅显的了解,不过正是因为这些简单的了解,激发了我对底层方面研究的兴趣。

这个阶段的学习,持续了近半年的时间,工作中要求做视频相关的播放,然后我一人“独挽狂澜”的接下了这个模块的任务(实际上也就是利用第三方库ZFPlayer去做视频的播放),然后自己利用空余时间去研究数据结构,感觉学到了很多。于是又出现了自我膨胀的感觉,所以就牛逼哄哄的出去找工作,刚好处于18年年底,行情还是可以的。

第三阶段 谷底,彻底的谷底

18年年底的时候,出去面了一家公司,属于小公司,需要做视频相关的App。先给我来了一个简单的电话面试,问了工作中做了些什么,以及遇到了什么样的困难,然后怎么解决掉的,正常回答之后,电话面试过了。

然后去他们公司面试,去了之后发现是一个项目负责人面我,而且这个是新项目,之前的那个电话面试我的人是兼职的,现在没时间兼职了,所以需要找一个iOS开发,要求就是有视频相关的经验,然后我就把我的经验分享了一下,当然存在了一些吹逼。然后就拿到了一个17k的offer。😁😁😁

恩,确实,拿到这个之后,完全膨胀到了极点,因为这个薪资比我当时的工资高的太多。但是因为某些原因,我拒绝了,因为当时某些原因,不能换工作,而且我感觉我能拿到更好的offer。

度过春节,来到金三银四,我投了很多家大厂,比如B站、携程、听喜马拉雅等等。当时简历写的也确实漂亮,都成功的拿到了面试邀请,当时开心的很。

恩,后面在面试的过程中,没有一家的面试时间超过半小时,也没有一家给我二面的。怀疑人生,彻底的懵逼了。

其实一面都非常的简单,简单的罗列几点:

  • block本质
  • ARC内存管理的原则
  • 多线程之间的通讯
  • runtime、runLoop的理解和使用
  • 常见三方库的源码等等

说实在的,一面的这些东西,真的非常基础,然后笔者当时仅仅停留在听过,网上看过相关的博客,当真正需要我用自己的语言去描述的话,那就是漏洞百出。

后面不用说太多,笔者深深的陷入了怀疑自我的状态,想过转行,想过就呆在现在的公司挺好,后期甚至对面试产生了一种抗拒,害怕面试。

第四阶段 再次学习

在一段时间的缓冲之后,我选择了再次学习,学习初期,比较盲目,只是通过网上资料、书籍来自学,收获很低。 下面的描述,绝对不是广告,确实是个人的学习之路

在一次偶然的机会,观看了逻辑教育的公开课的视频,先是看了Cooci老师的公开课,后面又看了CC老师关于图片渲染的公开课,后面几天就一直跟着这个学,但是公开课,能学到的东西确实少,就下定决心报了一个VIP的课程。

贵,当时确实感觉好贵,一个课程都要7K+,当时犹豫了几天,后面在自我安慰的状态下,报名了进行了系统的学习。直播课时间是每周的一、三、五晚上8点开始。 说上课时间,为了更好的表达我自己的学习时间安排。

  • 周一、三、五晚上上直播课,每晚基本上10点后结束,上完课,我就复习总结,自己写笔记,能忙到凌晨1~2点钟
  • 每天的上下班的路上,就看直播课的视频,反复学习
  • 周二、四、六晚上没有课,那我就总结笔记,写博客,有疑问的直接问上课老师或者和同学交流,真的是一点不愿意耽误时间。
  • 周末时间,公司是大小周,小周的话,我就全天消息,去消化一周所学的知识,大周的话,我会留出半天时间陪老婆,实在忙不过来的时候,我会两天都处在学习阶段。

其实这么的努力学习不为别的,就为了那昂贵的学费,就为了能够多学点知识。

就这样的持续学习,一直到现在,其实直播课,课堂上能学到的东西有限,毕竟大家的接受能力不一样,笔者就是属于比较差的,需要用更多的时间去总结,然后使用。

文字的描述,还是挺简单的,当自己沉下去,去学习的时候,需要的就是坚持,坚持,再坚持。当你感觉时间不够用,感觉放松都是在浪费时间的时候,我感觉,你离成功不远了。

第五阶段 再次出发

就在2周前,我再次出发,投简历,反应很快,两天时间,安排了5家公司的面试。可是心里仍然对面试有心里阴影,就把最想去的公司安排了最后。

这次面试前,没有看任何相关的面试题,因为自己一直处于学习的过程,感觉面试题对我的帮助不是很大,或者也算是一种自信吧。

黑暗之后,黎明终会到来,结果也让笔者自己满意,面试了5家,也成功的拿到了5个offer,最终选择了自己最心仪的一家公司。拿到了20k+,16薪的工作。

面试中,也有一次面了5轮的,也有视频面试的,总之面试很累,还有一家8年的老开发一起交流技术,他们给了笔者很多宝贵的建议,以及学习的方向,很是感谢他们。

学习的方式很多,对于笔者这种自学能力不能太好的,或者说没有学习方法的人来说,付费学习,也是一种捷径。

这个过程,笔者抛去了以往容易自我膨胀的心态,让自己时刻处于一种不满足的状态,然后就时时刻刻处于学习的状态。

以上就是笔者近一年的历程,感觉自己成功的度过了菜鸟的阶段,现在已工作了3年,争取在5年的时候,上升一个更高的层次,希望大家也在这里对我进行监督。

后面又是一个新的开始,仍然需要沉下心来,去学习,去沉淀。




原文地址:访问原文地址
快照地址: 访问文章快照