大家好,我是栾先生,来自山东,毕业于哈尔滨工业大学,在运维岗位上工作了8年以上,不过目前已经裸辞,决定年后再找工作。

如果愚公有学挖掘机,会怎样?

其实触发我要再学一遍数据结构的是一个比我厉害的程序员,一次和他聊技术时,他突然认真的说,你要再学学数据结构好在我脸皮厚,朋友的话我记下了。真实的指出我们不足之处的朋友不多,好朋友有些时候因为担心直接指出我们的弱项而伤害到我们,恐怕就不说了,我们也就无法全面的认识自己,一直接触阿谀奉承的人非常危险。

我先是买了两本书,而后也看了两所大学的《数据结构》,因为感觉老师讲的好,我到一个老师的网站上尝试刷题,哎呀!屡战屡败,鏖战一个多月,身心俱疲,我猜估计只有出题的老师会做,其他人估计和我一样。(内心os:不要告诉我,大家都会,我受不了...)

因此我在想,如果有个人,自身不是某大学的老师,而是某公司的技术牛人,他能做对这些题目么?我如果能看到,牛人挥刀砍题,手起刀落这样的场景,那才叫爽。我盼望着,直到一个好朋友告诉我,极客大学有一个算法训练营...

我自己啃了几本数据结构的书,书是很好的,可是我感觉吸收得一般,所以当看到有这个训练营时立即买了,并立即在极客时间里面搜索到了覃超老师的视频课,买下,早点热身。好的开始是成功的一半,越早见识高手,越少走弯路。愚公移山精神很好,但早学挖掘机可能更好。

有些话,我早就听说了,感觉自己好像理解了,但经过某些经历后,你可能理解得更深刻了,并用它们指导以后的生活,这可能就是收获吧。

我参加算法训练营的初衷:

第一个,为了涨见识,想看一下覃超老师到底有多牛?为啥牛?

第二个,明知递归函数很重要,但是每次自己写起来,都感觉“反人类”,递归树画着画着很烦躁,写着写着想睡觉,我想看看覃超老师,是不是他也不会写?(坏笑)

第三,动态规划,神神秘秘的,感觉根本找不到规律,也搞不清楚什么情况下,应该用动态规划解决。

 算法的种子逐渐萌芽

现在:

第一,达到初衷,真是遇到好老师了,掏心掏肺的讲解:压缩记忆法、五毒神掌等,真的涨了见识,老师不仅教了套路,还直接给了木人桩。

第二,讲到递归函数的时候,老师手里有模板,奥利给!我这钻木取火,老师直接递过来打火机。

第三,讲到动态规划的时候,记住了老师的几句话,其实,它和递归没什么区别;递推加记忆化;何时使用呢?是否存在某种最优子结构。升维、降维、状态压缩,原来如此。但动态规划的某些题的定义状态,确实需要一些“天分”,其实也就是抽象思维能力,我们不知道天才们当时是怎么想出来的,先记住吧。

我真实地感受到了,老师脑袋里这些知识的样子,也感受到了一粒数据结构与算法的种子在我的脑袋里面逐渐萌芽。

数据结构之树开枝散叶

在学习的过程中,我更理解吴军老师说过的一句话,大体是这个意思:“ 不要太相信一万小时定律,即使你付出了一万小时,你也可能没有成为什么牛人。” 为什么?其实,那是在做低水平的重复。举个例子吧,可能你一直都在一楼忙碌,根本不知道还有二楼、三楼、更高的楼层,好比你根本没有见过一流的人如何做这个事情。

一流的人,可能把二流的事做到一流。参加训练营,我的感受是比自己一点一点啃要好得多,不光是快,最重要的是感觉有条线,把知识串起来了。用池大的话解释,就是系统化,感觉到了这些东西是一个整体了。我也理解了覃超老师引用埃隆马斯克的那句话,知识最终会像一颗小树,长在脑子里。比如先理解了单链表,而后理解二叉树、多叉树,最后是图;再有就是从理解递归,到加上记忆化,到理解动态规划,而后是贪心算法,贪心算法只能算是动态规划的一个特殊形式,只是动态规划这个树枝上的一片小叶子。脑子里知识零零散散的不是好事,我们的钥匙都串在一起,不是么?

