知识体系
语言清单
1. 基础——具备良好的编译原理、计算机操作系统原理与网络和数据结构
- 掌握http tcp、IPC基础
- linux、k3s、docker
- 掌握操作系统并发同步、常用数据结构,掌握的计算机⽹络协议HTTP、TCP
- 掌握linux操作系统、dock容器的使⽤
- 熟练使⽤Google, Stackoverflow等⽹站解决问题,⽆障碍阅读英文文档。
2. 语言要素
Java
- 基本类型 basics
- 常量const与变量
- 函数lambda
- 接口interface
- 类 class
- 枚举enum
- 泛型generics
- 注解annotation
- 包 package
- 模块 module
TypeScript
变量声明 是对类型指针的创建
对于堆内存来说,创建一种指向堆内存的新型执政
整个语言就是一部大型的类型史诗epic
类型声明、类型检查、类型推断
类型非常重要
- 基本类型
- 函数
- 接口
- 类
- 枚举
- 泛型
- 装饰器 类比 Java中的注解
- mixin
- 命名空间
- 模块
Go
无枚举、无泛型、无注解
- 基本类型
- 常量与变量
- 函数 func
- 接口 interface
- 结构体 struct
- 包
Objectvie-c
无枚举、无泛型、无注解
- 基本类型
- 常量与变量
- 函数 block
- 协议
- class
C#&&.NET
- 基础类型
- 常量与变量
- 函数
- 接口
- 类
- enum
- 泛型
- 特性
- 命名空间
深入理解面向对象方法论和设计模式
- 深刻理解面向接口编程、设计模式在业务场景中合理运用设计模式解耦保证可扩展性和可重用
- 合理使用SPI机制保证模块间的可扩展性
语言扩展Extension level1—— 语言的核心扩展
- exception
- reflect
- 并发(线程或协程)引用变量
- 基本引用变量和集合引用变量
- io引用变量
语言扩展Extension level2——单体扩展
- MVC
- ORM
- Net
- UIkit or DOM库
语言扩展Extension level3——分布式扩展
- 微服务
- 集群
- 中间件
语言的设计与实现
- jvm编译、加载、解释、内存管理
- Objective-c的runtime、runloop、内存管理
- 包管理机制
3. 数据库、ElasticalSearch、Redis和消息队列
- TiDB、Oracle 11g、Mysql、H2、SQLite
- 深入了解ACID理论,深入数据库B+ 树索引,ddl范式;
- 数据库undo和redo日志,数据备份
- kettle数据ETL⼯具
4. 分布式
- CAP、Base、2PC、3PC理论
- 高可用、高性能、数据一致性,服务治理
- 微服务 服务注册与发现、网关路由、负载均衡、流量治理、日志logging、链路tracing、metrics, 掌握并实践过微服务的包括网关、代理、统一日志收集、服务注册、缓存、分布式事务在内的基本原理,能在实践中解决相关业务问题。
- dubbo源码,rpc、负载均衡、API网关
- skywalking源码
- zookeeper
- etcd
- miniio
- es的使用
- nginx
- springgateway