分享一个github标星爆多的宝藏项目,也是github榜单前20里,唯一一个用中文进行介绍的项目。
项目名称:CS-Notes
项目地址:https://github.com/CyC2018/CS-Notes
175K的标星,在github排名13。
CS-Notes是一个怎样的项目?
项目最初发起,是为了方便技术人系统性准备技术面试而成立。后续逐步发展为算法学习,架构设计,编码实践等综合性的技术学习项目。
CS-Notes适合怎样的技术人学习?
项目最大的特点,就是针对职场不同阶段,不同诉求的同学,设置了不同的内容。
【1】职场新人
针对初入职场的技术人(包括校招生),可在CS-Notes针对性学习:
- 算法基础
- 计算机基础
– 网络基础
– 操作系统基础
– Socket基础
– HTTP基础
- SQL基础
- Java基础
- 面向对象
- 设计模式
等模块。
画外音:这一部分就不展开了。
【2】算法爱好者
针对日常细化在leetcode刷题的算法玩家,可在CS-Notes针对性学习算法。
leetcode上常见的算法分类基本都覆盖。
每一个算法分类下,包含了leetcode上常见的算法题。
对于每一个算法题,又有详细的复杂度分析,思路分析,以及示例代码。
总之,算法学习或者准备算法面试,CS-Notes这一个项目绝对够用。
【3】职场进阶
针对有一定经验,希望在技术上有持续提升的技术人,CS-Notes也有需要针对性资料。
1. Java方向
例如:Java容器源码的分析,使用场景分析等。
例如:Java并发相关的原理,机制,以及最佳实践。
又例如:Java虚拟机相关的原理,机制,以及最佳实践。
画外音:不足之处,语言只介绍了Java。
2. 数据库方向
MySQL相关的索引,查询优化,存储引擎,主从复制,水平切分,垂直切分等核心技术点全部包含。
不仅如此,MySQL相关的事务,锁,MVCC等内核技术点也均有包含。
画外音:不足之处,只介绍了MySQL。
3. 缓存方向
缓存主要介绍的是Redis,数据类型,内核数据结构,使用场景,与MC的比较,淘汰策略,持久化策略等核心技术点均包含。
画外音:不足之处,只介绍了Redis。
4. MQ方向
MQ相关的消息类型,使用场景,可靠性保障等核心技术点也都覆盖。
5. 架构设计
架构设计基础相关的内容,必然少不了。
分布式相关的内容:分布式锁,2PC,CAP,BASE,Paxos,Raft等核心知识点也有非常详细的介绍。