下面是我的小树,可能有些错误,比如,你可能感觉布隆过滤器就是Hash,而不是位运算;或者优先级队列,就应该属于堆,而不是队列。这很好,“ Talk is cheap, show me the code”。

这个瞬间,我体会到了算法的奇妙

在训练的过程中我体会到好多东西,学好数据结构与算法真的非常有用。我还是想用约瑟夫下船问题,来和大家分享我那时候的感受。

一开始我的思维一直像老式的打字机:人站成一行,我像个执法者,从头走到尾数着数,把倒霉的人推入大海,而后再次返回,从头到尾再来。这样子想,当写程序的时候,需要时刻关注好几个维度,比如原来这个位置的人是否已经推入大海?是否已经是队伍末尾了?已经推下去几个等等。我是阅读一段别人写的变量没有注释的代码,我太难了,终于把它的注释补上去,理解了。擦汗!

而后用必应一搜,看到了用队列这个数据结构,简洁的代码,就8行,逻辑非常清晰。

哇咔咔,给你个场景自己体会吧,我用腿爬到了 66 楼,一推门看见同事,他们说:“你刚走就来电了,可以坐电梯上来了。”

很多人都无数次说过:程序=数据结构+算法。我想说的是:不学习它,你就有一些盲维,比如字典树,用它能很好解决一类问题,如果你连字典树的概念都不知道,遇到相关问题肯定解决不好。

最后我想说:不学好数据结构和算法,就像拿着个有漏洞的桶去提水,事倍功半一辈子呀!

这些学习心得,我想跟你分享

首先,身处一个人工智能时代,我们必须多了解一些计算机知识。打个比方,如果是蒸汽机时代,你懂得蒸汽机的原理,哪怕只是维修蒸汽机,估计人生也很精彩,很多人求着你帮忙,你掌握高科技,人们高看你;反观当下,乔布斯先生曾说过,人人都应该学习编程,最好用一年的时间学,这是肺腑之言呀!因为我们离不开计算机,其实手机就是一台计算机,更别提在大公司工作,人手一台电脑,我们要搞懂它、驯化它、驾驭它,让它会变成一个得力的助手。大雄同学菜菜的,可是有了哆啦A梦的帮助之后呢?

其次,学习的过程是不是很痛苦?我想用吴军老师的话来与你共勉:学习的过程可能辛苦,但一次一次,当我看懂了优秀的代码,理解了先贤的智慧,拍着大腿,想说叹为观止的时刻,和在某些旅游景点的感受,几乎是一样的。我曾在黄果树瀑布下,张着嘴。人人都爱旅游,累么?累,快乐么?快乐。其实,我们需要的是,那些经历,那些场景,那些感受。

分享一下我的记忆心法,我比较认同的一句话:任何学习说到最后,都是记忆化的过程。关于记忆,分享三点:

1、记不住的主要原因是,记多了! 每次尽量控制在3个。

2、文字,图片,视频,记忆深度不断加深,能看视频的看视频。

3、重复的次数,要足够多;还有,体验越深越难忘记,不信,捅个马蜂窝试试。

再次,说一下课程,覃超老师和极客大学团队精心打磨、不断迭代的课程,贯彻了授人以渔的思想,让我受益很多。我们可能内心一直盼望,一参加工作就遇到一个好公司,身边一堆技术大牛的同事,而且他们都很有耐心,一年内把小白培育成才;而现实是,我们需要提升自己的能力,争取能够分辨出哪些人是高手,哪些公司是好公司。否则,你有多大的概率,在最好的公司找了个最菜的人拜师了,悲剧呀!好公司一定有好产品,这个算法训练营,我参加了,整体下来我感觉确实超值。覃超老师是高手么?能把很多的知识压缩为几个字。功力如何?你亲自试一试就知道了。另外,他把他被微软面试官咔嚓的事情都倒出来,给人无比的真实和亲近感,不是高高在上的老师,而是就像站在你身边的战友,随时准备让你踩着冲出战壕。

最后,啰嗦几句,其实这个课提升了我的格局。还是打个比方吧:连长说今晚摸鬼子的炮楼,我举手,连长说:“你行么?”我把匕首咬在嘴里,麻利儿地把布条缠到了鞋上,连长一看,最重要的基本要领知道,靠谱。我不再关注哪个员工不努力提升,而是关注自己给牛人做助手是否合格?这里引用一句话吧,秦朝李斯《谏逐客书》: 是以泰山不让土壤,故能成其大;河海不择细流,故能就其深;王者不却众庶,故能明其德。

