课程试听
正在播放
第一章 工作篇
1-1 工作篇
  • 工作篇
第二章 前端市场篇
2-1 前端开发-市场篇
  • 前端市场篇
第三章 求职篇
3-1 求职篇
  • 求职篇1简历制作
  • 求职篇2简历投递技巧
  • 应聘渠道使用技巧
第四章 面试篇
4-1 面试篇
  • 面试篇1
  • 面试篇2
第五章 试用期篇
5-1 试用期
  • 试用期篇1
  • 试用期篇2
第六章 前端就业加强课
6-1 内容介绍【react面试题是选学,参考讲义即可】
  • 00-内容介绍
6-2 HTML+CSS
  • 01-HTML基础-HTML5的基本认知
  • 02-HTML基础-data-开头的元素属性是什么
  • 03-HTML基础-谈谈你对 HTML 语义化的理解?
  • 04-HTML基础-HTML5 对比 HTML4 有哪些不同之处?
  • 05-HTML基础-meta 标签有哪些常用用法?
  • 06-HTML基础-img 标签的 srcset 的作用是什么?
  • 07-HTML基础-响应式图片处理优化Picture标签
  • 08-HTML基础-在 script 标签上使用 defer 和 async 的区别是什么?
  • 09-HTML基础-前端做本地存储的方式有哪些
  • 10-CSS基础-CSS选择器的优先级
  • 11-CSS基础-通过CSS的哪些方式可以隐藏页面上的元素
  • 12-CSS基础-px, em, rem之间的区别
  • 13-CSS基础-让元素水平居中的方法有哪些(4种)
  • 14-CSS基础-在 CSS 中有哪些定位方式
  • 15-CSS基础-如何理解 z-index, z-index的小坑
  • 16-CSS基础-如何清除浮动
  • 17-CSS基础-谈谈你对 BFC 的理解
  • 18-CSS基础-什么是CSS Sprites以及它的好处
  • 19-CSS基础-你对媒体查询的理解是什么样的?(响应式适配)
  • 20-CSS基础-你对盒模型的理解是什么样的?标准盒子模型和怪异盒子模型的区别是什么
  • 21-CSS基础-说说伪类和伪元素的区别
  • 22-CSS基础-谈谈你对 flex 的理解
6-3 JavaScript基础
  • 23-JS基础-解释下什么是变量提升
  • 24-JS基础-JS的参数以什么方式传递的
  • 25-JS基础-JavaScript垃圾回收01
  • 26-JS基础-JavaScript垃圾回收02
  • 00-简要复习
  • 01-JS基础-谈谈你对 JavaScript 作用域链的理解
  • 02-JS基础-谈谈你对闭包的理解
  • 03-JS基础-闭包补充说明
  • 04-JS基础-数据类型的隐式转换规则(了解)
  • 05-JS基础-谈谈你对原型链的理解
  • 06-JS基础-为什么要有继承
  • 07-JS基础-继承-原型继承
  • 08-JS基础-继承-组合式继承
  • 09-JS基础-继承-寄生组合式继承
  • 10-JS基础-es6-class 实现继承 extends
  • 11-JS基础-如何判断是否是数组
  • 12-JS基础-this指向的整理
  • 13-JS基础-this小练习-箭头函数中的this问题
  • 14-JS基础-Promise的静态方法
  • 15-JS基础-宏任务和微任务
  • 16-JS基础-宏任务微任务练习题1
  • 17-JS基础-宏任务微任务练习题2
6-4 HTTP协议
  • 18-HTTP协议-HTTP的常见方法
  • 19-HTTP协议-GET方法和POST方法有何区别
  • 20-HTTP协议-请求报文的组成部分
  • 21-HTTP协议-响应报文的组成部分
  • 22-HTTP协议-状态码-2xx
  • 23-HTTP协议-状态-3xx(重点记忆304)
  • 24-HTTP协议-状态码(4xx和5xx)400,401
  • 25-HTTP协议-keep-alive是什么(复用连接)
  • 26-简要小结
  • 01-HTTP协议-为什么需要HTTPS
  • 02-HTTP协议-对称加密
  • 03-HTTP协议-非对称加密和HTTPS的加密解决方案
  • 04-HTTP协议-数字证书(保证你正在访问的网站是安全的-登记了该网站和该网站公钥信息)
  • 05-HTTP协议-数字签名和小结
  • 06-HTTP协议-HTTP2和HTTP1相比的优势
  • 07-HTTP协议-http缓存的基本认知
  • 08-HTTP协议-强缓存的认知
  • 09-HTTP协议-协商缓存认知
  • 10-HTTP协议-整体巩固
  • 11-HTTP协议-整体缓存流程图
