js
- getPrototypeOf 与 getAttribute 区别
- typeof instanceof 区别,instanceof 实现
- 基本类型 引用类型 有哪些;
如何判断一个变量的类型 - 原型链
- 函数作用域链
new 的过程- call apply 的过程(改变this指向)
- es5
继承;组合继承与原型链继承区别 - es5继承 与 es6继承 的区别;
super做了什么;class 类实现过程 - 垃圾回收
eventloop微任务 宏任务;微任务里产生的宏任务什么时候执行(Promise setTimeout 打印顺序题)- 深拷贝 浅拷贝
- if else switch case 优化
- 装饰器
- 设计模式(策略模式)
- es5
xhres6fetch区别 - encodeURI 和 encodeURICompoent
- setTimeout 中的错误捕获、异步错误捕获
闭包如何产生 为什么可以访问到 作用 弊端;addEventListener 事件是不是闭包- 箭头函数与普通函数区别
- for in 和 for of
- map set
- forEach map(如何使用forEach渲染组件)
AST语法树- http 如何上传文件
- 函数作用域 块级作用域
- var let
- let const
- 如何使一个对象属性不可更改(defineProperty writable)
defineProperty与 proxy 区别- defineProperty 还有哪些属性
- defineProperty 属性可以更改多次吗,如何只更改一次(可以多次;设置 configurable 为false)
- 如何判断一个对象是 proxy
- reflect 是什么
- this指向
- bind做了什么,实现
- Symbol (除了用随机数还能如何生成唯一值)
- Promise.all 并行还是顺序
- Promise.all 与 Promise.race 区别
- async await
- 调用 async 函数不加 await,返回什么
- await 一个不是async的函数,返回什么
- await 普通值或promise,返回什么
- ...
- ts type 与 interface 区别
浏览器
- localStorage 如何扩容
localStorage与cookie区别- cookie 与
session区别 - session 如何存储
- 加载js阻塞页面渲染吗
节流防抖实现 应用重排重绘;如何避免重绘- 多进程浏览器是怎样的
- 多个worker会有几个进程
- worker 通信,同源策略,作用,有什么限制,可不可以访问 IndexedDB(yes)/localstorage(no),可不可以携带cookie(no)
- service worker 是什么
iframe 如何通信,除了postMessage还有什么- 使用 iframe 的弊端(如何实现保留状态栏)
- cdn优点
- svg vs iconfont
- 跨域解决方案
css
css 优先级!important > 行内 > id > 类- 边框 0.5 px
BFC IFC垂直居中- 三角形 梯形
- 伪类 伪元素区别
- em rem区别
- 自适应布局 弹性布局区别
- H5 1px 现象,为什么
- 子元素要求宽高1:1,且随父元素的增大而增加宽高,始终保持子元素宽高1:1
- 父div(BFC) 子img,都没有宽高限制
- 子img会如何展示
- 子img下方和div会有一段间隙 为什么(BFC中的IFC会按照基线对齐)
react
- class function 组件区别
为什么有 hook;hook 基于 class 的好处hook 为什么不能写在if里useeffect 代替 class 组件哪些声明周期- React.memo / React.lazy
- usecallback useMemo 区别
- 合成事件 16 17
- react15 16区别
react diff算法(单节点 多节点)- setState 为什么可以更新视图
- setState 是同步还是异步
- 父子通信
- 废除的生命周期有哪些 为什么
fiber 架构;react fiber之前的架构- fiber node 有哪些属性
- 时间切片(如何判断当前帧是否还有剩余时间)
- 双缓存树
- react 数据流
- react 状态管理
react-router 类型 实现- 一个带有特殊占位符的字符串,将占位符改为组件
网络
- http 与 https 区别
- https 加密 对称 非对称;为什么用对称加密
网络攻击(XSS, CSRF), 现象、防御、属于哪种类型- 缓存
状态码 401 403 301 302 304- http2.0
- request 与 response 头有哪些
- 多次 post 怎么办(除了防抖还有什么办法,axios 取消上一次...)
- 请求时序问题,input 输入,先发的请求后返回结果,如果保证拿到的数据是对的
算法
- 动态规划 爬楼梯
- 回溯 八皇后
- 树前中序遍历(非递归)
- 对两个已经排好序的数组排序
- 链表倒数第 k 个(时间复杂度O(n),空间复杂度O(1))
webpack
- 基础配置
- tree-shaking
- babel plugin区别
- commonjs 与 es6 模块区别
- 热更新如何实现
- 什么样的模块会在 common.js 中
- 如何打包出多个文件
- 优化