基础知识储备清单

基础知识

  • [ ] HTML 基础
    • HTML 书写规范
    • 编写 semantic HTML
    • HTML5 新特性(canvas、svg、audio、video…)
    • 合理的 DOM 结构
  • [ ] CSS 基础
    • CSS 书写规范和类名命名规范
    • CSS 优化方案和重绘、重排
    • 网格(Grid)和弹性盒子(Flexbox)
    • 媒体查询(Media Query)和响应式网站
    • CSS3 新样式
  • [ ] JS 基础
    • 数据类型和 typeof null
    • 深浅拷贝
    • DOM 和 BOM
    • 事件(事件冒泡、事件委托、事件对象)
    • 原型(原型链、instanceof、继承)
    • JS 中的类
    • new 的过程
    • this 指向
    • call/apply/bind
    • 执行环境
    • 闭包
    • 节流、防抖
    • 模块化(ES6 module、AMD、CMD)
    • 并发模型
    • 事件循环
    • ES6+ 新特性
  • [ ] Node JS
    • 事件机制
  • [ ] 计算机基础
    • 软件工程、测试原理
    • Unicode
    • 编译原理
    • 操作系统
    • 计算机网络
    • 算法原理

基础进阶

1. JS 进阶

  • [ ] 数据结构
  • [ ] 算法
    • 算法复杂度
    • 二分搜索
    • 排序(冒泡、快排…)
    • underscore 源码
  • [ ] 面向对象
  • [ ] 函数式开发
  • [ ] 设计模式
  • [ ] 架构设计
  • [ ] 重构之道

2. CSS 进阶

  • [ ] CSS 预处理器(Sass、PostCss、Less、Stylus)
  • [ ] CSS 框架(bootstrap、Materialize CSS、Bumla)
  • [ ] CSS 架构规范(BEM、OOCSS、SMACSS、SUITCSS、Atomic)

边界知识

1. 网络相关

2. 浏览器

3. 性能优化

  • [ ] SSR
    • React(Next.js/After.js)
    • Vue(Nuxt.js)
    • Angular(Universal)
  • [ ] 浏览器缓存策略

框架和库

  • [ ] React
    • Redux
    • Mobx
  • [ ] Vue
    • vuex
    • 父子通信(props/$refs、events/$parent/$root、event bus/vuex)
    • 响应式原理
  • [ ] Angular
    • Rx.js
    • ngrx
  • [ ] 小程序
  • [ ] 混合开发
  • [ ] RN/Weex
  • [ ] PWA
    • service worker

开发工具

1. 基础工具

  • [ ] Git 使用
    • Gitkraken
  • [ ] Linux 系统

2. 构建工具

  • [ ] webpack/rollup/parcel
    • 创造自己的函数库(npm)
  • [ ] grunt/glup
  • [ ] ESLint/JSlint/JShint/JSCS
  • [ ] Babel

3. 测试工具

4. 静态检查工具

  • [ ] TypeScript
  • [ ] Flow
0%