6-5 TCP协议
  • 12-TCP协议-一次完整的http服务的流程
  • 13-TCP协议-什么是DNS解析
  • 14-TCP协议-三次握手
  • 15-TCP协议-四次挥手
6-6 浏览器原理
  • 16-DOM-事件流和事件委托
  • 17-浏览器原理-浏览器是如何解析选择器的-1
  • 18-浏览器原理-如何解析选择器的-2
  • 19-浏览器原理-浏览器是如何进行界面渲染的
  • 20-浏览器原理-重排和重绘的认知
  • 21-浏览器原理-浏览器对于重绘重排的优化
  • 22-浏览器原理-如何从重绘和重排角度优化性能
  • 00-复习回顾
  • 01-浏览器原理-前端如何实现即时通信
  • 02-浏览器原理-同源策略和跨域
6-7 前端工程化
  • 03-前端工程化-babel的原理
  • 04-前端工程化-babel实现插件
  • 05-前端工程化-git工作流
  • 06-前端工程化-git的rebase和merge的区别
  • 07-前端工程化-git的reset回退和revert撤销
6-8 Vue相关
  • 08-vue相关-什么是MVVM
  • 09-vue相关-谈谈对于vue生命周期的理解
  • 10-vue相关-组件通信-父子props和$emit
  • 11-vue相关-组件通信-$children $parent $refs
  • 12-vue相关-组件通信-provide inject
  • 13-vue相关-组件通信-$attrs和$listeners
  • 14-vue相关-组件通信-vuex
  • 15-上午回顾
  • 16-vue相关-computed和watch的区别
  • 17-vue相关-vue双向数据绑定的原理
  • 18-vue相关-响应式系统原理(dep收集依赖-数据变化后-根据依赖派发更新)
  • 19-vue相关-key的作用
  • 20-vue相关-Vue 跳转路由时的传参方式 (query和params的区别)
  • 21-vue相关-vue项目进行SEO优化
  • 22-vue相关-vue项目权限控制
  • 23-vue相关-vue项目支付功能
  • 24-vue相关-如何处理打包出来的项目首屏加载过慢
  • 25-vue相关-你在项目中遇到过什么技术难题
  • 26-vue相关-请简单介绍一下你们的项目
第七章 Vue面试题精讲【含Vue3】
7-1 Vue核心知识点
  • 1、课程介绍
  • 2、Vue基本使用介绍
  • 3、属性绑定
  • 4、列表渲染
  • 5、v-model
  • 6、v-on
  • 7、Class与Style绑定
  • 8、条件渲染
  • 9、计算属性
  • 10、侦听器
  • 11、生命周期简介
  • 12、生命周期探讨1
  • 13、生命周期探讨2
  • 14、生命周期探讨3
  • 15、生命周期探讨4
  • 16、组件概述
  • 17、组件基本使用
  • 18、局部组件使用
  • 19、父组件向子组件传值
  • 20、子组件向父组件传值
  • 21、兄弟组件传值
  • 22、插槽简介
  • 23、插槽基本创建
  • 24、具名插槽
  • 25、作用域插槽应用
  • 26、作用域查看案例
  • 27、插槽总结
  • 28、Vue组件化的理解
  • 29、Vue.set方法
  • 30、Vue.delete方法
  • 31、$on与$emit方法
  • 32、自定义组件实现双向绑定
  • 33、使用插槽完成内容分发
  • 34、事件总线
  • 35、$once与$off
  • 36、ref 和vm.$refs
  • 37、过滤器基本使用
  • 38、带参数的过滤器
  • 39、自定义指令基本使用
  • 40、 自定义指令-带参数
  • 41、自定义局部指令
  • 42、渲染函数
  • 43、混入
  • 44、插件介绍
