# 第1章 简介
# 1-1 简介
特别对于前端工程师来说,数据结构和算法的能力更像我们的内功,不是显而易见的。
什么时候需要展示?就是面试的时候!
所以我们特意准备了数据结构与算法相关的面试题,以帮助大家更好的展示自己的能力。
切记:题目不是关键。关键是理解算法的原理和手写代码的能力!
课程内容:
- 线性结构算法题
- 非线性结构算法题
- 综合算法题
面向群体:
- 有一定 JavaScript 基础的同学
- 对数据结构和和算法有一定了解
- 最好熟悉 typescript,但不必须
最后再次强调:
理解算法原理需要反复琢磨
手写代码能力需要反复练习
# 1-2 环境准备
问题:
后续我们会一起做一些题目,但是如何证明我们的解决方案是可行的?
分析:
单元测试是一个不错的工具。
我们借助与 jest (opens new window) 搭建一个简单支持 typescript 的单元测试工具。
前置工具:
nodejs (opens new window) 环境,最好是最新版或10.0以上版本
编辑器 推荐 vscode (opens new window)
git-bash 或其他命令行工具
推荐 包管理工具 yarn (opens new window)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
步骤:
- 创建项目文件
- 初始化项目
- 安装依赖
- 添加 babel 配置
- 配置 package.json
- 测试
另外一个安装方式 直接克隆这个项目 https://github.com/itcast-wh/jest-typescript-tester/tree/init