关于算法
首先,目前国内大厂已经开始趋向于国外大厂,在面试中算法的比重越来越大。尽管历来这些计算机科学的基础在前端中考察会比较少(校招和社招都比较少,但由于校招大家实际项目经验普遍不太丰富,所以校招这些基础又会相对社招多一些)。
对于大部分都有志于进入国内大厂(国外大厂算法无论前后端都是必考项),算法一定是会成为你的木板的。
首先,我得申明
上面的公式是什么意思呢?LeetCode 中大部分题目都是可以在训练后做出来的,难度其实并不算很大,尽管这段时间有几场比赛开始有出 acm 原题的趋势,但是相比于原题,题目的数据规模都要小很多,这也就是意味着我们可以用更加低效、简单的解法来解决。这也就意味着你没有必要产生畏难心理,你换个思路思考下,又不需要你去发明一个算法,只是要你用别人发明的算法解题而已。在我看来,大部分人可以在规律的 3-6 个月训练达到不错的水平(每天抽出1-2小时)。
刷算法的好处
-
个人认为算法是程序的基石,是所有开发者都得掌握的东西,因为无论是前端工程师还是后端工程师,你都首先得是一个工程师。
-
当然是立刻能得到好处的,也就是面试向,就像小厂的想去国内大厂,国内大厂的想去国外大厂。而算法题算是第一个敲门砖。
-
这一点是我个人最喜欢的,锻炼我们的思维能力。每一场周赛的1个半小时,都是你大脑高速运转的时候,你需要在这段时间里面想出解题思路,并且能够考虑所有的边界情况,写出 bug free 的代码(facebook 的题目需要你的代码直接 bug free)。每次比赛时都是高度集中的状态,比完赛后感觉特别的爽。
-
让你更加谦虚。在你翘尾巴的时候给你一巴掌,让你继续学习。每次看到比赛后前十名的比赛完成时间,我就会知道距离这群人差的还远呢。
今天给大家推荐一份来自字节跳动大佬的算法进阶指南,据说有不少小伙伴靠这份指南成功掌握了算法的核心技能,拿到了 BAT offer。希望对大家有帮助。
笔记共分为四章:
- 第一章、动态规划系列
- 第二章、数据结构系列
- 第三章、算法思维系列
- 第四章、高频面试系列
目录总览
内容精选
第一章、动态规划系列
第二章、数据结构系列
第三章、算法思维系列
第四章、高频面试系列