7-2 Vue-Router知识点
  • 1、路由简介
  • 2、路由基本使用
  • 3、路由重定向
  • 4、路由嵌套
  • 5、动态匹配路由的基本用法
  • 6、路由组件传递参数
  • 7、命名路由
  • 8、编程式导航
  • 9、路由案例-渲染根组件
  • 10、将菜单改造为路由连接
  • 11、添加子路由规则并实现路由重定向
  • 12、渲染用户列表数据
  • 13、跳转到详情页
  • 14、路由全局守卫
  • 15、路由独享守卫
  • 16、组件内守卫
  • 17、addRoutes动态路由添加
  • 18、路由组件缓存
  • 19、Hash模式与History模式
  • 20、History模式使用1
  • 21、History模式2
  • 22、Nginx配置History模式
  • 23、复习VueRouter工作原理
  • 24、install方法实现
  • 25、构造方法创建
  • 26、解析路由规则
  • 27、创建router-link组件
  • 28、测试
  • 29、构建render函数
  • 30、构建router-view组件
  • 31、解决组件加载问题
  • 32、解决前进与后退问题
  • 33、复习总结
  • 34、查看Vue.use方法源码
  • 35、VueRouter目录结构分析
  • 36、VueRouter类初步创建
  • 37、install方法第二种方式实现
  • 38、组件创建测试
  • 39、解析路由规则1
  • 40、路由规则解析2
  • 41、路由规则解析完成
  • 42、match方法实现
  • 43、历史记录处理
  • 44、不同路由模式判断处理
  • 45、代码测试
  • 46、定义响应式路由属性
  • 47、创建$route与$router
  • 48、组件渲染1
  • 49、组件渲染2
  • 50、组件渲染完成
7-3 Vue响应式原理
  • 1、课程目标
  • 2、数据驱动介绍
  • 3、defineProperty基本使用
  • 4、defineProperty使用2
  • 5、Vue3响应式原理
  • 6、发布订阅模式介绍
  • 7、发布订阅模式实现
  • 8、观察者模式
  • 9、模拟Vue响应式原理
  • 10、创建Observer类
  • 11、完善defineReactive方法
  • 12、Compiler类结构
  • 13、 compile方法实现
  • 14、compileText方法实现
  • 15、compileElement方法实现
  • 16、Dep类分析
  • 17、创建Dep类
  • 18、创建Watcher类
  • 19、创建Watcher对象
  • 20、创建Watcher对象2
  • 21、实现双向数据绑定
  • 22、响应式的问题
7-4 Vue虚拟DOM
  • 1、课程目标
  • 2、虚拟DOM介绍
  • 3、为什么使用Virtual DOM
  • 4、虚拟DOM的作用
  • 5、创建项目
  • 6、Snabbdom导入
  • 7、Snabbdom的基本使用
  • 8、 Snabbdom的基本使用2
  • 9、模块的基本使用
  • 10、h函数介绍
  • 11、Vnode函数
  • 12、虚拟DOM创建过程
  • 13、patch函数执行过程介绍
  • 14、init函数源码查看
  • 15、patch函数源码查看
  • 16、调试patch函数
  • 17、createElm函数源码解读
  • 18、addVnodes和removeVnodes方法
  • 19、patchVnode方法执行流程
  • 20、patchVode方法源码分析
  • 21、diff算法比较流程1
  • 22、diff算法比较2
  • 23、diff算法比较3
  • 24、diff算法比较4
  • 25、updateChildren方法源码分析1
  • 26、updateChildren方法源码分析2
  • 27、钩子函数介绍
  • 28、模块源码分析
  • 29、模块调用的时机分析
