思考:为什么我们要了解底层。如果一个东西谁都会,那个这个东西就会变得不值钱;了解底层才能不是一个简单搬砖工;除了底层外,视野,技术的全面性也是格外重要。
面试方向
基础知识
底层类
, 一些稀奇古怪的js题,或者直接某个底层技巧(JavaScript异步机制、JavaScript回收机制,JavaScript变量机制)源码类
, Vue(比如axios、vuex、vue-route源码)、React项目
,项目里面做了什么事情,或者介绍一些项目。(一些操作,同构、移动解决方案、组件库、架构、 一些优化操作(比如管理keep-alive, 如何分模块管理页面、缓存操作))
前端知识大纲
JavaScript、计算机网络、Vue、React、Node、工程化、项目实践
一、JavaScript
1 函数
- JavaScript内存管理
- 保证代码质量(技巧)
- 提高代码可靠性
- underscore源码分析
- compose函数和pipe函数
- 高阶函数
- 常用函数
- 防抖和节流(技巧)
- 深拷贝和浅拷贝(技巧)
2 异步编程
- 同步和异步
- Event Loop机制(浏览器和node.js)
- 异步编程方法(发布/订阅、深入理解promise、generator函数及其异步应用、深入理解async/await)
- 处理异步的框架 - Rxjs
- WebWorker的多线程机制
3 设计模式
- 设计模式概论
- 封装与对象
- 提高复用
- 提高可扩展性
- 提高代码质量
二 计算机网络
1 网络协议
- TCP/IP
- HTTP
- TLS
- HTTPS & HTTP3
2 网络请求
- Request(Form提交、Ajax和Fetch、文件上传、Axios源码分析)
- webSocket
- 缓存
3 网络安全
- 同源策略
- XSS攻击
- CSRF攻击
4 模块加载
- 模块加载方案
- 闭包
- 资源定位 异步加载
- 解析依赖
- Webcomponent
5 路由
三 Vue
1 初识Vue
- Hello Vue
- 模版语法 & 事件绑定
- 计算属性 & watch
2 探索Vue的组件世界
- 生命周期 & 函数式组件
- 自定义指令
- 双向绑定与单项数据流
- 插槽
- 组件化
3 深入Vue源码设计
- 响应式
- 插件
- 渲染函数
4 Vue生态
- 状态管理vuex
- 路由 vue-router
- 服务端渲染nuxt.js
- Vue DevTools
- Composition API RFC
5 Vue实践
- 对话框
- 表单
- 动画切换效果实现
6 企业级组件系统架构
- 可复用组件设计
- 权限控制
- 自定义皮肤设置
- 国际化设置
- 自动化页面埋点
7 Vue3.0
四、React
1 入门结束 2 JSX介绍 3 组件基础知识 4 组件进阶 5 react生态 6 react原理 7 react-hooks 8 react高级实践和性能优化 9 状态管理
五、Node
1 Node.js基础
- Node.js发展简介
- Node提供的能力原生API
- Node原生的Web Server实践
- Node Web Server的写法
- Node进阶及原理解析
- Node原生的局限性与框架的必要性
2 Web服务及Koa
- Koa给出的函数,解决原生困难
- Koa重写Web Server
- Koa进阶及原理解析
- Koa源码分析 & 手写Koa核心代码
- koa在企业开发中应用
3 企业级Node.js框架
- 企业级应用对Koa提出的挑战级BEF开发模式
- 手写企业Node框架
- Node框架基建
- 云上的Node及微服务
六、工程化
1 脚本世界
- 玩转npm
- base简介和快速入门
- Node开发简单cli工具
2 规范先行
- 代码风格
- 版本规范和Changelog
- 其他规约
3 质量
- code review
- 测试基础
- 单元测试
- e2e测试
- 测试驱动开发
- 监控和异常上报
4 工程设计
- 工程设计简介
- 工程结构范式
- 多仓库选型
5 构建艺术
- 构建简史
- babel(token到ast,编译理论、基本概念、使用、插件编写)
- 深入webpack(设计思想(tapable源码分析)、高级使用、从create-react-app学习配置、loader详解、Plugin详解、常见plugin使用指南)
6 持续集成与部署
- CI/CD简介
- 持续集成(巧用github、CI平台,一jenkyins为例)
- 部署(前后的分离、发布策略、多环境发布)
- 虚拟化(docker、kubernetes)
7 Git
- Git原理介绍
- Git基础操作 - 常用命令
- Git进阶(rebase作用、reset和revert的区别、reflog、cherry-pick、git和shell结合)
- 前端工程化应用 - busky-link-staged
8 效率工具
- 真机远程代码调试
- ‘无线’调试
- 移动端调试
- 使用代理攻击进行
- 公网访问本地服务
- 随机数据的生成
- restful api 快速
- svrx