- 介绍下重绘和回流
- 盒子模型
- CSS选择器有哪些?哪些属性可继承?
- CSS定义的权重?优先级?
- 简述伪类和伪元素
- CSS3新增的伪类有哪些?
- 实现水平居中布局的方案
- 实现垂直居中布局的方案
- 实现水平垂直居中布局的方案
- 两列/三列/多列布局实现的方案
- BFC及其应用
- 清除浮动的方法
- 常见的兼容性问题
- CSS绘制三角形、圆形、扇形、菱形
- CSS3动画
- 简述Rem及其转换原理
- 如何解决移动端Retina屏1px像素的问题?
- JavaScript类型判断
- JavaScript的类型转换(显示、隐式转换)
- JavaScript的原型与原型链
- JavaScript的执行上下文与执行上下文栈
- JavaScript的作用域与作用域链
- JavaScript的this
- JavaScript的闭包
- JavaScript的垃圾回收机制和内存泄露
- JavaScript创建对象的多种方式及优缺点
- JavaScript实现继承的多种方式及优缺点
- JavaScript数组去重的多种方式及优缺点
- JavaScript数组扁平化
- JavaScript实现数组原型上的遍历方法forEach、map、filter、some、reduce
- JavaScript模拟实现new关键字
- JavaScript模拟实现Object.create
- JavaScript模拟实现Object.assign
- JavaScript模拟实现JSON.stringify
- JavaScript模拟实现JSON.parse
- JavaScript模拟实现instanceof
- JavaScript模拟实现call、apply、bind
- JavaScript模拟实现compose
- JavaScript实现函数防抖和节流
- JavaScript实现函数柯里化和反柯里化
- JavaScript实现偏函数
- JavaScript实现浅拷贝和深拷贝
- JavaScript实现发布订阅模式
- JavaScript实现EventEmitter
- JavaScript实现图片懒加载
- JavaScript实现图片预加载
- js动画
- ES6 之 let 和 const
- ES6 之 模板字符串
- ES6 之 箭头函数
- ES6 之 模拟实现 Symbol 类型
- ES6 之 迭代器与 for of
- ES6 之 模拟实现一个 Set 数据结构
- ES6 之 WeakMap
- ES6 之 Promise
- ES6 之 Generator 的自动执行
- ES6 之 Async/await
- ES6 之异步处理实战
- ES6 之 Babel 将 Generator 编译成了什么样子
- ES6 之 Babel 将 Async 编译成了什么样子
- ES6 之 Babel 是如何编译 Class 的(上)
- ES6 之 Babel 是如何编译 Class 的(下)
- ES6 之 defineProperty 与 proxy
- ES6 之 模块加载方案
- ES6 之 我们来聊聊装饰器
- ES6 之 私有变量的实现
- ES6 完全使用手册
- 手写E6字符串模板
- 手写一个Promise
- 手写async/await
- TS中 interface 可以给 Function/Array/Class(Indexable) 做声明吗?
- TS中同名的 interface 或者同名的 interface 和 class 会合并吗?
- SPA、MPA的区别是什么?
- 简述 Vue 的生命周期以及每个阶段做的事
- 你对MVC、MVP和MVVM的理解
- 对Vue设计理念的理解
- 对Vue组件化的理解
- 你对v-model双向绑定原理的理解?
- Virtual DOM?它是如何提升性能的?
- 你对vue响应式原理的理解?
- 手写vue的数据响应式
- 你对vue编译原理的理解?从template到render的处理过程
- Vue实例挂载的过程中发生了什么?
- Vue的 diff 时间复杂度如何从O(n^3)优化到 O(n)?vue2和vue3 diff 有什么差异?
- Vue中的 key 作用?为什么建议不用index作为key?
- Vue要做权限管理该怎么做?控制到按钮级别的权限怎么做?
- 你是怎么处理vue项目中的错误?
- 了解哪些vue性能优化的方法
- vue渲染大量数据时应该怎么优化?
- 实际工作中,总结的vue最佳实践有哪些?
- 从0到1构架一个vue项目,说说有哪些步骤、哪些重要 插件、目录结构你会怎么组织?
- Vue v-if/v-for 哪个优先级更高?
- Vue v-show 和 v-if 的区别
- v-once 的使用场景有哪些?
- 自定义指令及其使用场景有哪些?
- computed、methods、watch 的区别?
- Vue的父组件和子组件生命周期钩子执行顺序是什么?
- Vue组件间的通信方式(9种)
- Vue中,子组件为何不可以修改父组件传递的Props?
- Vue如何扩展一个组件?
- Vue中什么是递归组件?举例说明下
- Vue中什么是异步组件?举例说明下
- Vue组件data为什么必须是个函数而Vue的根实例则没有此限制?
- nextTick是干什么的?实现原理是什么?
- keep-alive缓存的机制
- vue插槽是如何运作的?
- Vue2.0响应式原理中Object.defineProperty有什么缺陷?为什么在Vue3.0采用了Proxy?
- 介绍Object.defineProperty()
- 手写实现EventBus
- Vuex的设计思想
- Vuex中的getters和state的区别?
- Vuex中actions和mutations有什么区别?
- 为什么Vuex的mutation中不能做异步操作?
- 页面刷新后Vuex的state数据丢失怎么解决?
- 手写vuex(实现思路)
- 为什么需要构建工具?为什么选择webpack?
- webpack基本配置?
- webpack的热更新使用及原理分析(是如何做到在不刷新浏览器的前提下更新页面的)
- webpack的性能优化
- webpack构建原理