7-5 Vuex状态管理
  • 1、课程介绍
  • 2、状态管理介绍
  • 3、简易的状态管理
  • 4、Vuex介绍
  • 5、Vuex核心概念
  • 6、State应用
  • 7、Getters应用
  • 8、Mutation应用
  • 9、Action应用
  • 10、Module应用
  • 11、Vuex严格模式
  • 12、购物车案例介绍
  • 13、商品列表
  • 14、添加购物车
  • 15、购物车列表展示
  • 16、计算商品数量与价格
  • 17、删除购物车中商品
  • 18、购物车商品展示
  • 19、实现全选功能
  • 20、处理文本框
  • 21、实现选中商品的统计功能
  • 22、存储购物车中的商品数据
  • 23、模拟Vuex上
  • 24、模拟Vuex下
  • 25、总结
7-6 Vue服务端渲染
  • 1、服务端渲染介绍
  • 2、渲染的概念
  • 3、传统服务端渲染
  • 4、客户端渲染介绍
  • 5、客户端渲染问题描述
  • 6、什么是同构渲染
  • 7、同构渲染的问题
  • 8、初始化NuxtJS项目
  • 9、基本路由规则
  • 10、路由导航
  • 11、动态路由
  • 12、嵌套路由
  • 13、获取异步数据
  • 14、获取异步数据2
  • 15、上下文对象
  • 16、渲染Vue实例
  • 17、创建web服务器
  • 18、模板使用
  • 19、向模板中传递数据
  • 20、问题说明
  • 21、创建目录结构
  • 22、Webpack配置1
  • 23、Webpack配置2
  • 24、配置构建命令
  • 25、测试打包
  • 26、实现客户端交互
  • 27、解析渲染的流程
7-7 Vue常见面试题
  • 1、watch问题
  • 2、v-if与v-show
  • 3、循环列表
  • 4、组件通信
  • 5、生命周期问题
  • 6、v-model问题
  • 7、$nextTick问题
  • 8、动态组件问题
  • 9、异步加载组件
  • 10、keep-alive
  • 11、mixin
  • 12、MVVM
  • 13、defineProperty问题1
  • 14、defineProperty问题2
  • 15、vue如何监听数组的变化
  • 16、虚拟DOM和diff算法
  • 17、模板编译与渲染
  • 18、常见面试题说明
7-8 Vue源码解读
  • 1、准备工作
  • 2、查找入口文件
  • 3.查看入口代码
  • 4、查看入口代码2
  • 5、Vue初始化过程
  • 6、Vue初始化过程2
  • 7、静态成员初始化
  • 8、extend源码分析
  • 9、Vue.use方法源码分析
  • 10、Vue.mixin与Vue.extend方法源码
  • 11、initAssetRegisters方法源码
  • 12、Vue实例成员
  • 13、init方法
  • 14、initState方法
  • 15、总结
  • 16、响应式处理的入口
  • 17、Observer
  • 18、defineReactive
  • 19、依赖收集
  • 20、数组响应式处理
  • 21、数组响应式练习题
  • 22、总结响应式处理过程
7-9 Vue3.0
  • 1、Vue3简介
  • 2、Composition API 设计动机
  • 3、Vue3性能提升介绍
  • 4、Vite介绍
  • 5、Composition API基本使用
  • 6、生命周期钩子函数使用
  • 7、toRefs函数应用
  • 8、ref函数应用
  • 9、计算属性应用
  • 10、watch函数应用
  • 11、watchEffect函数应用
  • 12、todolist项目结构说明
  • 13、添加功能实现
  • 14、删除功能实现
  • 15、编辑操作实现1
  • 16、编辑操作实现2
  • 17、修改任务状态
  • 18、过滤任务状态
  • 19、清除已经完成的任务
  • 20、完成数据持久化
  • 21、总结
第八章 JavaScript面试精讲
8-1 JavaScript基础面试题
  • 1、课程简单介绍
  • 2、基本数据类型与引用类型区别
  • 3、哪些场景中会出现undefined
  • 4、哪些场景中会出现null
  • 5、undefined与null之间的比较
  • 6、Boolean类型转换问题
  • 7、Number类型注意事项
  • 8、Number函数转换规则
  • 9、parseInt函数转换规则
  • 10、parseFloat函数说明
  • 11、 isNaN( )函数与Number.isNaN( )函数区别
  • 12、字符串创建方式以及对应的区别
  • 13、怎样实现字符串逆序输出
  • 14、怎样统计出现最多的字符1
  • 15、怎样统计出出现最多字符2
  • 16、怎样实现字符串去重操作1
  • 17、怎样实现字符串去重操作2
  • 18、判断字符串是否为回文字符串1
  • 19、判断字符串是否为回文字符串2
  • 20、双等运算符与三等运算符区别
  • 21、typeof运算符
  • 22、判断变量是否为空的方法
  • 23、switch结构问题
