天天看点

我的知识组合一、思想建设二、计算机组成原理三、语言四、编码五、数据存储六、中间件七、系统架构八、计算机网络

一、思想建设

务实:《程序员修炼之道》。

《程序员修炼之道》读书笔记

格局打开:《浪潮之巅》。

《浪潮之巅》读书笔记

二、计算机组成原理

常识水平。

三、语言

1 Java

1.1 Java基础

比较扎实。用来写算法完全没有问题。

《华为精选练习题》专题

1.2 Java集合

背过八股文。

简易讨伐HashMap

所有带“简易”的文章,对现在的我来说都不是很满意,有时间的话会进行修改。

1.3 Java多线程

系统地学习过。

学习笔记的质量较低,已删除。

1.4 Java虚拟机

读过《深入理解Java虚拟机》,但是掌握得很一般。

背过八股文。

简易讨伐JVM

带“简易”的文章。

2 Python

2.1 Python基础

系统地学习过。

Python基础

工作中用到过,主要用来写脚本。

2.2 网络爬虫

简单地学习过,爬过一些不设防的网页。

网络爬虫基础

3 JavaScript

简单地写一写前端是没有问题的。

4 Shell

熟悉常用的命令。

看《程序员修炼之道》上面说,shell可以使工作效率提升很多,所以打算以后系统地学一下。

四、编码

1 优秀的设计

1.1 ETC原则

Easier To Change,优秀的设计比糟糕的设计更容易变更。

无论是什么设计原则,都是ETC的一个特例。

1.2 设计模式

系统地学习过,但由于当时基础薄弱,导致学习效果一般。

学习笔记的质量较低,已删除。

读了《程序员修炼之道》,对设计模式有了新的理解。

2 开发框架

2.1 Spring

读过《Spring揭秘》。

系统地学习过(包含Spring MVC)。

速通Spring

2.2 Spring Boot

在项目中用到过。

近期打算系统地学习一下。

2.3 Mybatis-Plus

在项目中用到过。

近期打算系统地学习一下。

3 测试

工作中经常写单元测试。

工作中会做集成测试,以行覆盖率和分支覆盖率作为评价代码质量的指标。

4 性能调优

了解性能调优的常规思路。

《谷粒商城》开发记录 7:压力测试和性能调优

5 算法

主要的知识来源为《labuladong的算法小抄》。

1) 线性表:《labuladong的算法小抄》专题 1:线性表

2) 非线性结构:《labuladong的算法小抄》专题 2:非线性结构

3) 动态规划:《labuladong的算法小抄》专题 3:动态规划

4) 贪心、回溯、DFS、BFS、位运算:

《labuladong的算法小抄》专题 4:算法技巧

五、数据存储

1 关系型数据库

1.1 MySQL

背过八股文。

简易讨伐MySQL

带“简易”的文章。

1.2 Oracle

工作中用到过,当MySQL来用的。

2 NoSQL数据库

2.1 Redis

系统地学习过。

讨伐Redis

比较重要的使用场景:

1) 缓存服务:《谷粒商城》开发记录 8:缓存技术

2) 记录session信息:《谷粒商城》开发记录 10:注册和登录

2.2 TBase

工作中用到过,当Redis来用的。

主要的使用场景是,在超时时间内不再处理相同的请求。

3 云存储

3.1 OSS

工作中用到过。

4 搜索引擎

在《数学之美》中了解到,搜索引擎 = 网络爬虫 + 倒排索引 + 网页排序算法。

4.1 Elasticsearch

在项目中用到过。简单地学了一下。

《谷粒商城》开发记录 6:Elasticsearch和商品上架

六、中间件

1 消息队列

在项目中用到过。简单地学了一下。

《谷粒商城》开发记录 11:消息队列和分布式事务

七、系统架构

1 项目架构

知道项目是怎么搭建起来的。

知道常用的元件在项目中各起到什么作用。

常用的元件:Nginx、Gateway、Nacos、Feign、MySQL、Redis、OSS、RabbitMQ、Elasticsearch、Sentinel、Sleuth等。

1.1 分布式架构

系统地学习过Zookeeper。

讨伐Zookeeper

2 云原生

了解过云原生。

云原生扫盲

八、计算机网络

系统地学习过概论、应用层、运输层,对网络层、链路层、物理层的了解不多。

1) 概论:《计算机网络:自顶向下方法》读书笔记 1:概论

2) 应用层和运输层:《计算机网络:自顶向下方法》读书笔记 2:应用层和运输层