- HTML里常见的单位[★★]
- video标签会预加载视频吗[★]
- CSS盒模型[★]
- 如何实现盒子水平垂直居中[★★★★]
- 左边固定,右边自适应的布局(尽可能多的方法)[★★★]
- 选择器排序[★]
- 怎么实现动画一个元素从左滑到右[★★]
- inline、inline-block、block的区别[★★★]
- 外边距重叠[★★]
- src和href区别[★]
- 什么是闭包[★★★★★]
- 关于闭包的应用题[★]
- undefined和null区别[★★]
- JavaScript中怎么判断相等[★]
- let const var的区别[★★★★]
- JavaScript的基本数据类型+ES6新增[★★★]
- 箭头函数相关[★★]
- this指向/变量声明提升/作用域链问题[★]
- 匿名函数(自执行函数IIFE)的作用是什么[★]
- 数组去重[★]
- Promise的串行调用[★★]
- 原型链/原型链继承[★★★]
- 封装个可以检测所有数据类型的函数[★]
- 每隔一秒打印数组里的元素[★★]
- 实现数组的扁平化[★]
- async函数与Promise的区别[★]
- JavaScript文件在HTML文件里的执行顺序[★]
- 有哪些方式可以判断是否是数组[★★]
- 设计模式[★]
- 箭头函数相关[★★]
- 数组去重[★]
- let const var的区别[★★★★]
- JavaScript的基本数据类型+ES6新增[★★★]
- 发布订阅模式[★]
- 实现Promise的all方法[★]
- DOM事件的捕获、冒泡和委派[★★]
- 实现图片懒加载[★★]
- 脚本如何全局检测错误[★]
- 如何监听input里内容的改变[★]
- 事件的target/currentTarget的区别[★★]
- Vue的响应式(双向绑定)原理[★★★★]
- 对virtual DOM的理解[★]
- 讲一下nextTick的原理[★]
- Vue生命周期[★★★]
- computed和watch[★★]
- 讲一下vuex[★★★]
- Vue和React的区别是什么[★]
- Vue中key的作用[★★★]
- 对virtual DOM的理解[★]
- React里key的作用[★]
- TCP/UDP区别[★★]
- 怎么实现跨域[★★]
- 讲一下HTTP的缓存[★]
- HTTP状态码301和302[★★]
- HTTP状态码304[★★]
- TCP的慢启动算法[★]
- 输入URL到浏览器显示页面的过程[★★]
- HTTP1.0/1.1/2.0/3.0[★★★]
- 模块化规范[★]
- 版本号排序[★]
- 复原IP地址[★]
- 两个二维矩阵相乘[★]
- 数组去重[★]
- 写快排[★]
- 合并有序数组[★★]
- 实现数组的扁平化[★]
- 找出字符串中第一个不重复的字符[★]
- 合并两个有序链表[★]
- 买卖股票的最佳时机[★]
- 二叉树后序遍历[★★]
- 合并区间[★]
- 字符串数字相加[★]
- 随机数(洗牌算法)[★]
- 实现trim功能[★]
- 类似逆波兰表达式的题[★★]
- 十进制转二十六进制[★]
- 找出位置连续的最长递增序列[★]
- 二叉搜索树的第K大的值[★]
面试建议!必看[★★★★★]