课程试听
第一章 工作篇

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继承实现