主要是记录一下作为后端开发需要了解的知识点,作为之后学习的参考。
主要是java、C#以及shell等。
网络协议:TCP/IP、DNS、HTTP、HTTP2.0、HTTPS、SSL、NAT、SMTP等。
网络模型:Epoll、NIO、kqueue等。
序列化(二进制协议):Hessian、Protobuf。
数组
链表
队列
栈
堆
哈希
树:二叉树、完全二叉树、平衡二叉树、红黑树、B树、B+树
高级数据结构:LSM tree、跳表
分治算法
动态规划
贪心算法
回述
分支界定
排序、查找算法:选择排序、冒泡排序、插入排序、快速排序、归并排序、堆排序、计数排序、桶排序、基数排序、二分查找
调度策略:进程调度、时间管理、内核同步、中断、系统调用【上下文切换】
内存管理:内核空间、用户空间、虚拟地址以及动态内存映射、缓存处理、【零拷贝】、【伪共享】
文件系统:虚拟文件系统、本地文件系统、buffer cache
计算机原理
进程
线程
协程
Linux
23种常见设计模式
责任链模式
MVC
IOC
AOP
UML
微服务思想
DDD领域驱动设计
Actor模式
响应式编程
多线程
线程安全
一致性、事务:事务ACID特性
多线程:事务隔离级别、MVCC、Spring事务传播级别
锁:Java中的锁和同步类、公平锁和非公平锁、悲观锁乐观锁CAS、ABS问题
CopyOnWrite容器、RingBuffer、可重入锁和不可重入锁
Jenkins
环境分离:测试环境、集成环境、生产环境
文档管理
自动化测试
灰度发布升级
可观测:日志、监控、链路追踪
自动化运维:Ansible、puppet、chef
APM
统计分析
TDD理论
单元测试
压力测试
全链路压测
ABTest
RUP
看板管理
SCRUM
极限编程
敏捷开发
结对编程
高内聚
低耦合
削峰
可拓展
架构图
部署图
业务图
流程图
线程池
内存池
连接池
对象池
无锁化实现:CAS、RCU
响应式编程/Actor模式
柔性
容错容灾:硬件负载均衡、软件负载均衡、限流、应用层容灾、跨机房容灾、容灾演练、平滑慢启动、异地灾备、熔断
限流
过载保护
自动降级
水平扩缩容
垂直扩缩容
SET化部署
拓展性设计
服务治理:服务注册与发现、服务路由控制、服务健康检测、多注册中心
分布式一致:CAP与BASE理论、分布式锁、分布式一致性算法、幂等 、分布式一致方案、分布式Leader节点选举、TCC柔性事务、分布式事务
分布式文件系统
唯一ID生成:全局唯一ID、数据库主键自增、雪花算法、Redis自增
一致性Hash算法
数据分配与倾斜
网络架构:骨干网、城域网、BGP
网络传输加速:就近接入、代理&VPN、CDN、P2P
K8S容器化&虚拟机
数据中心的网络架构
网络硬件技术:RDMA、DPDK、SR_IOV
存储硬件:HDD、SSD、PMem、Tape、JBOD、RAID、SPDK
计算:GPU、ARM、SIMD
静态加速
流媒体传输
KVM:虚拟化
Xen
OpenVZ
Docker/K8S:容器技术
NFS
分布式文件系统
Zookeeper
Consul
ETCD
Nacos
Eureka
开源协议
日志框架:Log4j、Log4j2、Logback
ORM
网络框架
Web框架
工具框架
Dubbo
Thrift
gRPC
日志搜集:ELK
跨链路追踪:
监控搜集:硬件监控 容器监控 应用监控 监控大盘 告警
Mysql:分库分表、主从复制、不停机进行分库分表操作流程
Postgresql:
KV数据库:Redis、Rocksdb
列存储数据库:Hbase、Cassandra、ClickHouse
文档型数据库:MongoDB
时许数据库:InflusDB、各类TSDB
搜索数据库:ElasticSearch、Solr、sphinx、Lucene
图数据库
COS
Nginx
OpenResty
ApacheHttp
Tomcat
Jetty
消息总线
RabbitMQ
RocketMQ
ActiveMQ
Kafka
ZeroMQ
Redis消息推送
ShardingJDBC
伪随机数产生器(Cryptographically Secure Pseudo-Random Number Generator,简称CSPRNG)
密码散列函数(Cryptographic Hash Function)
对称/非对称加解密算法
消息认证码(Message Authentication Code)
数字签名(Digital Signature)
数字证书(Digital Certificate)
数字认证中心(Certificate Authority)
认证(Authentication)
授权(Authorization)
审计(Auditing)
存储加密&传输加密
参数校验&预防注入
跨站脚本攻击XSS
CSRF
SQL注入
脚本注入
漏洞扫描工具
验证码
对称加密
哈希算法
非对称加密
RBAC
OAuth2.0
Spark Streaming
Flink
Storm
KafkaStream
应用场景
Hive
impala
clickhouse
HDFS
MapReduce
Yarn
聚类
分类
回归
深度学习
神经网络
本文主要是介绍了后端开发需要了解的知识点,以供参考和学习