An open API service indexing awesome lists of open source software.

https://github.com/fxxqq/fe-blog

前端学习笔记,JavaScript基础,LeetCode,手写API,Vue源码解析
https://github.com/fxxqq/fe-blog

leetcode-javascript node react vue webpack

Last synced: about 2 months ago
JSON representation

前端学习笔记,JavaScript基础,LeetCode,手写API,Vue源码解析

Awesome Lists containing this project

README

          

# 前端原理源码学习笔记

---

### webpack 系列

1. [常见 loader 源码简析,以及动手实现一个 md2html-loader](https://github.com/fxxqq/fe-blog/tree/master/webpack/loader)
2. [webpack 插件工作原理剖析](https://github.com/fxxqq/fe-blog/tree/master/webpack/plugin)
3. [webpack 主流程源码阅读以及实现一个 webpack](https://github.com/fxxqq/fe-blog/tree/master/webpack/webpack)
4. [webpack 打包优化实践](https://github.com/fxxqq/fe-blog/tree/master/webpack/webpack%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96)

---

### vue 系列写作方向

**vue2**

1. Vue 依赖收集过程源码阅读以及实现
2. Vue 响应式更新原理源码阅读以及实现
3. Vue patch Diff 算法源码阅读以及实现
4. compute 和 watch 原理
5. [nexttick 原理](https://juejin.cn/post/6844903911673823246)
6. keeplive 实现原理

**vue3**

1. [vue composition-api 速成课](https://github.com/fxxqq/fe-blog/tree/master/vue/@vue/composition-api.md)

---

##### react 系列

1. [React16 常用 api 解析以及原理剖析](https://github.com/fxxqq/fe-blog/tree/master/react/React16-commonly-used-API-analysis)
2. [实现一个简单的 useState](https://github.com/fxxqq/fe-blog/tree/master/react/实现一个简单的react-hook里面的useState)

---

### 微前端
1. [微前端项目难点解决](https://github.com/fxxqq/fe-blog/blob/master/micro-frontend/%E5%BE%AE%E4%B9%BE%E5%9D%A4%E9%A1%B9%E7%9B%AE%E9%9A%BE%E7%82%B9%E8%A7%A3%E5%86%B3.md)

---

### 前端安全

1. [xss](https://github.com/fxxqq/fe-blog/blob/master/前端安全/xss/readme.md)
2. [csrf](https://github.com/fxxqq/fe-blog/tree/master/前端安全/csrf/readme.md)

---

##### 大厂手写代码题

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

### 前端知识点

[prototype 和`_proto_`以及原型链的关系](https://github.com/fxxqq/fe-blog/blob/master/前端知识点/prototype和_proto_以及原型链的关系.md)

[js 事件循环]()

[前端性能优化](https://github.com/fxxqq/fe-blog/blob/master/前端知识点/前端性能优化.md)

[Map 与 WeakMap 的区别](https://github.com/fxxqq/fe-blog/blob/master/前端知识点/Map与WeakMap的区别.md)

---

### leetCode Hot100

##### easy

[1.两数之和](https://github.com/fxxqq/fe-blog/blob/master/leetcode/1.两数之和.md)

[14.最长公共前缀](https://github.com/fxxqq/fe-blog/blob/master/leetcode/14.最长公共前缀.md)

[18.删除链表的节点](https://github.com/fxxqq/fe-blog/blob/master/leetcode/18.删除链表的节点.md)

[20.有效的括号](https://github.com/fxxqq/fe-blog/blob/master/leetcode/20.有效的括号.md)

[21.合并两个有序链表](https://github.com/fxxqq/fe-blog/blob/master/leetcode/21.合并两个有序链表.md)

[53.最大子序和](https://github.com/fxxqq/fe-blog/blob/master/leetcode/53.最大子序和.md)

[70.爬楼梯](https://github.com/fxxqq/fe-blog/blob/master/leetcode/70.爬楼梯.md)

[101.对称二叉树](https://github.com/fxxqq/fe-blog/blob/master/leetcode/101.对称二叉树.md)

[112.路径总和](https://github.com/fxxqq/fe-blog/blob/master/leetcode/112.路径总和.md)

[136.只出现一次的数字](https://github.com/fxxqq/fe-blog/blob/master/leetcode/136.只出现一次的数字.md)

[155.最小栈](https://github.com/fxxqq/fe-blog/blob/master/leetcode/155.最小栈.md)

[160.相交链表](https://github.com/fxxqq/fe-blog/blob/master/leetcode/160.相交链表md)

[206.反转链表](https://github.com/fxxqq/fe-blog/blob/master/leetcode/206.反转链表.md)

[234.回文链表](https://github.com/fxxqq/fe-blog/blob/master/leetcode/234.回文链表.md)

[543.二叉树的直径](https://github.com/fxxqq/fe-blog/blob/master/leetcode/543.二叉树的直径.md)

[617.合并二叉树](https://github.com/fxxqq/fe-blog/blob/master/leetcode/617.合并二叉树.md)

[771.宝石与石头](https://github.com/fxxqq/fe-blog/blob/master/leetcode/771.宝石与石头.md)

#### middle

[5.最长回文子串](https://github.com/fxxqq/fe-blog/blob/master/leetcode/5.最长回文子串.md)

##### LeetCode 排序 解法题目

[35.搜索插入位置(easy)](https://github.com/fxxqq/fe-blog/blob/master/leetcode/35.搜索插入位置.md)

[88.合并两个有序数组(easy)](https://github.com/fxxqq/fe-blog/blob/master/leetcode/88.合并两个有序数组.md)

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)](https://github.com/fxxqq/fe-blog/blob/master/handwrittenCode/常见排序算法以及复杂度.md)

[146. LRU 缓存机制]()

##### LeetCode 字符串相关题目

验证回文串

分割回文串

单词拆分

反转字符串