刷完真能进大厂?
印度小哥 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 适合谁用?什么时候不要用它?
- 适合:跨专业转码、秋招提前批只剩 8 周、想从 CRUD 跳到外企的人。
- 不适合:已经在刷 LeetCode 2000+ 题的人(信息密度太低)、目标岗位是 ML/系统底层工程师(需要更深的论文和源码阅读)。
记住:repo 是地图,不是目的地。星标 ≠ 终点,行动才是。
Sources
- GitHub Trending 2026-07-01
- Krishnagangwal/CS-Fundamentals repo README
- r/cscareerquestions “Free CS fundamentals roadmap” 周更讨论
- r/india “placement prep 2026” 月度汇总帖
- NeetCode 150 官方 Roadmap(a2OJ 镜像)