Skip to content

ViaLight/CS-Study-Notes

 
 

Repository files navigation

写在最前

John Washam 记录了自己从Web开发者(自学、非计算机科学学位)蜕变至 Google软件工程师的学习历程coding-interview-university

受其启发,我也根据自身情况及诉求制定了学习计划。希望通过接下来长时间的学习与实践,打通任督二脉,对计算机科学有体系的理解,逐渐蜕变为一位优秀的软件工程师。

正式开始之前

不可能把所有的东西都记住

与John Washam文章记住计算机科学知识描述的一样,我经常是看了数小时的视频,并记录大量的笔记。一段时间过后,基本上忘却大部分的内容。

推荐学习课程Learning How to Learn: Powerful mental tools to help you master tough subjects

使用抽认卡

为了解决善忘的问题,可以制作不同的抽认卡帮助学习。

John Washam的抽认卡:

另外推荐支持多平台的软件——Anki,相似功能APP推荐——记乎

复习、复习、再复习

制作出各种抽认卡后,需要我们在空余的时候去复习。编程累了就休息半个小时,并去复习抽认卡,如此反复。

专注

在学习的过程中,往往会有许多令人分心的事占据着我们宝贵的时间。因此,专注和集中注意力是非常困难的。放点纯音乐能帮上一些忙。

项目结构

CS-Notes-Kz
├── 计算机基础
|    ├── 计算机网络
|    ├── 操作系统
|    └── 其他
├── 数据结构与算法
|    ├── 数据结构
|    ├── 算法
|    └── LeetCode
├── 开发工具
├── Java
|    ├── JavaSE
|    ├── 多线程&&并发编程
|    ├── JVM
|    ├── Java设计模式
|    ├── Java新特性
|    ├── JavaEE
|    ├── Spring全家桶
|    |    ├── Spring
|    |    ├── SprinBoot
|    |    └── SpringMVC
|    └── 其他
├── Python
├── Golang
├── 前端
|    ├── 前端基础
|    |    ├── HTML
|    |    ├── CSS
|    |    └── JAVAScript
|    ├── 模板引擎
|    |    ├── Thymeleaf
|    |    └── FreeMarker
|    └── 组合框架
|    	  ├── Vue
|    	  └── React
├── 软件设计
|    ├── 编程范式
|    └── 设计原则
├── Linux
├── 数据库
|    ├── 数据库基础
|    ├── 关系型数据库
|    |    ├── Mysql
|    |    └── Oracle
|    └── NoSQL数据库
├── 分布式系统
|    ├── 分布式理论
|    ├── 分布式事务
|    ├── 分布式存储和数据库
|    ├── 分布式消息系统
|    ├── 分布式监控和跟踪
|    ├── 设计模式
|    ├── 弹性伸缩
|    ├── 致性哈希
|    ├── 数据库分布式    
|    ├── 缓存
|    └── 消息队列    
├── 微服务
|    ├── 服务注册/发现
|    ├── 网关
|    ├── 服务调用(负载均衡)
|    ├── 熔断/降级
|    ├── 配置中心
|    ├── 认证和鉴权
|    ├── 分布式事务
|    ├── 任务调度
|    ├── 链路追踪与监控    
|    └── 日志分析与监控
├── 容器化/自动化运维
|    ├── 容器技术
|    ├── CND加速
|    ├── 代码质量检验
|    └── 日志分析/收集
├── 机器学习/人工智能
├── 大数据
├── 源码分析
├── 面试
├── 其他
└── images

Let's go!!!

About

Stay Hungry, Stay Foolish.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages