今年秋招,零基础,刷代码随想录!

2022-04-14 18:58:38 浏览数 (1)

星球里一位录友刚刚完成了1.5刷代码随想录,他是非科班,零基础开始的。

有多零基础呢,之前他都不知道 数据结构 这个词,同时他也是准备今年秋招。

而且他对实习秋招也没有概念,也是他的师兄推荐的代码随想录,从此上了“贼船”哈哈。

以下是他在知识星球里的自我介绍,并且详细讲了自己从零基础刷题的心路历程,写的很朴实,但也有激情,有动力,相信大家看完也会深有同感。

就在刚刚,3月25日22:30,我第1.5遍刷完了代码随想录,为什么说是一点五刷,留个悬念,后面说······

简单自我介绍下,23届毕业,某不知名211混子,本科双非,非科班。

之所以接触到代码随想录(PS:老实说是找实习,找工作),很简单,很偶然,22年12月底,我老师的老板的一个师兄来我看的实验室做实验。

(PS:本人独苗,师徒二人相依为命,我的毕设内容与工业控制相关,实验室有设备需要人照看,所以看了一年半实验室,鲜少与外界接触,完美错过了秋招实习的消息)

偶然提起师兄已经入职腾讯了,年薪不菲,顿生羡慕。

我问师兄有什么建议,师兄得知我对实习、秋招一点准备都没有,用充满怜悯的眼神关爱了我三秒(PS:类似看还没开窍的猿人的那种)。

然后把代码随想录的公众号发给了我,还有若干八股文,师兄也没说别的“刷题,背就完事了”,然后潇洒离去

事实证明,我那天下午去实验室是个正确的决定(弥补了我一年半的消息缺陷)。

由于我个人还是喜欢纸质书籍,还有对卡哥开源的感激,我入手了两本代码随想录(一本做标记、一本当字典用),也算是小小支持一把卡哥

(我一直觉得以后万一自己也有能力帮一帮后辈,不至于没人捧场,攒攒人品,考研那会儿也是,买正版课买到吃不起饭,后来转向某盘,白嫖让我愧疚了好久)。

好了,言归正传,该聊聊刷题的事了。本人不能说是零基础吧,也可以说是负基础,唯一一点代码基础还来自于本科做51单片机的实验(仅限for循环,if判断这种)。

那怎么办呢?本人发挥“活着干,死了算”的精神开始死磕代码随想录,死磕每道题,做不出来不吃不睡,事实证明,不讲点策略硬干真不行。

一周下来,题没做出来几道,简直怀疑人生——毕竟当时的我,第一次见vector这个单词

缓过劲来想一想,我决定借鉴一下当年设计硬件电路时的经验,尊重客观规律,采用全局把握与局部摸索的思路——首先从目录入手,看代码随想录有几个章节,每个章节的开篇和总结大体说了一个什么事,整体而言是一种知识点(PS:后来知道了数据结构这个名词)还是一种方案(或者说方法,算法)。

如果说是一种知识点,那么就去查这个知识点关联了哪些知识点,比如vector,他关联了stl标准库,基本数据类型,一些函数语句,乃至说用本地IDE时还会用到相关的头文件······

然后在这些新的知识点中,我们可以分出相对于刷题而言的轻重缓急,比如,对于刷vector相关的题目时,基本的数据类型、一些基本的语句是必须要掌握的,那就要必须先搞定;

而模板、标准库的源码,底层这些就暂时不去看。

对总体有了把握以后,再揪细节就容易多了。

这时我再看简单和中等难度的题目时,就慢慢有了思路。

由于对自己有了清醒的认知,难题就适当的放一放,哪天状态好或者心血来潮,可以和他磕一磕。

但是不因为他影响心情和当天的生活,做出来血赚,做不出不亏,当然了这也是我接下来二刷重点要突破的点。

至于说贪心、回溯、动态规划这类的算法题目,正如卡哥而言,简单题用来捋思路,验证方法论,复杂题用方法论来求解,这样搞一遍最后往往心旷神怡

具体到每个章节呢,我个人有一些拙见(求各位大佬轻喷)。

数据结构这块,无论是链表还是二叉树,我都没接触过,因此我刷了两遍,但是感觉还是不深刻(所以说我觉得我刷了1.5遍)。

链表是一种插入、删除都比较方便的数据结构,但是在应用指针上需要考虑好指针的下一状态。

PS:在单链表中,如果指针早就偏出姥姥家了,系统直接报错,毫不留情。

至于说环形链表、反转链表、合并链表这种经典问题,要考虑清楚每个临时指针的位置、下一时刻的位置以及它们之间的关系,检验到底有没有真弄明白的最好方式就是过几天回头看,还会不会,要是不会了,没事,再来一遍(反转链表我自己写了6次),不开心是必然的。

但是,想想offer,也就释然了。

数组是一种便于查询的数据结构,数组的标号天生自带指针的buff,普通数组无法拓展长度,而vector具有这种特性,而且数组无法删除元素,最多只能通过resize去掉后面几个不想要的元素。

另外刷题时还要明白一些类似swap、reverse这样的操作,有时候也只能做一题记一次。字符串倒是和数组在某种意义上差不多,一个存char(后面带一个终止符),一个存数字。

当然也可能是我学业不精,也请各位录友多多指正(KMP对当时的我有难度,被我草率的过了,二刷一定搞定他)。

至于说哈希结构,我觉得对我而言,首先先记住XXX,unordered_XXX,mutiXXX的区别和联系,并且能够运用在一些要记录或者排序键值的题目上是紧要的事情。

如果说前几种数据结构还好理解,二叉树可以说是我前半本书的最大难题了,这XX是个什么玩意儿(文明用语),好在刷了两次以后,大体明白了,尤其是之后的回溯算法做完后,就更是顿悟了。

从题解的形式上来看,一般有两种解法,一种直接迭代(好入门但是越往后越难),一种是递归,我是从迭代入门,然后发现刷不下去了,然后重新学递归,刷了2遍(迭代0.5,递归1遍,七七八八刷了0.5遍)才算是完事,同时加强了我对栈和队列的理解。

至于说回溯、贪心、动态规划,跟着卡哥的三部曲、五部曲、小专题走就很顺利了(这个时候加入了星球吧,记不清了,真的是有被星球里的大佬震撼到,更坚定了我要卷死隔壁寝室的决心,虽然他们比我早开始了两个月······哈哈哈哈,开玩笑,各位也要记得锻炼身体,看卡哥的身材就懂了)。

罗里吧嗦说了一大堆,已经快一点了,今天还有网易的笔试,祝我能多A几道,各位晚安啦,哈哈哈哈哈哈!

好想早日收获offer啊!


这是这篇帖子在星球里的评论:

正如一位录友所说:天眷勤奋人

知识星球里大家每天都在坚持打卡,即是记录这一天的所学所想,也是让大家监督自己真的是在每天进步。

很多录友不仅学历好,而且还非常努力

刷星球里的内容,要比刷朋友圈有营养的多!

星球里最近发布了两份独家资料:

  • 计算机基础八股文PDF
  • 计算机2021年求职薪资PDF

均放在在星球置顶帖上:

后面还会发布更多独家内容,更多惊喜等着大家。

0 人点赞