1. 前言
  2. 第一部分 AGI
  3. 前言
  4. 入门篇
    1. chatGPT 是什么
    2. chatGPT 的原理
    3. 大模型是如何训练的?
    4. LangChain(篇一:基础入门篇)
    5. LangChain 概述
    6. Dify notes
  5. Agent
    1. Agent 是什么
    2. Agent 工程架构图
    3. Agent 的进化之路
  6. 第二部分 前端
  7. 前言
  8. Web 技术概述
    1. 名词解释
    2. Web 技术概述
    3. 前端技术
    4. 现代 Web 技术现状
    5. Web 新兴技术
  9. HTML
    1. HTML 概述
    2. HTML 标签与 HTML 属性
    3. HTML 技术关键词
    4. HTML 技术清单
    5. HTML 标签
    6. Web Components
    7. HTML 标准规范
    8. 响应式图片
    9. HTML 模板语言
  10. CSS
    1. CSS 简介
    2. 媒体查询
    3. CSS 兼容性相关
    4. 回流和重绘
    5. 开启 GPU 硬件加速的原理
    6. 盒模型
    7. BFC 与外边距重叠
    8. CSS 布局都有哪些
    9. CSS 定位或布局相关的参考坐标系
    10. CSS 定位
    11. 滚动自动吸附效果与吸顶效果
    12. CSS 变量
    13. CSS 的计算属性
    14. CSS 处理器
    15. CSS 选择器的优先级
    16. CSS Houdini API
    17. Tailland CSS
    18. CSS 性能优化思路
    19. rem 和 vw、vh
  11. JavaScript
    1. JavaScript 简介
    2. JavaScript 的组成
    3. JavaScript 的核心语法
    4. JavaScript 异步编程简介
    5. JavaScript 异步编程:Promise 专题篇一
    6. JavaScript 异步编程:Promise 专题篇二
    7. JavaScript 异步编程:async、await 的实现原理
    8. JavaScript 异步编程:Thunk 函数
    9. 实现批量请求并支持控制最大并发数
    10. JavaScript 的垃圾回收机制
    11. JavaScript 引擎
    12. JavaScript 对象
    13. JavaScript 的单线程
    14. JavaScript 内存泄漏场景及其解决方案
    15. 深拷贝与浅拷贝
    16. apply、call、bind 的区别及简易实现
    17. 遍历对象的方式
    18. javascript 中实现继承的方式
    19. ES6(ES2015) 到 ES2024 的主要特性
    20. class 中各种方法定义的区别
    21. WeakRef 与 FinalizationRegistry
    22. Array.reduce
    23. this 指向问题汇总
    24. BigInt 类型
    25. 原型链
  12. TypeScript
    1. Typescript 基础篇
    2. type 和 interface 的区别
    3. TS 常见问题
    4. interface
    5. Interface 中的运算符操作
    6. TypeScript 中与类型相关的运算符
    7. TypeScript 的泛型(Generics)
    8. TypeScript 项目中使用 node_modules 中定义的全局类型
  13. 浏览器
    1. 哪些事件不会冒泡的事件,以及为什么不支持冒泡?
    2. 使用 requestAnimationFrame 批量处理操作的原理
    3. MessageChannel
    4. 如何检测页面是否在前台运行
    5. 为什么要用 setTimeout 模拟 setInterval ?
    6. 浏览器本地如何读取并处理本地大文件
    7. WebAssembly (Wasm)
    8. Shadow DOM 中的 closed mode 和 open mode
    9. 堆叠上下文 与 z-index 的关系
    10. 浏览器的渲染原理
    11. 渲染层、复合层、层叠上下文对比
    12. 渲染层(Paint Layer)和合成层(Composite Layer)
    13. 渲染层(Paint Layer)和层叠上下文(Stacking Context)
    14. 浏览器中如何查找内存泄漏
    15. 现代 Chrome 浏览器架构设计
    16. requestIdleCallback
    17. Shadow dom 与 Web Component
    18. BroadcastChannel 和 MessageChannel 对比
    19. 跨域与跨页面通讯
    20. 跨域时请求的实际发送情况分析
    21. 浏览器实现截图
    22. AbortController
    23. queueMicrotask
    24. BroadcastChannel
    25. 浏览器的宏任务(MacroTask)的优先级
    26. IndexedDB
    27. cookie 的有效期设置为 0 会怎么样?
  14. Node.js
    1. cjs 与 esm
    2. Nodejs 加载 JSON 文件
    3. commonjs 的 require 机制
    4. 常用的 package.json 字段说明
    5. Nodejs 的单线程与多核
    6. 流与pipe
    7. Node.js 中的通信方式都有哪些
    8. nodejs server 端如何清除 cookie
    9. Node.js 中提高网络传输速度的主要方法
    10. RESTful 接口规范
    11. TCP 粘包
    12. TIME_WAIT 过多的原因以及解决方案
    13. socket hang up
    14. ECONNRESET
    15. Koa 的核心原理
    16. Koa 与 express 对比
    17. 实现一个简易版的 Koa
    18. Nginx 介绍
    19. pnpm(performant npm)
    20. koa 的中间件机制
  15. Vue
    1. Vue3 基础:篇一
    2. Vue3 基础:篇二
    3. Vue3 基础:篇三
    4. Vue3 中 is 属性的使用方法和应用场景
    5. Vue3 组件
    6. Vue 的整体设计思路
    7. Vue3 的响应式原理:effect、computed、watch 的实现原理
    8. Vue3 中 effect 的调度选项(scheduler)使用示例
    9. Vue3 的非原始值响应式方案(Map、WeakMap 、Set 、WeakSet )
    10. vue3 watch 的详细用法(取消监听、恢复监听及清理副作用等)
    11. Vue3 中原始值的响应方案
    12. Vue3 渲染器的原理和实现
    13. Vue3 的 diff 算法
    14. Vue3 的 Diff 算法复杂的分析
    15. Vue3 事件与原生事件的关系和冒泡机制差异分析
    16. Vue3 组件的实现原理
    17. 异步组件和函数式组件的实现原理
    18. Vue3 异步组件的使用
    19. Vue3 中 Transition 组件的实现原理
    20. Vue3 中 keepAlive组件的实现原理
    21. Vue3中 Teleport 组件的实现原理
    22. Vue3 的编译器原理(篇一:基本实现)
    23. Vue3 的编译器原理(篇二:完善的 HTML 解析器)
    24. Vue3 的编译器原理(篇三:编译优化)
    25. Vue3 的服务端渲染(SSR)原理(同构原理)
    26. Vue3 中可使用 JSX 原理
    27. Vue3 中不常用的 API
    28. Vue3 源码主要包功能介绍分析
    29. vue3 中实现类似于 React 高阶组件的功能?
    30. Pinia 状态管理库文档笔记
    31. Vue3 的页面渲染流程
    32. created 和 mounted 这两个生命周期钩子的区别
    33. v-memo 介绍
    34. Vue3 的模板编译也可以发生在运行时
    35. Vue3 生态最新动态
  16. React
    1. useEffect
    2. useLayoutEffect 和 useEffect
    3. 为什么 React 要引入 Hooks
    4. 为什么不应该在循环、条件或嵌套函数中使用 Hooks
    5. React 的 Render Props
    6. React 的架构设计演变
    7. useMemo 、 useCallback、Vue 的 computed
    8. useRef、forwardRef 的用法及实现原理
    9. 深入理解 JSX
    10. React 的 Capture Value(捕获值)特性与解决方案
    11. React 重新渲染的场景以及对应的优化方案
    12. 强制重新渲染有哪些方式
    13. React.memo 、 useMemo 、 useCallback 对比
    14. PureComponent
    15. 无状态组件(Stateless Component)概念、原理及最佳实践
    16. React 组件的各种定义和声明方式
    17. React 中获取 DOM 引用的方式
    18. 高阶组件(HOC)
    19. React 组件间通信
    20. React 性能优化的思路
    21. react-dom
    22. React 事件系统
    23. React 中实现异步加载组件
    24. React 中错误捕获的方式
    25. React Class 类生命周期如何对应 Hooks
    26. React.createContext 与 useContext
    27. immer.js 在 React 中的使用
    28. Redux
    29. React 整体架构介绍
    30. React Fiber 节点的主要属性及其用途
    31. React 的源码结构分析
    32. 使用 useTransition 进行非阻塞渲染
    33. 使用 useDeferredValue 来延迟状态更新
    34. 使用 useInsertionEffect 注入 css-in-js
    35. 使用 useImperativeHandle 精确控制组件对外暴露能力
    36. 使用 useSyncExternalStore 来连接外部状态和 React 组件
    37. 使用 useId 生成唯一的 ID 标识符
    38. 把 useDebugValue 加入你的React调试工具库
    39. 说说 React 19 的最新的进展
    40. React Server Components (RSC)
    41. React 的 Diff 算法
    42. React Hooks 的原理
    43. 常见自定义 Hooks
    44. React 的优先级调度机制和打断处理
    45. 任务饥饿(Task Starvation)
    46. 为什么 React 需要 Fiber 架构,而 Vue 似乎不需要类似的机制
    47. React render 方法的原理和触发时机
    48. React 中的 Portal 事件冒泡机制
    49. React 的合成事件(Synthetic Event)和原生事件(Native Event)的执行顺序
    50. React 自动运行时(Automatic Runtime)
  17. 前端框架设计
    1. 前端框架设计概述
    2. 前端框架设计里的"权衡" 与"选择"
    3. 前端框架设计的核心要素
    4. 前端元框架
    5. 企业级框架
    6. 编译时框架 vs 运行时框架
    7. 前端框架现状及未来趋势
    8. 前端框架后面的金主及生态情况
    9. 前端框架的岛屿架构(Island Architecture)
    10. 实现一个简易版本的前端路由
    11. Next.js 与 Umi.js
    12. UmiJS 与 Remix
    13. umi 的数据流方案
    14. Next.js
    15. 对比 Next.js 与 Nuxt.js
    16. Remix 框架
  18. 前端基建
    1. 前端工程化
    2. 前端工程化历程
    3. 前端工程化 SOP
    4. 前端基建 SOP
    5. npm 私服搭建
    6. 如何提高前端研发效能
    7. 如何前端脚手架 "泼出去的水" 的问题
    8. 前端基础建设路线参考
    9. 开源的 git 托管工具
    10. DevOps 开源项目
    11. 圈复杂度
    12. 分享:美团的产研一体化协作平台
    13. 美团前端工程架构的演变
    14. 字节跳动现代 Web 开发实践
    15. 前端灰度发布
  19. 前端构建
    1. Webpack 5 的 Module Federation
    2. webpack 性能优化的思路
    3. vite 中如何使用 Module Federation
    4. 主流的前端构建工具
    5. Vite 和 Webpack 在热更新(HMR - Hot Module Replacement)机制上的主要区别
    6. 前端构建提速的体系化思路
    7. Rspack 分享
    8. Webpack 5
    9. Eslint 的原理
    10. Umi 4 的设计思路
    11. vite 之 import 关键词
    12. Turbopack 与 rspack
    13. 使用 Babel 重构或迁移前端工程
    14. Babel 插件开发
    15. Babel 的原理(篇一)
    16. Babel 的原理(篇二)
    17. Webpack 的三种hash模式
    18. Source Map 的本质和实现原理
    19. 浏览器对 Source Map 的支持机制和实现原理
    20. Vite 在开发时对 Source Map 的特殊之处
  20. 前端监控
    1. Node.js 中常见的内存泄漏场景及解决方案
    2. Node.js 中异常捕获和容错的常见处理方式
    3. 前端数据采集的原理及实现
    4. 时光机(录制与回放)的技术原理
    5. rrweb
    6. window.onerror 和 window.addEventListener 的区别?
    7. 前端错误的分类、优先级管理及处理策略
    8. 前端错误的分类和优先级管理建议
    9. 前端指标监控与业务指标监控
  21. 前端性能及体验
    1. 如何度量前端性能
    2. 性能优化思路
    3. 长列表或大数据渲染优化的一些思路
    4. 如何治理端侧性能
    5. 常见性能优化思路
    6. RAIL 模型
    7. 高性能插入 100000 个 DOM节点
    8. 人机交互与前端体验
    9. 最大偏移量的统计方法和优化建议
    10. PerformanceObserver API
    11. LCP 、白屏时间、首屏时间
    12. Chrome DevTools(篇一)
    13. Chrome DevTools(篇二)
    14. Chrome DevTools(篇三)
  22. 前端安全
    1. XSS:跨站脚本攻击
    2. CSRF:跨站请求伪造
    3. SSRF(服务器端请求伪造)攻击
    4. 内容安全策略(Content Security Policy,简称 CSP)
    5. X-XSS-Protection 头部、 Subresource Integrity (SRI)
    6. 前端安全相关
    7. 点击劫持 ( Clickjacking )
    8. HTTP 请求是否携带 Cookie
    9. 常见接口鉴权方式
    10. 常见的高危Web安全漏洞
    11. OAuth 2.0 认证
  23. 前端架构设计
    1. 前端资产
    2. 前端重构的时机
    3. 前端研发工作台
    4. 微前端原理(篇一)
    5. SystemJS 和模块联邦(Module Federation)的特点和差异
    6. 微前端原理(篇三:乾坤)
    7. 微前端原理(篇二:无界)
    8. JAMstack 架构
    9. 前端语言包切换
    10. 常见的设计模式
    11. 前端常见的架构思路:篇一
    12. Serverless(无服务器计算)
    13. 前端常见的架构思路:篇二
    14. 实现一个简单的插件系统
    15. 代客
    16. 度量前端架构
    17. 技术架构与业务架构
    18. 设计协同:D2C 、C2D
    19. 编程思想&范式
  24. 移动端与跨端
    1. 跨端(PC、移动端、小程序、Web 等)
    2. 跨端的核心技术点
    3. JavaScript Bridge(JSBridge)的原理
    4. H5 开发技巧相关
    5. taro 与 uni-app 对比
    6. 小程序的安全合规和性能优化
    7. 微信小程序的双线程设计
  25. WebGIS
    1. 学习路径
    2. 地图前端渲染
    3. 地图投影和坐标系统
    4. 地图投影的主要类型
    5. 空间数据类型
    6. 地理要素的概念和属性
    7. 空间数据类型
    8. 矢量和栅格的区别?
  26. 前端系统设计
    1. 在线协作文档设计
    2. UI 标记工具设计
    3. 图标库管理系统设计
    4. 转盘组件设计
    5. SSO 系统与权限系统设计
    6. 产品演示平台&培训平台
  27. 低代码
    1. 分享:基于低代码平台的三种开发模式
    2. 低代码平台的调试开发
    3. 低代码的研发搭建模式探讨
    4. 调研:Schema 协议设计(amis、schema 设计、事件流、Vdom 等)
    5. 调研:Amis 工作原理、自定义组件
    6. 调研:各类大会对低代码的分享
    7. 调研:低代码渲染设计思路
    8. 调研:编辑器&设计态如何设计?
    9. 调研:低代码引擎技术白皮书
    10. 低代码原理与标准
    11. 好文:低代码实现原理
    12. 好文:阿里低代码引擎和生态建设实战及思考
    13. 调研:各类大会对低代码的分享
    14. 好文:低代码探索之路
    15. 好文:低代码常见问题
    16. 精读:低代码的组件体系的建设和实践
    17. 调研:设计器交互体验
    18. 调研:低代码开发如何协同?
    19. 基于 Vue3 的低代码平台架构设计:篇一
    20. 低代码工程结构设计
  28. 编程题
    1. 对象转成深度为一的对象
    2. 101 → 一百零一
    3. 合并连续的数字:1,2,3,5,7,8,9 => 1~3,5,7~9
    4. 压缩算法:aabcccccaaa 会变为 a2b1c5a3
    5. 打平数组转成树形结构
    6. 常见编程题
  29. 前端的思考
    1. 前端的思考:随记
    2. 业务支撑与业务价值
    3. 大模型下背景下的前端研发模式随记
    4. 前端工程师在 AI 时代的机会与挑战
    5. 前端开发与 AI 大模型的集成
  30. 第三部分 算法
  31. 前言
  32. 基础
    1. 算法核心框架
    2. 计算机算法的框架思维
    3. 基础数据结构
    4. 算法复杂度
    5. 刷题注意事项
  33. 字符串
    1. 字符串的最大公因子
  34. 数组
    1. 数组:Python 描述
    2. 列表:Python 描述
    3. 数组:JavaScript 描述
    4. 数组链表与内存缓存的关系
  35. 数组:二分搜索
    1. 搜索旋转排序数组:从两个有序组成的数组中找目标值
    2. 在排序数组中查找元素的第一个和最后一个位置
    3. 搜索插入位置:有序数组中插入 target,保证有序,返回插入的位置
    4. 搜索旋转排序数组 II:从两个排序数组中查找目标值,但存在重复元素
    5. 寻找峰值:峰值元素是指其值严格大于左右相邻值的元素
    6. LCR.统计目标成绩的出现次数
    7. LCR.点名:从一个升序数组中找出缺失的数字
    8. 找到 K 个最接近的元素:最靠近 x 的 k 个数
    9. 二分查找
    10. 山脉数组的峰顶索引:开口向上的抛物线
  36. 数组:前缀和与前缀积
    1. 最大子数组和
    2. 除自身以外数组的乘积
    3. 路径总和 III
    4. 和为 K 的子数组
    5. 寻找数组的中心下标
  37. 数组:双指针
    1. 两数之和:无序
    2. 最长回文子串
    3. 盛最多水的容器:找两条线装水最多
    4. 删除有序数组中的重复项
    5. 移除元素:移除指定元素
    6. 接雨水:下雨了柱子间能装多少水
    7. 颜色分类
    8. 删除有序数组中的重复项 II:最多允许重复两次
    9. 合并两个有序数组
    10. 验证回文串
    11. 两数之和 II - 输入有序数组
    12. 移动零
    13. 反转字符串
    14. 有序转化数组:f(x) = a * x * x + b * x + c
    15. 判断子序列
    16. 压缩字符串:b12 => b,1,2 代替
    17. 匹配子序列的单词数: words中是 s 的子序列的单词个数
    18. 有序数组的平方
  38. 数组:滑动窗口
    1. 无重复字符的最长子串
    2. 最小覆盖子串
    3. 找到字符串中所有字母异位词
    4. 字符串的排列
  39. 数组:二维数组
    1. 最长公共前缀
    2. 二维数组的遍历技巧
    3. 矩阵置零
    4. 搜索二维矩阵:打平成一维也严格递增
    5. 搜索二维矩阵 II:行递增、列递增
    6. 有序矩阵中第 K 小的元素
    7. 重塑矩阵:mn 转成 rc
    8. 转置矩阵
    9. 二维网格迁移
    10. 将矩阵按对角线排序
    11. 相等行列对
  40. 数组:其他
    1. 缺失的第一个正数:找第一个缺失的正整数
    2. 合并区间
    3. 反转字符串中的单词
    4. 多数元素
    5. 轮转数组
  41. 搜索
    1. 搜索算法总结
  42. 排序
    1. 归并排序
    2. 排序算法基础
    3. 快速排序算法的原理及运用
    4. 排序算法(高级)
    5. 深入理解快速排序
    6. 深入理解归并排序
    7. 煎饼排序
  43. 链表
    1. 链表:JavaScript 描述
    2. 链表:Python 描述
    3. 删除链表的倒数第 N 个结点
    4. 合并两个有序链表
    5. 合并 K 个升序链表
    6. 反转单链表:反转全部、反转前 N 个节点、反转一部分
    7. 删除排序链表中的重复元素 II:删除所有重复的节点
    8. 删除排序链表中的重复元素:去重
    9. 分隔链表
    10. 判断链表是否有环
    11. 找链表中第一个入环节点
    12. 重排链表:1→n-1→2→n-2→...
    13. 相交链表
    14. 反转链表
    15. 奇偶链表
    16. 链表的中间结点:寻找链表的中间节点
    17. 从未排序的链表中移除重复元素:不是去重
    18. 删除链表的中间节点
    1. 栈:Python 描述
    2. 有效的括号:判断括号字符串是否合法的
    3. 简化路径
    4. 用队列实现栈
    5. 字符串解码
    6. 从字符串中移除星号
  44. 列队
    1. 单调列队算法
    2. 列队:Python 描述
    3. 双向队列:Python 描述
    4. 优先级队列及 TopK 问题
    5. 优先级队列:入队函数最简易实现(sort)
    6. 优先级队列:Leetcode 中提供的数据结构介绍
    7. 使用两个栈实现队列
    8. 滑动窗口最大值
    9. 查找和最小的 K 对数字
    10. 最近的请求次数
  45. 哈希表
    1. 哈希表概述
    2. 哈希集合
    3. 字母异位词分组:按字母异位词分组
    1. 树的一些基本概念
    2. 一个方法秒杀 5 道最近公共祖先问题
    3. 二叉树基本概念:Python 描述
    4. 二叉树的存储方式
    5. 二叉树的遍历:Python 描述
    6. 二叉树的遍历: DFS(前中后序遍历)、BFS(层序遍历)
    7. 多叉树的遍历: DFS(前中后序遍历)、BFS(层序遍历)
    8. 二叉树算法概述
    9. 二叉树的两种解题思维
    10. 二叉树的分解问题思路
    11. 二叉树的前中后序遍历详解
    12. 二叉树的遍历思路习题
    13. 二叉树遍历的迭代解法
    14. 多叉树的遍历:Python 描述
    15. 二叉树与单链表的关系
    16. AVL 树和红黑树
    17. 其他树结构
  46. 二叉树
    1. 二叉树的最大深度
    2. 填充每个节点的下一个右侧节点指针
    3. 二叉树的前序遍历
    4. 二叉树的右视图
    5. 二叉树的直径:左右子树的最大深度之和
    6. 叶子相似的树
  47. 二叉树的构造与序列化
    1. 二叉树的构造
    2. 从前序与中序遍历序列构造二叉树
    3. 二叉树的序列化与反序列化
    4. 最大二叉树
  48. 二叉搜索树(BST)
    1. 二叉搜索树:Python 描述
    2. 二叉搜索树的特性
    3. 二叉搜索树的增删改查(BST 的增删改查)
    4. 二叉搜索树(篇三:BST 的构造)
    5. 二叉搜索树(篇四:BST 的后序位置)
    6. 验证二叉搜索树
    7. 二叉搜索树中第 K 小的元素
    8. 删除二叉搜索树中的节点
    9. 二叉搜索树中的搜索
    10. 二叉搜索树中的插入操作
    11. 从二叉搜索树到更大和树:BST 转化累加树
  49. 二叉树:分解问题的思路
    1. 相同的树:判断两个二叉树是否相同
    2. 对称二叉树:判断树是否轴对称
    3. 二叉树中的最大路径和
    4. 翻转二叉树:翻转二叉树的两种解题思路
    5. 翻转等价二叉树:判断这两棵二叉树是否是翻转等价的
  50. 二叉树:遍历一遍的思路
    1. 二叉树的最小深度
    2. 求根节点到叶节点数字之和
    3. 二叉树的所有路径:返回二叉树的所有路径,以a→b的方式
    4. 二叉树最长连续序列:所有路径中,求最长连续序列的长度
    5. N 叉树的最大深度
    6. 从叶结点开始的最小字符串
    7. 从根到叶的二进制数之和
    8. 统计二叉树中好节点的数目:
  51. 二叉树:后序位置
    1. 平衡二叉树
  52. 二叉树:层次遍历
    1. 二叉树的层序遍历
    2. 二叉树的锯齿形层序遍历:Z 字形遍历
    3. 二叉树的层序遍历 II:自底向上的层序遍历
    4. 填充每个节点的下一个右侧节点指针 II
    5. 在每个树行中找最大值
    6. 二叉树的层平均值
    7. 二叉树最大宽度
    8. 二叉树的完全性检验:判断完全二叉树
    9. 最大层内元素和:返回哪一层和最大
    10. 层数最深叶子节点的和:返回最后一层的和
    11. 奇偶树:第 0 层递增,第 1 层递减
    1. 二叉堆
    2. 数据结构中的堆和内存中的堆的区别
    3. 堆内存和栈内存的区别
    4. 二叉堆与优先级队列的关系
  53. 其他数据结构
    1. 常数时间删除、查找数组中的任意元素
    2. LRU 算法
    3. LFU 缓存
    1. 基本概念:篇二
    2. 基本概念:篇二
    3. 图的实现
    4. 图的 DFS 遍历
    5. 图的 BFS 遍历
    6. 环检测算法:有向图的环检测
    7. 拓扑排序
    8. 二分图
    9. 并查集(Union Find)
    10. 最小生成树: Kruskal 算法
    11. 最小生成树:Prim 算法
    12. Dijkstra 算法
    13. 课程表:是否可能完成所有课程的学习
    14. 课程表 II:返回你为了学完所有课程所安排的学习顺序
    15. 以图判树:判断图是否可以生成树
    16. 搜寻名人:返回名人的编号,不存在返回 -1
    17. 网络延迟时间
    18. 判断二分图:判断一幅图是否是二分图
    19. 所有可能的路径
    20. 可能的二分法:将互相讨厌的人分成两个组
    21. 最低成本连通所有城市
    22. 概率最大的路径
    23. 连接所有点的最小费用
    24. 最小体力消耗路径
  54. 回溯算法
    1. 回溯算法解题框架
    2. 排列、组合、子集问题合集
    3. 球盒模型
    4. 回溯算法解数独
    5. 回溯算法解括号生成
    6. 划分为 k 个相等的子集
    7. SKU 排列
    8. 电话号码的字母组合
    9. 组合总和 II :元素可重,不可复选
    10. 全排列:元素不可重复,不可复选
    11. 全排列 II:元素可重复,不可复选
    12. 组合:元素不重复不可复选
    13. 子集:元素不重复不可复选
    14. 子集 II:元素重复,不可复选
    15. 复原 IP 地址
    16. 单词拆分 II:加空格生成多少种句子
    17. 连续差相同的数字
  55. DFS
    1. 回溯算法与DFS算法的区别
    2. 二维矩阵遍历框架
    3. 岛屿数量
    4. 省份数量
    5. 不同岛屿的数量:形状不同的岛屿
    6. 岛屿的最大面积:半岛也算
    7. 统计封闭岛屿的数目:全岛的数量
    8. 重新规划路线
    9. 统计子岛屿:grid2 被 grid1包含多少个岛屿?
  56. BFS
    1. BFS 算法框架
    2. 双向 BFS 优化
    3. 打开转盘锁
    4. 滑动谜题
    5. 腐烂的橘子
  57. 动态规划
    1. 斐波那契数列
    2. 动态规划解题套路框架:以最小零钱为例说明
    3. 如何查找状态转移方程:最长递增子序列与俄罗斯套娃
    4. base case 和备忘录的初始值怎么定:下降路径的最小和
    5. 最优子结构原理 和 DP 数组遍历方向
    6. 动态规划穷举的两种视角:不同的子序列个数
    7. 动态规划和回溯算法:单词拆分与单词拆分 II
    8. 对动态规划进行空间压缩
    9. 子序列:最小编辑距离
    10. 子序列:最大子数组
    11. 子序列:最长公共子序列问题
    12. 子序列: 动态规划之子序列问题解题模板(最长回文子序列)
    13. 背包:0-1 背包问题
    14. 背包:数组是否可以分割两个子集,使得这两子集的元素和相等
    15. 完全背包问题:零钱兑换
    16. 背包问题:目标和
    17. 地下城游戏
    18. 最小路径和
    19. 不同的子序列: s 的子序列中 t 出现的个数
    20. 单词拆分:给定的字符串是否能由给定的单词集合组合成
    21. 最长递增子序列:最长递增子序列数量
    22. 零钱兑换:需要的最小硬币数
    23. 俄罗斯套娃信封问题:最长子序列的二维版本
    24. 下降路径最小和:从第一行下降到最后一行最小路径合为多少?
  58. 贪心算法
    1. 贪心算法:区间调度问题
    2. 跳跃游戏 II
    3. 跳跃游戏
  59. 数学运算
    1. 反直觉的概率问题
    2. 丑数 II
  60. 其他算法
    1. 区间问题
    2. 阶乘算法题
    3. 一行代码就能解决的算法题
    4. 完美矩阵
    5. 分割数组为连续子序列:斗地主的顺子
    6. 为运算表达式设计优先级
    7. 丑数问题
    8. 常见的随机算法
    9. 如何同时寻找缺失和重复的元素
    10. 判断一个数是否是素数
    11. 位运算技巧
    12. 其他技巧总结
  61. LeetCode 刷题篇
    1. 买卖股票的最佳时机
    2. 买卖股票的最佳时机 II
    3. 最长连续序列
    4. 买卖股票的最佳时机 IV
    5. H 指数
    6. 移动零
    7. 递增的三元子序列
    8. 反转字符串中的元音字母
    9. 除法求值
    10. 种花问题
    11. 子数组最大平均数 I
    12. Dota2 参议院
    13. 小行星碰撞
    14. 钥匙和房间
    15. 最大连续 1 的个数 III
    16. 独一无二的出现次数
    17. 二叉树中的最长交错路径
    18. 拥有最多糖果的孩子
    19. 定长子串中元音的最大数目
    20. 删掉一个元素以后全为 1 的最长子数组
    21. 确定两个字符串是否接近
    22. K 和数对的最大数目
    23. 找到最高海拔
    24. 交替合并字符串
    25. 迷宫中离入口最近的出口
    26. 链表最大孪生和
    27. 找出两数组的不同
  62. 第四部分 计算机科学
  63. 前言
  64. Python 编程语言
    1. Python 语言基础
    2. Python 函数与模块
    3. Python 类
    4. Python 文件与异常处理
  65. 计算机网络篇
    1. 关于HTTP 的一些常见问题汇总
    2. 常见的几种 POST 数据提交方式
    3. 幂等与非幂等、HTTP 常见状态码
  66. 数据库
    1. 数据库事务(Transaction)的概念和重要性
  67. 其他
    1. 最常见的开源协议
  68. 第五部分 产品
  69. 前言
  70. XaaS
  71. 关于