🔥 Hot Topics

刷完真能进大厂?

印度小哥开源的CS-Fundamentals突然冲到1224星:刷题党、DSA卷王、DBMS速记者都在抢,但只收藏不刷的占九成,看完这篇你才知道怎么把这份清单真正塞进校招复习的节奏里。

📅 July 1, 2026 📊 Level: intermediate 📦 GitHub: Krishnagangwal/CS-Fundamentals

Sponsored

刷完真能进大厂?

印度小哥 Krishnagangwal 在 GitHub 上开源的 CS-Fundamentals 最近悄悄涨到 1224 星,把 DSA、计算机网络、DBMS、SQL、OOP 这一整套印度校招(placement)核心考点压缩成一个仓库。在 LeetCode 锁题、付费课漫天要价、印度 IT 就业内卷加剧的当下,这份”口袋书”式的清单恰好踩中了”花最少时间过完一轮基础面”的痛点。它不是题库,而是路线图:每个模块下面挂着必读博客、经典题、常见陷阱和一张张 ASCII 速查表。GitHub Trending 在 2026-07-01 当天把它推上热门榜,说明它的受众已经不只是印度学生——国内秋招提前批已经启动,刷题党、跨专业转码人、想跳槽的初级工程师都在抄作业。

1. 只收藏不刷,为什么 CS-Fundamentals 没能救我?

现象:很多人把 repo 一键 fork 到个人仓库,README 看一遍,再也没打开过。两周后校招临近,发现自己对 DBMS 范式、TCP 三次握手还是支支吾吾。

根因:清单型 repo 的最大陷阱是”完成感错觉”——星标数不等于掌握度。CS-Fundamentals 的目录是按主题(Topic)横切的,而面试是按题型(Pattern)纵切的。两者不重合,光看主题清单就是”知识幻觉”。

解法:把 repo 转成 Anki 卡片 + 题单。每天 30 分钟先做一题,做不出来再回 repo 找对应章节。比如 DBMS 范式这节,先做一道”判断 2NF/3NF”的 SQL 题,再回到 repo 看范式定义。配合下面的最小 SQL 模板,能让你在五分钟内把依赖图画出来:

-- 找出违反第三范式的字段依赖
SELECT
  TABLE_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE REFERENCED_TABLE_NAME IS NOT NULL
  AND TABLE_SCHEMA = 'your_db';

把这张表的结果画成依赖图,就能直观看出哪些字段是非主属性对候选键的传递依赖——也就是 3NF 想消灭的东西。

2. DSA 应该按 repo 目录刷还是按题目类型刷?

现象:repo 给的 DSA 清单是按 Array、LinkedList、Tree、Graph 分类的,但面试时面试官往往只给一句”找出所有和为 target 的组合”。

根因:数据结构分类是”实现视角”,算法类型(双指针、滑动窗口、回溯、DP)是”解题视角”。两者维度正交,按 repo 目录刷完一遍,遇到变形题仍然傻眼。

解法:用 repo 的目录做”索引”,但用 NeetCode 150 / Blind 75 的 Pattern 做”重排”。给每个 Pattern 准备一个模板函数,下面是滑动窗口的标准骨架:

def sliding_window(s: str) -> int:
    left = 0
    window = {}
    res = 0
    for right, ch in enumerate(s):
        window[ch] = window.get(ch, 0) + 1
        while window[ch] > 1:           # 窗口需要收缩
            window[s[left]] -= 1
            left += 1
        res = max(res, right - left + 1)
    return res

刷题时把它套到 repo 推荐的 String 题上,先不看题解,自己改模板;改不动再看答案。两次”卡壳 + 解决”比十次”看懂 + 收藏”记得久。

3. Computer Networks 只背 TCP 三次握手够不够?

现象:repo 把 Network 分成 OSI 七层、TCP/UDP、HTTP、HTTPS、DNS、CDN 等小节。很多人只把三次握手、四次挥手背得滚瓜烂熟,结果面试被问”为什么 TIME_WAIT 要等 2MSL”就懵了。

根因:背诵 ≠ 理解。Computer Networks 的考点不是”是什么”,而是”为什么这么设计”和”出了故障怎么排查”。只背口诀遇到反问就破功。

解法:用 repo 当 checklist,但每个知识点必须能讲出一个”反常识”细节。比如:TCP 第三次握手可以带数据吗?(可以,前两次不行);HTTPS 真的安全吗?(TLS 1.0/1.1 早就被淘汰,但很多老旧 CDN 还在用);DNS 用 UDP 还是 TCP?(默认 UDP,超过 512 字节切 TCP)。推荐在 Wireshark 里抓一次 curl https://example.com,把每个包对照 repo 里的 OSI 图手动画一遍。亲手抓包一次比背十遍口诀管用。

4. OOP 部分要不要啃全部 23 个设计模式?

现象:repo 列了 SOLID 原则和 23 个设计模式。很多人纠结”我面的是后端岗,是不是要把所有模式都背一遍”。

根因:把”模式”和”原则”混为一谈。SOLID 是原则(必须懂),23 个模式是工具箱(按需取用)。全背等于没背。

解法:只精读 repo 里点名的 6 个高频模式:单例、工厂、策略、观察者、装饰器、适配器。其余的留个印象即可。面试时只要能说清”我用策略模式替换 if-else,让新增支付渠道不用改老代码”就够了。

5. 这个 repo 适合谁用?什么时候不要用它?

记住:repo 是地图,不是目的地。星标 ≠ 终点,行动才是。

Sources

📦 开源项目

本教程基于开源项目 Krishnagangwal/CS-Fundamentals 整理。

⭐ View on GitHub →

📚 Sources

Sponsored

🛠️ Related Tools & Resources

Mechanical Keyboards →
For coding & writing tutorials
USB-C Hubs →
Multi-monitor dev setup
Noise-Cancelling Headphones →
Focus while learning
Laptop Stands →
Ergonomics for long tutorials