8-2 引用类型
  • 1、引用数据类型与基本类型区别复习
  • 2、new操作符的作用
  • 3、原型对象理解
  • 4、属性访问与判断问题
  • 5、Object.create方法基本使用
  • 6、Object.create方法实现原理
  • 7、Object.create方法应用场景
  • 8、Object.create( )与new Object()的区别
  • 9、模拟new操作符的实现
  • 10、什么是原型链
  • 11、原型链有什么特点
  • 12、怎样判断一个属性是实例自身的还是原型链上的
  • 13、怎样判断一个变量是否为数组类型---instanceof
  • 14、怎样判断一个变量是否为数组类型---构造函数
  • 15、怎样判断一个变量是否为数组类型--toString函数
  • 16、类型判断注意事项
  • 17、怎样过滤数组中的数据
  • 18、怎样完成数组元素的累加操作
  • 19、完成数组中最大值与最小值统计
  • 20、常见的数组遍历方式有哪些
  • 21、手动模拟实现find函数
  • 22、手动模拟实现filter函数
  • 23、手动模拟实现some函数
  • 24.手动模拟实现every函数
  • 25、手动模拟实现map函数
  • 26、手动模拟实现reduce函数
  • 27、怎样实现数组的去重操作1
  • 28、怎样实现数组去重操作2
  • 29、怎样实现数组去重操作3
  • 30、获取数组中最多的元素1
  • 31、获取数组中最多的元素2
8-3 函数常见问题讲解
  • 1、函数定义的方式
  • 2、Function构造函数问题
  • 3、函数表达式应用场景介绍
  • 4、函数声明与函数表达式区别
  • 5、函数调用的方式
  • 6、实参与形参的区别
  • 7、介绍一下arguments对象
  • 8、arguments应用场景分析
  • 9、构造函数与普通函数有什么区别
  • 10、什么是作用域
  • 11、什么是作用域链
  • 12、作用域与作用域链的常见面试题1
  • 13、作用域与作用域链的常见面试题2
  • 14、变量提升
  • 15、函数提升
  • 16、函数提升问题
  • 17、执行上下文环境
  • 18、闭包
  • 19、闭包应用1
  • 20、闭包应用2
  • 21、闭包常见面试题1
  • 22、闭包常见面试题2
  • 23、闭包常见面试题3
  • 24、闭包优点与缺点
  • 25、this指向问题1
  • 26、this指向问题2
  • 27、this指向问题3
  • 28、call()函数,apply( )函数,bind( )函数的使用
  • 29、应用场景1
  • 30、应用场景2
  • 31、手动实现call函数
  • 32、手动实现apply函数
  • 33、手动实现bind函数
  • 34、回调函数问题
  • 35、函数为什么被称为一等公民
8-4 对象常见问题讲解
  • 1、 Object.defineProperty方法使用
  • 2、属性访问方式区别
  • 3、创建对象的方式以及优缺点1
  • 4、创建对象的方式以及优缺点2
  • 5、什么是浅拷贝
  • 6、什么是深拷贝
  • 7、深拷贝模拟实现1
  • 8、深拷贝模拟实现2
  • 9、重写原型对象的问题
  • 10、原型链继承
  • 11、构造函数继承
  • 12、拷贝继承
  • 13、组合继承
  • 14、寄生式组合继承
  • 15、模拟jQuery--基本结构实现
  • 16、模拟jQuery--this指向问题
  • 18、模拟jQuery-html方法实现
  • 19、模拟jQuery-extend方法实现
  • 20、模拟jQuery-为标签添加样式
  • 21、模拟jQuery-复习
  • 22、模拟jQuery--封装独立命名空间
  • 23、对象常见问题总结
