紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
浏览器控制台工具应用
面向对象开发
函数式开发
纯函数
递归函数
回调函数
组合函数
缓存函数
柯里化函数
偏函数
函数防抖与节流
高级函数
IIFE函数
模块化、
数学对象
高级数组方法(reduce、filter、map、every、some、forEach、find、findIndex、include)等、
高级对象方法(entires、defineProperty、freeze、fromEntries、assign、keys、create、hasOwnProperty)等
this通过bind、call、apply指向偏移、同步与异步、闭包模块化、数据形变处理、性能处理
2、DOM/BOM
DOM对象与方法
节点与遍历树
DOM选择器
DOM节点增删改查
DOM样式操作
DOM位置获取与偏移
DOM对象与标签区别
DOM虚拟化
DOM事件
Event对象
定时器与监听器
事件委托
事件代理
事件分流
事件冒泡
默认行为
事件捕获
防抖
节流
滚动
键盘行为
事件降频
行为锁机制
拖拽模组
碰撞检测
距离判断
三角函数
方向判断
运动框架
弹性运动
重力加速度
DOM树
CSSOM树
渲染解析
加载
回流
重绘
浏览器线程与阻塞
BOM深入
window对象
Navigator
History
Screen
Location
spa概念
本地传参
日期对象使用
日期格式化封装
随机封装
DOM分片容器
3、JS业务应用扩展
JSON对象
数据解析
JSON方法
模板渲染
缓存懒加载
正则表达式RegExp
元字符
修饰符
正向预查
贪婪模式
replace方法
分组与不分组
test、match与exec
正则库封装
表单校验
图片预存懒加载
自定义封装滚动组件
多重轮播(循环、视差、旋转木马)、选项卡切换、楼梯导航、吸顶导航、拖拽导航 、
JavaScript编码风格指南
console应用技巧
4、ECMAScript5 — ECMAScript9扩展
版本解读
应用环境
let、const
解构赋值
箭头函数
对象解构
reset参数解构
Class
Set
Get
Extends
Super
Static
private实现
symbo
Promise
proxy代理拦截
async/await
对象新增API
数组新增API
字符串新增API
原型属性
对象修饰
代理拦截
链式询问
空值合并运算符
泡泡龙面向对象游戏开发
三、HTML5 / 移动端开发 部分
1、HTML5标签与API
HTML5概念
定义
新增特性
DTD对比
新增H5标签
新增语义化H5标签
H5表单
H5拖拽事件
Video
Audio
fullScreen
FileReader文件流
Blob对象
sessionStorage
localStorage、
网络状态
页面生命周期
网页状态监听
地理信息与定位
canvas画布
worker多线程
Notifications桌面通知
播放器开发 canvas交互特效开发
移动端适配/事件
移动端适配概念
尺寸与分辨率原理
PPI与DPI计算
DIP与DPR设备像素概念
视口viewport概念
布局视口
视觉视口
理想视口
视口适配方案(Meta viewport)缩放设置
screen窗口大小API
媒体查询@media
rem适配
vw vh适配
移动端适配方案
flexible rem方案
vh vw方案
复合方案
高清适配方案
移动端字体缩放解决
1px边框问题解决
半像素线
图片高清适配
image-set
Srcset
js拼接URL技巧
IPhonex刘海屏适配
安全区域
fit与env
Meta权限管理
兼容优化
IOS头部底部闪屏回退输入框问题
输入法空格问题
默认首字母大写问题
滑动卡顿问题等
终端样式美化与访问判断
Touch事件组封装
click延迟处理
FastClick使用
禁用缩放设置理想视口
2、常用类库/工具
jquery:元素选择、增删改差、事件处理、位置获取、动画过渡、高级方法、特效应用
zepto:移动端的jquery、DOM操作、移动端事件、click延迟处理、touch事件组
基础UI库:layerUI 、easyUI、bootStrap、UI模块化、UI库使用技巧、文档解读、案例调试、表单系统iScroll、touchjs等移动端事件库使用
swiper:移动端网站触摸滑动、轮播图插件、模块化应用、源码解读
art-template:模板引擎 模板语法、渲染方法、原生模板引擎实现
CSS预处理:sass、less使用 stylus深入学习 、预处理语法、css编程、 Minxin 、预处理函数、继承、嵌套vscode高级插件与配置 liveserver sass 模板化应用 、预处理应用
3、date-picker移动端原生组件开发
需求分析
业务规则
技术栈选型
文件输出规则
技术分析
MVC模型概念与设计
业务逻辑分类
view层适配方案
原型布局搭建
模板化生成
工具函数开发
面向对象式业务设计
能类日期对象开发
交互业务封装
模块对接
优化设计
面向对象高级程序设计
四、Node与工程化开发
1、Node原生基础
Node基础概念
NPM命令
V8引擎概念
JavaScript模块化 CMD AMD UMD
EventLoop事件循环
同步异步
阻塞非阻塞
任务队列
宏任务
微任务
原生Node模块
核心模块与require
Module
触发器events与path模块
fs模块
Buffer对象
URL模块
HTTP模块
stream流
Node原生封装HTTP与文件服务器
2、Node框架
express框架使用
中间件
核心对象
路由配置
模板引擎
数据脚本
Router核心
CORS配置
错误处理
校验封装
PM2管理
nodemoon管理
MORGAN日志处理
查询正则捕获
中间件开发
bodyParse等第三方中间件使用
文件流上传下载
文件流切分
3、webpack工程化构建
工程化概念
工程化工具介绍
webpack基础知识
webpack配置与运行
plugin插件
loader使用
入口出口配置
模块modules
依赖处理
dev Server
target
文件切分
build打包
热处理
package管理
性能优化
测试处理
第三方插件使用
babel等
4、前后端数据交互
HTTP通信交互原理
请求响应
MIME
URI地址
报文解析
端口
报文流
测试监听抓包
TCP/IP握手机制
网络业务模型
代理
缓存
网关
隧道等概念
method与请求头分类
基础XMLHTTPRequest对象方法属性
方法
ajax异步交互
同源策略原理
原生js封装ajax交互
jquery的ajax封装交互
jsonp跨域处理
cors跨域处理
携带cookie与跨域处理
代理服务器跨域处理
cookie验证与通信
axios库的使用代理
封装
拦截
合并
二次封装
通信加密策略
数据对称加密
数据非对称加密
RSA加密实践
MD5加密实践
登录注册与鉴权机制
Authenticity认证
Token认证
JWT认证
session状态管理
oauth认证
5、RESTful接口设计
RESTful设计原则
状态码设计与规范
服务器响应规则与格式
前后端接口协议制定
Vue
-
什么是MVVM?
-
mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
-
组件之间的传值?
-
Vue 双向绑定原理
-
描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
-
虚拟 DOM 实现原理
-
Vue 中 key 值的作用?
-
Vue 的生命周期
-
Vue 组件间通信有哪些方式?
-
vue 中怎么重置 data?
-
组件中写 name 选项有什么作用?
-
Vue 的 nextTick 的原理是什么?
-
Vuex 有哪几种属性?
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】