Skip to content

Latest commit

 

History

History
160 lines (98 loc) · 8.45 KB

README.md

File metadata and controls

160 lines (98 loc) · 8.45 KB

前端原理源码学习笔记


webpack 系列

  1. 常见 loader 源码简析,以及动手实现一个 md2html-loader
  2. webpack 插件工作原理剖析
  3. webpack 主流程源码阅读以及实现一个 webpack
  4. webpack 打包优化实践

vue 系列写作方向

vue2

  1. Vue 依赖收集过程源码阅读以及实现
  2. Vue 响应式更新原理源码阅读以及实现
  3. Vue patch Diff 算法源码阅读以及实现
  4. compute 和 watch 原理
  5. nexttick 原理
  6. keeplive 实现原理

vue3

  1. vue composition-api 速成课

react 系列
  1. React16 常用 api 解析以及原理剖析
  2. 实现一个简单的 useState

微前端

  1. 微前端项目难点解决

前端安全

  1. xss
  2. csrf

大厂手写代码题
  1. hash 去重
  2. 防抖节流
  3. 手写实现 promise
  4. 手写实现 instanceof
  5. new 的内部机制,自己实现一个 new
  6. 拼多多:实现柯里化函数
  7. 拼多多:设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈
  8. 快手:数组全排列
  9. 快手:浏览器最大请求并非限制
  10. 头条:计算树的深度
  11. 蚂蚁:编写高阶函数,连续触发时,若上一次 promise 执行未结束则直接废弃,只有最后一次 promise 会触发 then/reject
  12. 发布订阅.js
  13. 头条:原生 ajax 封装成 async await 调用
  14. 阿里:实现带有超时功能的 Promise
  15. 阿里:实现一个函数,可以将数组转化为树状数据结构
  16. 腾讯:腾讯面试题 new 一个函数发生了什么
  17. 腾讯:三个元素之和为指定数 n 的各个组合
  18. 腾讯:生成长度为 n 的 int 型随机数组,数组元素范围为 0~n-1
  19. 蚂蚁:苹果、梨、香蕉三个数组相互拼成字符串问题
  20. 字节:Excel 表格随机生成 1000 列
  21. 字节:二叉树&完整路径和
  22. 常见排序算法以及复杂度
  23. 字节:合并两个有序数组
  24. js 实现数组和链表之间相互转换
  25. 拼多多

前端知识点

prototype 和_proto_以及原型链的关系

js 事件循环

前端性能优化

Map 与 WeakMap 的区别


leetCode Hot100

easy

1.两数之和

14.最长公共前缀

18.删除链表的节点

20.有效的括号

21.合并两个有序链表

53.最大子序和

70.爬楼梯

101.对称二叉树

112.路径总和

136.只出现一次的数字

155.最小栈

160.相交链表

206.反转链表

234.回文链表

543.二叉树的直径

617.合并二叉树

771.宝石与石头

middle

5.最长回文子串

LeetCode 排序 解法题目

35.搜索插入位置(easy)

88.合并两个有序数组(easy)

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/

912.排序数组(middle)

146. LRU 缓存机制

LeetCode 字符串相关题目

验证回文串

分割回文串

单词拆分

反转字符串