经验贴---前端hot80手写题
因为经常有牛爷爷找我问手写题有哪些, 那还说啥了, 继续开源了。
熟练度:生=看了还是不会,熟=看思路能写出来,秒=不看任何提示能写出来
异步与设计模式(12题)
- Promise完整实现 | 生/熟/秒:
- Promise.all | 生/熟/秒:
- Promise.race | 生/熟/秒:
- Promise.allSettled | 生/熟/秒:
- Promise.any | 生/熟/秒:
- 并发控制 | 生/熟/秒:
- retry重试+超时控制 | 生/熟/秒:
- sleep | 生/熟/秒:
- 红绿灯循环 | 生/熟/秒:
- Promisify | 生/熟/秒:
- 发布订阅+观察者模式 | 生/熟/秒:
- CodingMan | 生/熟/秒:
数据结构相关(10题)
- 数组转树 | 生/熟/秒:
- 树转数组 | 生/熟/秒:
- 路径字符串转树 | 生/熟/秒:
- 按缩进构造树 | 生/熟/秒:
- 二叉树遍历 | 生/熟/秒:
- DOM树遍历 | 生/熟/秒:
- LRU缓存 | 生/熟/秒:
- 四大排序 | 生/熟/秒:
- 课程表(图的环检测) | 生/熟/秒:
- 路径总和 | 生/熟/秒:
数组与对象(10题)
- 深拷贝 | 生/熟/秒:
- 深度比较deepEqual | 生/熟/秒:
- lodash get | 生/熟/秒:
- lodash set | 生/熟/秒:
- getType类型判断 | 生/熟/秒:
- 数组扁平化flat | 生/熟/秒:
- 对象扁平化flattenObj | 生/熟/秒:
- 数组去重 | 生/熟/秒:
- 数组方法实现(map/filter/reduce) | 生/熟/秒:
- Omit/Pick(JS+TS类型) | 生/熟/秒:
工具函数(19题)
- 防抖debounce | 生/熟/秒:
- 节流throttle | 生/熟/秒:
- 柯里化curry | 生/熟/秒:
- compose/pipe | 生/熟/秒:
- call/apply/bind | 生/熟/秒:
- new/instanceof | 生/熟/秒:
- 继承 | 生/熟/秒:
- 千分位格式化 | 生/熟/秒:
- URL解析 | 生/熟/秒:
- 驼峰转换 | 生/熟/秒:
- 大数相加 | 生/熟/秒:
- setTimeout⇄setInterval | 生/熟/秒:
- 时间格式化 | 生/熟/秒:
- randomInt | 生/熟/秒:
- getCookie | 生/熟/秒:
- 访问次数统计 | 生/熟/秒:
- 闭包加法add(1)(2)(3) | 生/熟/秒:
- 去除最少字符 | 生/熟/秒:
- 提取HTML文字 | 生/熟/秒:
React组件(11题)
- Counter计数器 | 生/熟/秒:
- TodoList | 生/熟/秒:
- CountDown倒计时 | 生/熟/秒:
- Calculator计算器 | 生/熟/秒:
- CascadeSelect级联选择 | 生/熟/秒:
- LazyImage图片懒加载 | 生/熟/秒:
- 虚拟列表 | 生/熟/秒:
- LoggerDebug闭包陷阱修复 | 生/熟/秒:
- NumberToggle数字小数点切换 | 生/熟/秒:
- CustomAxios简易请求封装 | 生/熟/秒:
- 懒加载组件React.lazy+Suspense | 生/熟/秒:
React Hooks(7题)
- useDebounce防抖Hook | 生/熟/秒:
- useThrottle节流Hook | 生/熟/秒:
- useUpdateEffect跳过首次执行 | 生/熟/秒:
- usePrevious获取上一次的值 | 生/熟/秒:
- useRequest请求Hook | 生/熟/秒:
- 模拟useState | 生/熟/秒:
- useRedux简易状态管理 | 生/熟/秒:
CSS实现(9题)
- 垂直居中N种方法 | 生/熟/秒:
- 两栏布局N种方法 | 生/熟/秒:
- 三栏布局N种方法 | 生/熟/秒:
- Flex固定+自适应 | 生/熟/秒:
- 文字截断 | 生/熟/秒:
- 隐藏元素的方式 | 生/熟/秒:
- CSS画三角形 | 生/熟/秒:
- inline-block空格问题 | 生/熟/秒:
- Tailwind实现常见组件 | 生/熟/秒:


