JS


typeof
何时使用 === 何时使用==
JS中有哪些内置函数
基础类型(ES6 symbol) 应用类型
JS变量按照存储方式区分为哪些类型,并描述其特点
如何理解JSON
日期格式
随机数·长度固定的字符串
遍历对象和数组的通用forEach函数

如何检测浏览器的类型
拆解url各个部分

加载资源的类型
加载一个资源的过程
浏览器渲染页面的过程

垃圾回收机制
排序算法(冒泡)
如何深度克隆
详细解释AJAX的工作原理

css权重

window.onload和DOMContentLoaded的区别

性能优化
安全性-XSS跨站请求攻击·XSRF跨站请求伪造

原型


判断数组
原型链继承的例子
描述new一个对象的过程
zepto/JQuery源码中如何使用原型链
说一下zepto/JQuery插件机制
结合自己的开发经验,做过的基于原型的插件

对变量提升的理解
this几种不同的使用场景
创建10个a标签, 点击的时候弹出来对应的序号
如何理解作用域
实际开发中闭包的作用

异步


同/异步
什么是单线程,和异步什么关系
什么是event-loop
是否用过JQuery的Deferred
Promise的基本使用和原理
介绍一下asyne/await(和Promise的区别、联系)
setTimeout笔试题
前端使用异步的场景有哪些
总结一下当前JS解决异步的方案

ES6


ES6模块化如何使用,开发环境如何打包
Class和普通构造函数有何区别
Promise的基本使用和原理
ES6其他常用功能 let/const/箭头函数/模版字符串/解构赋值/函数默认参数/块级作用域

虚拟dom


vistual dom是什么?为何会存在vistual dom
vistual dom如何使用,核心API是什么 - snabbdom.h.patch(container,vnode).patch(vnode,newVnode)
介绍一下diff算法

Vue


如何理解MVVM
如何实现MVVM
是否解读过vue的源码

使用JQuery和使用框架的区别
选择框架的理由·vue·react·两者的区别
vue中如何实现响应式(vue双向数据绑定的原理)· Object.defineProperty
vue中如何解析模版
vue的整个实现流程

项目经验

项目中最难的点