早鸟优惠中丨第 6 期算法训练营

如果你也想跟随覃超老师学习算法,和优秀的小伙伴一起提高自己的数据结构和算法能力,可以参加第 6 期算法训练营。本期算法训练营不限地域,内容从低到高、由浅入深,涵盖所有核心算法知识精讲、解题思路、实战结合。

????扫码报名

仅限前 50 人有效!先到先得!

????点击阅读原文,查看算法训练营课程大纲哦~

30多岁裸辞,一个工程师的自白相关推荐

  1. 30岁的测试工程师,青春饭还能吃吗?

    收到最多的问题 :"软件测试职业,是否吃青春饭 ?" ,"30岁的测试工程师,都在干嘛 ?","是不是30岁了,没当上管理者,就意味着失败 ?&quo ...

  2. “终于我从字节离职了...“一个年薪40W的测试工程师的自白..

    "我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好的生活吗?但 ...

  3. “终于我从字节离职了....”一个年薪40W的测试工程师的自白....

    "我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看着我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好的生活吗?但 ...

  4. “终于我从阿里离职了...”一个年薪40W的测试工程师的自白....

    "我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看着我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好的生活吗?但 ...

  5. “终于我从字节离职了...“一个年薪40W的测试工程师的自白...

    "我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好的生活吗?但 ...

  6. 30岁开始学计算机软件工程师晚么,30岁学网络工程师晚吗

    30岁学网络工程师晚吗?对于年轻人来说,最渴望的是实现自我的价值,不会感到迷茫与烦恼的,是可以找到自己的人生方向的.有不少30岁的人会想要拥有专业的技术,会刻苦的学习而会担心找不到好的就业单位,成为最 ...

  7. “终于我从字节离职了...“一个年薪50W的测试工程师的自白...

    我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好的生活吗?但是我认为我想 ...

  8. 30岁以上电子工程师的无奈与迷茫

    转自 http://www.php230.com/wtoutiao/1077914.html 误入"歧"途? 很多年以后,在凌晨三点调试完电路离开办公室的时候,你会想起当年高考填志 ...

  9. 30岁转行测试工程师_30岁一无所长,转行UI设计还合适吗?

    30岁不知道从什么时候成了一个敏感的年纪,面对30岁+一无所长+转行,这简直是让人头秃的处境.但是人到30真的就别无选择了吗? 直到今年,疫情爆发,很多企业关闭.员工失业,我问自己如果行业寒冬或者离开 ...

最新文章

  1. golang http 操作 简介
  2. 学校开展计算机培训活动,计算机学院学习筑梦班开展义务清扫机房活动
  3. div alert html,基于jQuery的弹出消息插件 DivAlert之旅(一)
  4. makefile内容小结
  5. 用离线编辑器Zoundry写zblog日志
  6. 作者:熊森林(1988-),男,中国科学院国家空间科学中心助理研究员
  7. 传送带(洛谷-P2571)
  8. JDK源码(7)-Boolean
  9. 粗看ES6之JSON
  10. 教程: UNet/UNet++多类别图像分割,含数据集制作
  11. 读书笔记∣概率论沉思录 01
  12. mysql join与where_mysql中left join设置条件在on与where时的用法区别分析
  13. 浏览器中加载CNN进行手写数字识别,并部署到Gitee Page
  14. C语言全局变量和数组的应用
  15. c语言随机数 抛硬币,C语言 抛硬币的问题
  16. 二级分销商城模式开发
  17. android优化大师下载最新版,安卓优化大师
  18. html怎样导入ps,【Photoshop软件新手向】如何导入/自制笔刷?
  19. python期中作业
  20. 关于项目的可行性分析

热门文章

  1. 注销账号功能(账号保留一个月)
  2. 1.机器学习数学基础
  3. 每天高效短睡4小时与饥饿的力量
  4. (强推)李宏毅2021春机器学习课程-课件免费下载
  5. WampServer官方下载去哪儿了?
  6. 对元宇宙 我们期待什么?
  7. 【老城.老街.老印象】
  8. 高通qcom sdm450/msm8953平台 fingerprint指纹模组移植
  9. beaglebone php,从零开始学BeagleBone Black嵌入式开发
  10. 入侵检测系统--snort知识