# 第1章 简介

# 1-1 简介

特别对于前端工程师来说,数据结构和算法的能力更像我们的内功,不是显而易见的。

什么时候需要展示?就是面试的时候!

所以我们特意准备了数据结构与算法相关的面试题,以帮助大家更好的展示自己的能力。

切记:题目不是关键。关键是理解算法的原理手写代码的能力

课程内容:

  1. 线性结构算法题
  2. 非线性结构算法题
  3. 综合算法题

面向群体

  1. 有一定 JavaScript 基础的同学
  2. 对数据结构和和算法有一定了解
  3. 最好熟悉 typescript,但不必须

最后再次强调:

  • 理解算法原理需要反复琢磨

  • 手写代码能力需要反复练习

# 1-2 环境准备

问题:

后续我们会一起做一些题目,但是如何证明我们的解决方案是可行的?

分析:

单元测试是一个不错的工具。

我们借助与 jest (opens new window) 搭建一个简单支持 typescript 的单元测试工具。

前置工具:

jest 测试环境搭建:

# 安装依赖
yarn global add jest  #npm install jest --global
yarn add jest @types/jest --dev#npm install jest @types/jest --dev
yarn add --dev babel-jest @babel/core @babel/preset-env #npm install babel-jest @babel/core @babel/preset-env --dev
yarn add --dev @babel/preset-typescript #npm install @babel/preset-typescript --dev

# 添加 babel 配置
#// babel.config.js
module.exports = {
  presets: [
    ['@babel/preset-env', {targets: {node: 'current'}}],
    '@babel/preset-typescript',
  ],
};

# 配置 jest 命令
#// package.json
  "scripts": {
    "test": "jest",
    "test:watch": "jest --watchAll"
  },

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

步骤:

  1. 创建项目文件
  2. 初始化项目
  3. 安装依赖
  4. 添加 babel 配置
  5. 配置 package.json
  6. 测试

另外一个安装方式 直接克隆这个项目 https://github.com/itcast-wh/jest-typescript-tester/tree/init

上次更新: 2021/2/24 上午10:55:31