这是彭文华的第125篇原创
这两天着实被惊到了!今年!2020年!最惨毕业季!一个应届生!秋招砍下13个大厂的Offer!这是什么概念?一开始听到这个故事,我简直以为又是那个神经病在信口瞎说呢,哗众取宠罢了。不过当我看到刚出版的书,我的态度立刻改变了,拿到13个Offer应该是因为他只面了13个吧。就像是那个段子:学神考100分,是因为卷子上只有100分。
labuladong的算法小炒
有些同学已经有所耳闻了,这个人叫付东来,2020届应届毕业生,在字节实习。虽然砍下13个offer是他自己说的,没有其他佐证,但是你去看看他的git就知道,offer对他来说是要多少有多少。因为他的git“**ing-algorithm”上有76k的star!这已经进全球前20了
而且,这是在算法领域,不是知乎那种讲个故事、耍个机灵就能万赞的地方!
我晃了晃脑袋,流下了无知的泪水。我也曾学过算法,当年还手推过贝叶斯啥的,再难一些的算法留给我的只有被支配的恐怖。但是你看看labuladong写的:
看见没?他在领着大家支配算法。。。
支配算法的秘诀
labuladong的目的很明确,从大一开始就是面向offer学习。跟我之前提的面向跳槽学习很像哦~~~
因此,他的逻辑很简单,摒弃一切花里胡哨的招式,直指算法核心,解决核心问题。能一招搞定的,绝对不耍花招。但是即便是这样,也是要有非常深刻的认知的。
比如对于数据结构,你是不是也被队列、堆、栈、树、图等乱七八糟的结构搞的晕头转向?labuladong直指核心:数据结构存储方式只有两种:数组和链表。数组就是顺序存储,链表就是链式存储。这个理解是我玩数据库很久很久才慢慢有点明悟的(也是因为学艺不精),这哥们刚毕业就有这个理解,实在是佩服!
很多传统数据库开发工程师在进入大数据环境中,往往不太能理解HDFS、Hbase、MongoDB等乱七八糟存储的道道,看上去非常难以理解。其实就是在顺序存储的逻辑中固化思想了而已。
其实数据的存储方式一共有四种:顺序存储、链式存储、索引存储、散列存储。顺序和链式存储在内存中用的比较多。玩数据库的人都知道索引存储了,这个散列存储其实就是大数据的Hbase的存储方式。其实严格来说,散列存储是数组的一种扩展方式,有点类似于在数组前面加一个索引列,因此Hbase有超高的查询效率。
所以你发现没有,labuladong理解事务是从底层逻辑开始的,而不是从问题开始的。这不仅是支配算法的秘诀,这更是支配一切的秘诀!当我们在LeetCode上看到一道题目,我们会怎么做?读题、找思路、画框图、写伪代码、写代码、调试,对吗?
labuladong不是。他先找到底层逻辑,把内存中用到的两种数据存储方式吃透,一种是数组,一种是链表。这两种存储方式吃透了,然后梳理出解题框架,也就是套路,那么类似的题就直接秒杀。所以你在他的文章里通常会看到类似的说法:
读完本⽂,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题
⽬:
1.两数之和
15.三数之和
18.四数之和
让算法跳舞的步法
我其实是属于那种比较愚笨的人。在上数据结构课和算法课的时候基本都是半懂不懂的。工作中用数据比较多,所以慢慢的对数据有些明悟;但是接触算法比较少,当初凭兴趣积攒的一些底子也基本都忘的差不多了,也就能记得一些算法思想。
我读labuladong算法小抄的时候,感觉付东来小哥真的很有悟性,比我强太多。他很灵敏的感觉到学习的两个重点:
1、这是啥?
2、有啥用?
第一个问题很简单,复制就行了。我们绝大多数人都是这样做的,把这些笔记抄下来,就以为自己会了。在现在更简单,在手机上收藏了就代表学会了。
但是第二个问题才是有效学习的关键。你需要用他,才能证明真正的掌握了他。这个诀窍我不止在一个牛人的经验中看到。在张海迪的“美丽的英语”中看到了,在罗振宇的“讲师训练营”中也看到了。当然,名气最大的必须得提大物理学家费曼,他的费曼学习法是类似的套路,就是讲给别人听,教给别人。
当一个知识,我们记下来了,背下来了,只能算是在记忆层面解决了。却不能融会贯通,举一反三。想要做到这一点,就必须要想尽办法使用它,用得越多,掌握的越牢固。这样才能做到刷1题胜过刷100题,一个套路,团灭一群算法题。
刷完一道算法题,就总结一个解题框架。以此为准,找到类似的题,无非是增加一些细节,或者拓展一个新知识点。如此往复,找到一个个的算法元知识,看到什么题,就用什么算法元知识(书中称框架套路),就能无往而不利,享受收割LeetCode刷题的快感!
总结
英雄不怕年少,更无惧风雨!2020年如此恶劣的就业环境,labuladong能搞定13个大厂offer靠的不是口才,而是对底层逻辑的深刻理解,是对问题的深刻剖析和总结。这不是什么奇技**巧,而是以庖丁解牛的真道理。我们从中学习的不仅仅是各种解题思路,更是那把庖丁解牛的刀法。这才是真正的屠龙之技!
还是那句话:只有自己变强了,才能无视外界的一切环境。没有最惨毕业季,只有更强打工人!
没看过labuladong算法小抄的同学可以看完本文后疯狂关注一波,git、公众号都叫labuladong。
扩展阅读:《labuladong的算法小抄》开源版已经给你准备好了,后台回复“小抄”即可下载。
配合以下文章享受更佳
透过现象看创本质的能力-从忒休斯之船到系统论
我需要你的转发,爱你哟