作者 修言
发布时间 2020-04-14 15:59
更新时间 2020-07-28 15:50

作者介绍

小册介绍

《设计模式》这本小册中我们提到过,即使是在瞬息万变的前端领域,也存在一些具备“一次学习,终生受用”特性的知识。从工程的角度看,我推荐大家着重学习的是设计模式;从面试的角度看,性价比最高的知识体系则无疑是算法与数据结构

很多前端同学在平日的学习里,只要看到“算法”或者“数据结构”这样的关键字,基本是拔腿就跑;进取心稍微比较强的同学,也难免陷入学了懵、懵了忘、忘了就投降的恶性循环。在实际的面试中,大部分同学面对算法和数据结构相关的面试题,知识储备几乎为0——这个短板,即便是有志于大厂面试的候选人,也少有人能逃脱。

我希望这种学不会、学不好的宿命能够被这本小册终结掉。

前端算法面试并不是洪水猛兽。它不需要你天资过人,不需要你拿过 ACM 的金银铜牌。它确实需要你投入一些时间来建立知识体系、精做好题。但是这不意味着你必须花上一年半载去杠一本《算法导论》,更不意味着无边无际的题海战术——面试是个技术活,不是体力活;理解面试本身,比理解算法更重要。

这本小册立项在19年3月份,一年多以来,出于个人发展的需要,笔者也前前后后参加了不少面向前端/全栈工程师的算法面试。在这个过程中,深知算法面试的世界里有大神,也有普通人。
大神或许生来就是大神、硬杠智力取胜;而普通人则需要摸爬滚打才能摸索出普通人的赢法。大神或许永远不懂普通人从0开始有多难,但只要有一个普通人能够从0到1,他的赢法就存在着高度复用的可能性。大神讲题听不懂很正常,毕竟是降维打击;但咸鱼翻身的普通人给仍在挣扎的普通人讲题,那就是普通人之间的惺惺相惜、几乎不存在理解屏障——这本小册的目的,就是做没有理解屏障的讲解

针对很多读者同学反映过的,“算法理论太抽象”这个问题,笔者在这本小册中会尝试给出自己的解法:

  • 用“快速上手”的编码实战,代替单纯的数据结构理论讲解
  • 以题为纲,从题中挖掘各位需要掌握的知识点
  • 不管是知识点还是真题,全部配以大量图解|动画,比如这样:
    这样:

我不信你学不会 :)。

我们整本小册的内容结构设计如下:

前20+个小节均为(基于大量真题的)讲解性质小节,这部分内容主要的目的是帮助大家吸收基础知识、吸收做题的方法和思路。在题目分布上,小册会尝试对齐真实前端面试场景下的分布情况:以 medium 难度为主,辅以一部分的 easy 题目用作引导、再辅以少量的 hard 题目开拓思路。

小册所涉及的题目难度,会随着你学习的逐渐深入一点一点地拔高。等到讲解部分完全结束后,大家会对算法知识体系有一个整体的把握,在这个基础上,“大厂真题训练”环节,我会带大家一起做一些综合性更强、区分度也更高的题目。

通过对这本小册的学习,希望各位可以清楚:算法不是玄学,而是和许多个你所熟悉的前端知识点一样,是可以通过努力把它牢牢掌握起来的一块关键知识体系。只要我们找到了正确的学习思路,勇敢地面对了恐惧,就一定会看到胜利的曙光。

奥利给!

小贴士:小册目前(发行日2020年4月14日)为预售状态,已更新 12/28 节,更新节奏为周更 1-2 节(不排除某一周加班较少一口气更三五节哈哈),整体内容会在五月内更完。掘金小册为虚拟内容服务,购买成功后不退款,介意更新节奏的同学请谨慎购买。

(本小册所涉及面试真题已取得 leetcode 官方授权)

你会学到什么?

  • 编码层面的数据结构基本功(基于 JavaScript)
  • 理解算法的衡量/评价依据
  • 以题为纲,帮你构建坚不可摧的核心解题能力
  • 掌握关键解题技巧,把握基本命题思路
  • 用舒服的姿势理解动态规划、递归与回溯、排序等经典算法思想
  • 微软、Google、腾讯、头条等大厂真题实战训练

适宜人群

  • 具备 JavaScript 基础,略懂 ES6,略懂 JS 数据结构
  • 需要构建/完善算法知识体系的前端同学
  • 有算法面试需求的前端同学

购买须知

  1. 本小册为图文形式内容服务,共计 28 节;
  2. 全部文章预计 5 月 31 日更新完成;
  3. 购买用户可享有小册永久的阅读权限;
  4. 购买用户可进入小册微信群,与作者互动;
  5. 掘金小册为虚拟内容服务,一经购买成功概不退款;
  6. 掘金小册版权归北京北比信息技术有限公司所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任;
  7. 在掘金小册阅读过程中,如有任何问题,请邮件联系 xiaoce@xitu.io
  1. 面试总有套路,算法不是玄学——写给普通人的前端算法面试攻略
  2. 快速上手——从0到1掌握算法面试需要的数据结构(一)
  3. 快速上手——从0到1掌握算法面试需要的数据结构(二)
  4. 快速上手——从0到1掌握算法面试需要的数据结构(三)
  5. 递归初相见——二叉树递归遍历的三种姿势
  6. 算法的衡量——轻松理解时间复杂度与空间复杂度
  7. 数组的应用——真题归纳与解读
  8. 字符串的应用——真题归纳与解读
  9. 链表的应用——真题归纳与解读
  10. 快慢指针与多指针——玩转链表复杂操作
  11. 姿势特别的链表——环形链表专题
  12. 栈与队列怎么玩(上)
  13. 栈与队列怎么玩(下)
  14. 遍历专题:DFS 与 BFS
  15. 递归与回溯专题——DFS 的特殊玩法
  16. 二叉树真题归纳与解读
  17. 特殊的二叉树——二叉搜索树专题
  18. 特殊的二叉树——平衡二叉树专题
  19. 特殊的二叉树——“堆”的建立与堆排序
  20. 排序算法专题(上)
  21. 排序算法专题(下)
  22. 普通人也能吃透的动态规划思想专题(上)
  23. 普通人也能吃透的动态规划思想专题(下)
  24. 大厂真题训练与解读——微软真题
  25. 大厂真题训练与解读——Google 真题
  26. 大厂真题训练与解读——腾讯真题
  27. 大厂真题训练与解读——头条真题
  28. 思维课:算法面试的评价逻辑