- JS 基础数据类型
var
/let
/const
的区别- 什么是闭包?【手写】闭包中怎么解决回收?
call
/apply
/bind
的区别?【手写】- 谈谈对原型和原型链的理解
- 隐式转换问题
- 如何准确判断数组?
- 什么是浅拷贝和深拷贝? 【手写】
- 继承的方式有哪些? 【手写】
extends
和寄生组合继承有什么区别?new
的原理是什么?返回值会影响什么? 【手写】- 什么是事件循环机制 (Event Loop) ?
- 哪些是微任务?哪些是宏任务?
- 谈谈对
Promise
的理解和认识 async/await
和Generator
函数的关系和区别- 箭头函数和普通函数的区别
for ... in
和for ... of
的区别- 有哪些获取对象 key 值的方法,都分别获取到的是怎么样的 key 值?
- 数组去重的方法
- 数组扁平化的方法
Map
/Set
/WeakMap
/WeakSet
的区别- 变量提升问题
- 什么是函数柯里化? 【手写】
- 链式调用 【手写】(LazyMan)
- 数组排序的方法及复杂度。sort 排序,用了什么排序?
- 字符串模板是怎么解析的?
try...catch
和Promise.catch
的区别?try...catch
能捕获Promise
里的错误吗?- 事件的三个阶段分别是?捕获目标冒泡 事件委托
map
和forEach
的区别- 栈和堆
JSON.stringfy
的缺点Proxy
和Object.defineProperty()
typeof
和instanceof
- 垂直水平居中
- CSS 优先级
flex: 0 1 auto
表示什么意思?position
的值都有哪些?分别呈现什么样的效果?- 浏览器渲染页面的步骤
- 什么是标准盒模型?什么是怪异盒模型?可以通过什么设置?
- flex 布局计算宽度问题
- 什么是回流 (reflow) 和重绘 (repaint) ?触发它们的行为有哪些?
- HTML5 新特性有哪些?
- 对语义化的理解
- async 和 defer 的区别
- BFC
- 伪类和伪元素
- 外边距塌陷、父容器高度塌陷
DOM0
/DOM2
/DOM3
- CSS 单位
px
/rem
/em
- tcp 三次挥手和四次握手
- http 状态码
- 缓存
- 数据存储
- 什么是跨域?如何处理跨域请求?
- 什么是简单请求?什么是复杂请求?
- Options 是干什么的?
Get
和Post
的区别http/1.0
/http/1.1
/http/2
/https
的区别和原理http
头部都有哪些?- CDN 是什么?获取最近节点资源的算法是什么?为什么可以实现 CDN 加速?
- 前端安全(中间人攻击劫持(MITM)、XSS、CSRF)
- JSONP
- Redis
- chrome 调试 performance
- TCP 和 UDP
JWT
Cookie
Session
的区别websocket
和keep-alive
- v8 垃圾回收
XMLHttpRequest
- 怎么设置会让 cookie 自动添加到请求头?
- 双栏布局、三栏布局(圣杯布局、双飞翼布局等)
- http 请求时有序的吗?如何保证有序?
- 并发调用只调用一次,怎么实现?
- 如何重新定义
getter
/setter
方法? - 请实现一个
retry
方法,在给定的次数中尝试,只要有一次成功即为成功,否则失败 - 节流 (throttle) 和 防抖 (debounce) 的实现,都有哪些场景?
- 如何判断一个单链有环?
- 如何判断循环引用?
- 请实现
Promise.any
/Promise.all
方法 - 请实现
Promise.race
/Promise.allSettled
方法
-
【React】 对 React 中 Hooks 的理解?
-
【React】 React 是如何渲染的?
-
【React】 React 是如何重新渲染的?
-
【CSS】 动画旋转
-
【React】 虚拟DOM
-
【Vue】 数据劫持
-
【Vue】 双向绑定
-
【Vue】 组件通信的方法
-
【React】 diff 算法
-
【操作系统】 线程与进程
-
【工程化】 webpack 怎么优化
-
【React】 React 中 setState 的理解
-
【工程化】 Tree shaking
-
【工程化】 首屏和白屏及其他页面时间计算?区别?优化?
-
【React】 React 如何优化?
-
【React】 React fiber
-
【React】 react-router 原理 hash 模式和 history 模式
-
node.js / egg.js
-
【工程化】 首屏优化方案
-
【工程化】 CI/CD
-
【工程化】 mock.js