写在前面

作者介绍

政采云前端团队(ZooTeam),一个年轻富有激情和创造力的前端团队,隶属于政采云产品研发部,Base 在风景如画的杭州。团队现有 50 余个前端小伙伴,平均年龄 27 岁,近 3 成是全栈工程师,妥妥的青年风暴团。成员构成既有来自于阿里、网易的“老”兵,也有浙大、中科大、杭电等校的应届新人。团队在日常的业务对接之外,还在物料体系、工程平台、搭建平台、性能体验、云端应用、数据分析及可视化等方向进行技术探索和实战,推动并落地了一系列的内部技术产品,持续探索前端技术体系的新边界。

小册介绍

数据结构与算法是计算机专业必修课,但是对于前端工程师来说,沉浸在业务代码之中很少会和算法直接打交道,甚于说根本不需要用到什么算法。那么我们为什么要学习算法,意义何在?不会算法活不是一样能干。把一件事情做到极致是非常必要的职业心态,这离不开数据结构和算法。另一方面,再说面试,这和在学生时代为什么要学数理化是一个道理,考试要考,你就要学。面试造火箭,工作拧螺丝,面试官通过问几道算法题了解你的编程和逻辑思维能力并不奇怪。

万丈高楼平地起,基础知识掌握多少,一定程度上决定了我们的技术能走多远。想要作出一点事情,基础一定要扎实,要苦练“内功”。对于一名工程师来说,所谓的“内功”无非就是大学里所学的那些基础课程,计算机网络、数据结构与算法等。

本小册子由浅入深大致可以分为 3 个部分:

  • 基础篇

这部分的内容先从考评算法的复杂度开始介绍,再从比较基础的字符串、数组入手,最后是一些数学相关的题目。让大家先从简单的内容上手,练好基本功,不要一上来就被算法吓到。

  • 进阶篇

剖析稍复杂的数据结构与算法,再加上经典题目的实战练习,帮助你更加深入理解算法的精髓、提升算法思维,开始修炼更高深的“内功”。

  • 高级篇

本部分来介绍一些比较高级的算法,可以理解为高深的“心法”,虽然难学,但是学会了之后会发现很管用,走遍天下都不怕。

我们解题不能一知半解,每道题每一种解法,都写上了解题思路和详细的解题步骤。让读者在解题的过程当中,更好地训练思维,知道答案是怎么来的,能够举一反三。

本小册子选取大厂面试高频算法题共计 101 道,大多数题目至少两种 JavaScript 解法,并附有详细的思路和解题过程,来帮你夯实、强化算法知识。

你会收获到什么?

  • 更好的逻辑思维能力

  • 对数据结构更深的理解

  • 能够写出更加牛逼的代码

  • 一份体面的工作

适宜人群

  • 想看看机会的同学

  • 一直想学习算法,出于某些原因没认真学的同学

你需要准备什么

  • JavaScript 语言基础

  • 一台电脑一杯咖啡

  • 一颗热爱学习的心