要在200天内完成这些,过程当中会更新前端
大体目标就是这样,达到以后,就只看看前沿的技术,不被淘汰就好,就去作其余的事情vue
前端知识体系webpack
HTML5 WebStoragenginx
HTML5 ApplicationCachegit
HTML5 WebWorkerses6
JavaScript
规定了几种基本数据类型JavaScript
对象的底层数据结构是什么null
和undefined
的区别JavaScript
数据类型的方式,以及他们的优缺点,如何准确的判断数组类型JavaScript
能够存储的最大数字、最大安全数字,JavaScript
处理大数字的方法、避免精度丢失的方法JavaScript
中的原型设计instanceof
的底层实现原理,手动实现一个instanceof
Node
)中应用原型继承的案例new
一个对象的详细过程,手动实现一个new
操做符es6 class
构造以及继承的底层实现原理JavaScript
的做用域和做用域链JavaScript
的执行上下文栈,能够应用堆栈信息快速定位问题this
的原理以及几种不一样使用场景的取值try
里面放return
,finally
还会执行,理解其内部机制JavaScript
如何实现异步编程,能够详细描述EventLoop
机制Node
与浏览器EventLoop
的差别Promise
实现串行JavaScript
异常处理的方式,统一的异常处理方案ECMAScript
和JavaScript
的关系es5
、es6
提供的语法规范JavaScript
提供的全局对象(例如Date
、Math
)、全局函数(例如decodeURI
、isNaN
)、全局属性(例如Infinity
、undefined
)map
、reduce
、filter
等高阶函数解决问题setInterval
须要注意的点,使用settimeout
实现setInterval
JavaScript
提供的正则表达式API
、可使用正则表达式(邮箱校验、URL
解析、去重等)解决常见问题sleep
函数call、apply、bind
Promise/A+
规范的Promise
、手动实现async await
EventEmitter
实现事件发布、订阅JSON.stringify
、JSON.parse
懒加载
、下拉刷新
、上拉加载
、预加载
等效果W3C
标准的DOM
操做API
、浏览器差别、兼容性BOM
)提供的全部全局API
、浏览器差别、兼容性DOM
操做、海量数据的性能优化(合并操做、Diff
、requestAnimationFrame
等)DOM
事件流的具体实现机制、不一样浏览器的差别、事件代理ajax
、fetch
、能够熟练使用第三方库URL
到页面展示的详细过程HTML
代码的原理,以及构建DOM
树的流程CSS
规则,并将其应用到DOM
树上Node
在应用程序中的做用Node
事件驱动、非阻塞机制的实现原理Node
的底层运行原理、和浏览器的异同Node
开发框架,如Express
,Express
和Koa
的区别Node
提供的API
如Path
、Http
、Child Process
等并理解其实现原理泛型
、接口
等面向对象的相关概念,TypeScript
对面向对象理念的实现TypeScript
的好处,掌握TypeScript
基础语法TypeScript
的规则检测原理React
和vue
选型和优缺点、核心架构的区别React
的事件底层实现机制React
中setState
的执行机制,如何有效的管理状态React
的虚拟DOM
和Diff
算法的内部实现React
的Fiber
工做原理,解决了什么问题React Router
和Vue Router
的底层实现原理、动态加载实现原理React API
、生命周期等,可应用HOC
、render props
、Hooks
等高阶用法解决问题MVVM
框架设计理念Vue
的API
、生命周期、钩子函数Vue
双向绑定实现原理、Diff
算法的内部实现Vue
的事件底层实现机制React
和Vue
传统的跨组件通讯方案,对比采用数据流管理框架的异同Redux
管理数据流,并理解其实现原理,中间件实现原理Mobx
管理数据流,并理解其实现原理,相比Redux
有什么优点Vuex
管理数据流,并理解其实现原理Charles
Android
、IOS
模拟器进行调试,并掌握一种真机调试方案Vue
、React
等框架调试工具的使用UI
组件框架,如antd design
,理解其设计理念、底层实现Echart
,理解其设计理念、底层实现,能够本身实现图表GIS
开发框架,如百度地图API
Three.js
、D3
lodash
、underscore
、moment
等,理解使用的工具类或工具函数的具体实现原理SPA
)的原理和优缺点,掌握一种快速开发SPA
的方案Viewport
、em
、rem
的原理和用法,分辨率、px
、ppi
、dpi
、dp
的区别和实际应用JavaScript
`PC客户端开发技术,如
Electron:可搭建
Electron开发环境,熟练进行开发,可理解
Electron`的运做原理npm
、yarn
依赖包管理的原理,二者的区别Babel
、webpack
、ESLint
等工具在项目中承担的做用ESLint
规则检测原理,经常使用的ESLint
配置Babel
的核心原理,能够本身编写一个Babel
插件Polyfill
Webpack
的编译原理、构建流程、热更新原理,chunk
、bundle
和module
的区别和应用loaders
和plugins
解决问题,能够本身编写loaders
和plugins
nginx
服务器nginx
内置变量,掌握经常使用的匹配规则写法nginx
实现请求过滤、配置gzip
、负载均衡等,并能解释其内部原理mock
工具的使用,如yapi
TDD
与BDD
模式,至少会使用一种前端单元测试框架CI/CD
技术的意义,至少熟练掌握一种CI/CD
工具的使用,如Jenkins
Web
应用、移动客户端应用、PC
客户端应用、小程序、H5
等等)Git
的核心原理、工做流程、和SVN
的区别Git
命令、git rebase
、git stash
等进阶命令线上分支回滚
、线上分支错误合并
等复杂问题Web
、App
性能优化方案SEO
排名规则、SEO
优化方案、先后端分离的SEO
SSR
实现方案、优缺点、及其性能优化Webpack
的性能优化方案Canvas
性能优化方案React
、Vue
等框架使用性能优化方案XSS
攻击的原理、分类、具体案例,前端如何防护CSRF
攻击的原理、具体案例,前端如何防护HTTP
劫持、页面劫持的原理、防护措施