8-5 DOM与事件
  • 1、DOM与事件常见问题说明
  • 2、常见选择器介绍
  • 3、HTMLCollection对象与NodeList对象区别
  • 4、常见DOM操作1
  • 5、常见DOM操作2
  • 6、DOM性能问题
  • 7、事件传播介绍
  • 8、什么是事件捕获
  • 9、什么是事件冒泡
  • 10、阻止事件冒泡
  • 11、事件冒泡与事件捕获综合问题
  • 12、Event对象使用
  • 13、事件模型1
  • 14、事件模型2
  • 15、事件模型3
  • 16、事件委托1
  • 17、事件委托2
  • 18、浏览器重排介绍
  • 19、浏览器重绘介绍
8-6 Ajax常见问题讲解
  • 1、Ajax介绍
  • 2、Ajax创建流程
  • 3、Ajax优缺点总结
  • 4、Get请求与Post请求区别
  • 5、Get和Post请求的应用场景总结
  • 6、浏览器同源策略
  • 7、为什么浏览器会有跨域限制的问题
  • 8、跨域问题演示
  • 9、CORS
  • 10、JSONP
8-7 ES6
  • 1、let与var区别
  • 2、为什么需要块级作用域
  • 3、块级作用域
  • 4、let命令注意事项
  • 5、const命令注意事项
  • 6、数组解构赋值
  • 7、对象解构赋值
  • 8、解构赋值好处
  • 9、扩展运算符基本使用
  • 10、扩展运算符应用场景
  • 11、rest运算符使用、优势、注意事项
  • 12、箭头函数基本使用
  • 13、箭头函数中this指向的问题
  • 14、箭头函数不适合的场景说明
  • 15、Object.assign方法应用
  • 16、Object.assign方法注意事项
  • 17、什么是Symbol
  • 18、Symbol应用场景
  • 19、Proxy介绍
  • 20、Proxy应用场景
  • 21、Proxy应用场景2
  • 22、Proxy应用场景3
  • 23、Set结构
  • 24、Generator函数基本使用
  • 25、Generator函数面试题
  • 26、Generator函数问题
  • 26、Generator函数中的this问题
  • 27、Generator函数应用场景1
  • 28、Generator函数应用场景2
  • 29、回调地狱问题
  • 30、同步的问题
  • 31、Promise基本使用
  • 32、Promise封装Ajax操作
  • 33、Promise常见误区
  • 34、Promise链式调用问题
  • 35、Promise异常处理
  • 36、Promise并行处理
  • 37、Promise.race方法
  • 38、Promise静态方法
  • 39、Promise执行顺序的问题
  • 40、模拟Promise-搭建基本结构
  • 41、模拟Promise-异常处理
  • 42、模拟Promise--then方法处理
  • 43、模拟Promise-基本测试
  • 44、模拟Promise-完善操作
  • 46、常见的异步编程方式总结
  • 47、async介绍
  • 48、async函数应用
  • 49、async处理异步请求
  • 50、请求依赖关系的处理
  • 51、并行处理的问题
8-8 模块化
  • 1、模块化的发展过程
  • 2、常见模块化标准介绍
  • 3、ES Module特性说明
  • 4、模块导出操作
  • 5、导出的注意事项
  • 6、导入的注意事项
  • 7、导入与导出应用技巧
8-9 JavaScript性能优化的问题
  • 1、什么是内存管理
  • 2、什么是垃圾回收
  • 3、什么是GC算法
  • 4、引用计数算法实现原理分析
  • 5、引用计算算法的优点与缺点
  • 6、标记清除算法介绍
  • 7、标记清除算法的问题说明
  • 8、标记整理算法介绍
  • 9、V8引擎介绍
  • 10、V8引擎垃圾回收1
  • 11、V8引擎垃圾回收2
  • 12、V8引擎垃圾回收3
  • 13、全局变量的问题
  • 14、全局变量问题2
  • 15、方法问题
  • 16、闭包的问题
  • 17、循环的问题
  • 18、代码层级问题
  • 19、作用域问题
  • 20、class基本使用
  • 21、class原理分析
  • 22、class继承实现