信用卡真好听,它却是吃掉年轻人最美好的青春储备,人生污点也是信用卡给的。
极客讲解生活国学讲解 #支持头条传播正能量#
00:12负债百万,但我有颗进大厂的心
虽然通过培训我找到了编程的工作,但此时的我只会 CRUD。
培训班只教会了 what,却没有教会 why。
真正开始工作后才发现,自己的底子有多差,计算机基础、数据结构等内容都不会,只能做一些简单的 CURD 的工作,并且很吃力。
当时处理一个简单的 json 数据花费了我三天时间,后面自己偷偷去问大神才知道用线段树可以几行代码搞定。
线段树是什么?
一脸懵逼。
一查,原来是数据结构的一种,当时想着我不会数据结构和算法也找到了工作,也能正常的工作,那还学这个干嘛,多熟悉一下业务代码不香么。
即使有些朋友告诉我要好好的打好计算机基础,我还是习惯性地敷衍过去。
不会编译原理,我照样能定位到 bug。
不会数据结构,我照样能写出个能用的排序功能。
不会计算机组成原理,我照样知道怎么使用 IDE。
不会计算机网络,我照样能写出个网络请求 API。
学这些有啥用?!
等我打算跳槽,投简历面试时,拿到面试题的第一眼蒙了:反转链表是什么意思?
连续参加好几家公司的面试,都倒在笔试环节,时代变了,现在所有的互联网公司都有算法面试环节。
而这时因为家中变故,我背负了上百万的债务,如果不在 3 年内全部还清,我将成为失信人,哪怕后面慢慢还清,我也带着抹不去的污点。
每个月的利息都靠几张信用卡来回倒腾,本金只能靠着微薄的工资慢慢还,不吃不喝也得将近十年的时间。
进入大厂拿到更高薪资,我才有可能还清负债,还清债务我才能重新开始。
如同以前二战,我要考 985。
这一次,我要进入大厂,还清百万负债。
不会算法,就没法进大厂。
学算法,进大厂,还负债。
这一次我为自己前途而战。
七、我开启了 1000 小时刷 LeetCode 之路
我不想一辈子待在创业小公司 ,做着 CRUD 的工作,拿着四位数的工资,债也还不清,首付也凑不齐。
和复读那年做决定的方法一样,我先给自己定个小目标,刷它几百道 LeetCode 算法题!
二话不说,立马打开 LeetCode 官网,开启算法刷题之路。
我相信能力是靠努力 + 持续练习,锻炼出来的。
每天上下班我都需要挤两小时地铁,所以每次我都会在地铁里面站着学习算法题。
我在地铁上站 1000 个小时,也学习了 1000 个小时。
决心和执行力我都有了,然而现实却又给我沉重一击。
我连 LeetCode 最简单的第一题都写不出来。
LeetCode 第一题,如同小学里的 1 + 1 = 2 的程度。
开始学吧,我硬着头皮刷题,按照前辈们的经验,顺着类别刷,第一个刷的就是链表。
刚开始刷,真的很慢也很痛苦,期间我实在做不出来的时候去看别人的题解文章,都需要看很久才能弄懂,我都有点怀疑自己的智商。
三个月下来,我才刷了 100 道,虽然把基础数据结构算法知识补回来了,但想靠这 100 道题目通过大厂的算法面试无异于痴人说梦。
这个过程还出现了一个很严重的问题,刷着刷着回过头来看之前做过的题目居然忘了什么思考。
相当于白刷!
怎么样才能刷完一道题目就真正掌握一道题目呢?
我想到了费曼学习法:以教促学,写算法题解!
我如果能够把一道算法题给新手讲清楚,那我不就是跳出新手的行列?
并且我发现世面上大部分 LeetCode 题解文章都有以下几个缺点:
1、故作高深,喜欢写简短的代码,新手很难看懂
2、只提供代码,不提供题解分析,读者无法理解
3、提供了题解,但全篇都是文字,需要慢慢分析才能看懂
直到现在,你在搜索引擎搜索一些题目,看到的答案排版、内容、质量都不尽人意。
所以,当时我给自己的题解制定了以下几个风格风格:
1、所有的代码必须提供注释,每行代码都要能说清楚
2、题解内容不要嫌啰嗦,让新手也能顺着思路写出代码
3、每道题解都必须图片或者动画,让读者一分钟内能看明白难点,顺着动画能写出伪代码