- 常见 loader 源码简析,以及动手实现一个 md2html-loader
- webpack 插件工作原理剖析
- webpack 主流程源码阅读以及实现一个 webpack
- webpack 打包优化实践
vue2
- Vue 依赖收集过程源码阅读以及实现
- Vue 响应式更新原理源码阅读以及实现
- Vue patch Diff 算法源码阅读以及实现
- compute 和 watch 原理
- nexttick 原理
- keeplive 实现原理
vue3
- hash 去重
- 防抖节流
- 手写实现 promise
- 手写实现 instanceof
- new 的内部机制,自己实现一个 new
- 拼多多:实现柯里化函数
- 拼多多:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈
- 快手:数组全排列
- 快手:浏览器最大请求并非限制
- 头条:计算树的深度
- 蚂蚁:编写高阶函数,连续触发时,若上一次 promise 执行未结束则直接废弃,只有最后一次 promise 会触发 then/reject
- 发布订阅.js
- 头条:原生 ajax 封装成 async await 调用
- 阿里:实现带有超时功能的 Promise
- 阿里:实现一个函数,可以将数组转化为树状数据结构
- 腾讯:腾讯面试题 new 一个函数发生了什么
- 腾讯:三个元素之和为指定数 n 的各个组合
- 腾讯:生成长度为 n 的 int 型随机数组,数组元素范围为 0~n-1
- 蚂蚁:苹果、梨、香蕉三个数组相互拼成字符串问题
- 字节:Excel 表格随机生成 1000 列
- 字节:二叉树&完整路径和
- 常见排序算法以及复杂度
- 字节:合并两个有序数组
- js 实现数组和链表之间相互转换
- 拼多多
581.最短无序连续子数组(easy)https://leetcode-cn.com/problems/shortest-unsorted-continuous-subarray/
1331.数组序号转换(easy)https://leetcode-cn.com/problems/rank-transform-of-an-array/
56.合并区间(medium)https://leetcode-cn.com/problems/merge-intervals/
215.数组中的第 K 个最大元素(medium) https://leetcode-cn.com/problems/kth-largest-element-in-an-array/
验证回文串
分割回文串
单词拆分
反转字符串