C

CS Level Up系列介绍

2025-06-09

CS Level Up系列介绍

这个系列讲的是什么?目标是什么?

提升我的算法、数据结构和系统设计知识。目标是成为一个厉害的人。

格式是什么样的?你们将如何实现这个目标?

目前计划如下:

  1. 做一些准备工作,学习基础算法和数据结构。我将主要学习 Heapclub(一家现已关闭的面试辅导公司)的课程(课程安排请点击此处)。目标是对所有这些内容了如指掌。如果有时间,我也会学习数学部分。

  2. 准备工作完成后,我将采用与此处概述的类似的方法。我将使用 Leetcode。

  3. 为了更多地了解操作系统、网络和系统,我将使用以下资源:

  4. 同时,或者在完成上述步骤后,我将观看以下 YouTube 频道的所有系统设计视频:Tech Dummies - Narendra LSuccess in TechTushar Roy 的系统设计播放列表Gaurav Sen 的系统设计播放列表

  5. 为了获得更多的系统设计知识,我将阅读《设计数据密集型应用程序》一书。我会尽量读两遍。

  6. 为了巩固设计模式知识,我将使用来自Source Making 的设计模式的内容

  7. (可选)我可能会阅读并完成CTCI的所有相关章节。具体来说,这些章节包括:数学与逻辑谜题面向对象设计系统设计与可扩展性测试Java数据库线程与锁

  8. (也是可选的)SQL 资源:

  9. 我将参考的其他资源:

Heapclub 上可能没有,但我在论坛/文章/书籍中看到过一些课程,如果时间允许的话,可能会有帮助。以下是一些我认为比较重要的主题(按优先级排序):

  • 了解常见问题:斐波那契数列、有效/平衡括号、字符串的回文/字谜、旅行推销员、背包问题、最长公共子序列(使用动态规划,自下而上地使用矩阵)。
  • 不相交集/并查集
  • 滑动窗口
  • 拉宾-卡普
  • 二叉索引树(Fenwick树)
  • 二分图(检查图是否为二分图)
  • 迭代器和相关问题(展平嵌套列表迭代器、设计跳过迭代器、合并 K 个排序迭代器)
  • 最小生成树
  • 斐波那契堆及其保证
  • KMP 或 Z 算法(选择一项)
  • 线段树
  • 后缀树(无需担心压缩 + 了解 Ukkonen 算法)和/或后缀数组
  • 线扫描(几何相关,问题:矩形相交和天际线问题)

该项目预计耗时12-18个月

你是谁?

训练营毕业生,拥有 5.5 年软件工程经验。我之前做过一些基本的算法/数据结构方面的工作,但不多——而且几乎都忘光了。我数学很差,递归也很差劲。

(请注意,我之前链接到过此博客文章此另一篇文章- 这些文章似乎直接从 Heapclub 获取内容,同时删除了重要信息。)

鏂囩珷鏉ユ簮锛�https://dev.to/jjb/cs-level-up-series-part-0-cco
PREV
常见排序算法一般资源:排序的稳定性、就地与非就地、冒泡排序、选择排序、插入排序、希尔排序、快速排序、合并排序、堆排序、奖励排序 AWS 安全 LIVE!
NEXT
为开发人员和设计师提供免费指导平台