经验贴---前端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实现常见组件 | 生/熟/秒:

答案建议自己整理, 当然也可以找我要; 还有啥疑惑的, 可以留言。

全部评论
求答案
点赞 回复 分享
发布于 今天 16:41 广东

相关推荐

01-21 00:12
已编辑
香港大学 Java
这里没熟人,吐槽一下吧,楼主语文不太好,语句可能不太通顺,想到哪说到哪。我只想说字节,你太狠了。。。作为一个校招生,字节landing实在是地狱级别,来到字节已经一个月了,在这一个月里,每天都承受着巨大的压力,每天起床感觉胸闷气短,饭也吃不下,一个月已经瘦了五六斤了(也算是变相减肥了),一想到上班就莫名其妙地喘不过气来,闭上眼脑子里都是代码。压力一方面来自于mt的压力,一方面是自己的压力。我参与的项目是几个月的新项目,项目很多不完善的地方,业务流程不完善,很多代码需要根据做产品的需求做大改动,而楼主从来没有做过业务方面的编码,所以在理解业务需求的时候,非常难受,而且业务线很长,作为承接上下游的中间系统,不仅要了解自己项目的流程,还要了解上下游的流程,导致上手非常困难,也有可能是楼主太菜了QAQ。。楼主12.17入职,一周之内就已经开始做需求了,第一个需求就是新增和修改数据,mt美名其曰给我练手,但是一个小小的新增和修改涉及了太多细节,在字段定义不明确、数据来源不了解、处理流程不清晰的情况下,楼主花了一周时间完成了这个需求,当然做技术方案评审的时候,被吊了好几次,修改了几版方案。需求做完,被测试找出来十几个缺陷,每天不是在修bug,就是在修bug的路上,修bug修的精疲力尽,每天自测都需要花费很长时间,导致lz每天都十分紧张,不敢打开飞书,生怕又收到QA的信息,并且产品设计及其粗糙,很多地方都需要再三确认,严重拖慢进度。好不容易做完还被嫌进度太慢,下一个需求就让我开天辟地,完成整个业务流程的编码,lz真的直冒汗啊啊啊,真把我当老员工对待啊。最重要的一点,mt从来不给正反馈,每次问问题都会被反问,这个流程你真的理解了么,这个需求你认真思考了么,站在用户角度思考了么,站在产品角度思考了么,站在前端角度思考了么,站在QA角度思考了么,总之得不到什么有用的回复,每次问问题都是煎熬,从来得不到肯定的回复,要不就是反问,要不就是让lz去问产品,去和其他人对齐,每次都不被肯定的滋味真的很难受,导致lz现在不敢问问题,生怕再被吊,真的难受啊啊。顺便说一嘴,字节的福利是真的好,饭菜也很好吃(虽然我不大能吃得下)。今天11点刚到家,洗漱完上床已经快12点了,今天先写到这里吧,给自己留半小时抖音时间,毕竟只有睡前的时间是属于自己的。世界是个巨大的围城,有人想进来,有人想出去,不正真体验过不知道自己想要的到底是什么。。加油吧。
喵_coding:唉 进不去的挤破头都想进去 进去了的又真觉得很累 这个世界究竟怎么了
工作压力大怎么缓解
点赞 评论 收藏
分享
WhythZ:这个人老是在各种帖子底下出现,复制粘贴他的那套一样的话术,看着就烦
实习怎么做才有更好的产出
点赞 评论 收藏
分享
评论
5
11
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务