歡迎關注我的公衆號:四點鐘程序員(ID:jinxiaocai8)
程序員
若是是想持續從事軟件開發職業,架構師是軟件開發的必經之路,從網上整理了一下架構師必備的一些技能,弄成圖譜,後續逐個分享,同時該圖譜會不按期更新補充,歡迎你們踊躍交流。(最下面附圖譜腦圖)
web
數據結構算法
隊列數據庫
集合編程
鏈表、數組設計模式
字典、關聯數組數組
棧緩存
樹安全
二叉樹性能優化
徹底二叉樹
平衡二叉樹
二叉查找樹(BST)
紅黑樹
B-,B+,B*樹
LSM 樹
BitSet
經常使用算法
排序、查找算法
選擇排序
冒泡排序
插入排序
快速排序
歸併排序
希爾排序
堆排序
計數排序
桶排序
基數排序
二分查找
Java 中的排序工具
字符串比較
KPM 算法
深度優先、廣度優先
貪心算法
回溯算法
剪枝算法
動態規劃
樸素貝葉斯
推薦算法
最小生成樹算法
最短路徑算法
併發
多線程
線程安全
一致性、事務
事務 ACID 特性
事務的隔離級別
鎖
Java中的鎖和同步類
公平鎖 & 非公平鎖
悲觀鎖 & 樂觀鎖 & CAS
ABA 問題
CopyOnWrite容器
RingBuffer
可重入鎖 & 不可重入鎖
互斥鎖 & 共享鎖
死鎖
操做系統
計算機原理
進程
線程
協程
Linux
設計模式
設計模式的六大原則
23種常見設計模式
應用場景
單例模式
責任鏈模式
MVC
IOC
AOP
UML
微服務思想
康威定律
運維 & 統計 & 技術支持
常規監控
APM
統計分析
持續集成(CI/CD)
Jenkins
環境分離
自動化運維
Ansible
puppet
chef
測試
TDD 理論
單元測試
壓力測試
全鏈路壓測
A/B Test
虛擬化
KVM
Xen
OpenVZ
容器技術
Docker
雲技術
OpenStack
DevOps
文檔管理
中間件
Web Server
Nginx
OpenResty
Apache Httpd
Tomcat
架構原理
調優方案
Jetty
緩存
本地緩存
客戶端緩存
Memcached
Redis
架構
回收策略
Tair
消息隊列
消息總線
消息的順序
RabbitMQ
RocketMQ
ActiveMQ
Kafka
Redis 消息推送
ZeroMQ
定時調度
單機定時調度
分佈式定時調度
RPC
Dubbo
Thrift
gRPC
數據庫中間件
Sharding Jdbc
日誌系統
日誌蒐集
配置中心
API 網關
網絡
協議
OSI 七層協議
TCP/IP
HTTP
HTTP2.0
HTTPS
網絡模型
Epoll
NIO
kqueue
鏈接和短鏈接
框架
零拷貝(Zero-copy)
序列化(二進制協議)
Hessian
Protobuf
數據庫
基礎理論
數據庫設計的三大範式
MySQL
原理
InnoDB
優化
索引
彙集索引, 非彙集索引
複合索引
自適應哈希索引(AHI)
explain
NoSQL
MongoDB
Hbase
搜索引擎
搜索引擎原理
Lucene
Elasticsearch
Solr
sphinx
性能
應用場景
性能優化方法論
容量評估
CDN 網絡
鏈接池
性能調優
流式計算
Storm
Flink
Kafka Stream
Hadoop
HDFS
MapReduce
Yarn
Spark
安全
web 安全
XSS
CSRF
SQL 注入
Hash Dos
腳本注入
漏洞掃描工具
驗證碼
DDoS 防範
用戶隱私信息保護
加密解密
對稱加密
哈希算法
非對稱加密
服務器安全
數據安全
數據備份
網絡隔離
內外網分離
登陸跳板機
受權
RBAC
OAuth2.0
經常使用開源框架
開源協議
日誌框架
Log4j、Log4j2
Logback
ORM
網絡框架
Spring 家族
Web 框架
工具框架
分佈式設計
擴展性設計
穩定性 & 高可用
硬件負載均衡
軟件負載均衡
限流
應用層容災
跨機房容災
容災演練流程
平滑啓動
數據庫擴展
讀寫分離模式
分片模式
服務治理
服務註冊與發現
服務路由控制
分佈式一致
CAP 與BASE理論
分佈式鎖
分佈式一致性算法
PAXOS
Zab
Raft
Gossip
兩階段提交、多階段提交
冪等
分佈式一致方案
分佈式 Leader 節點選舉
TCC(Try/Confirm/Cancel) 柔性事務
分佈式文件系統
惟一ID 生成
全局惟一ID
一致性Hash算法
設計思想 & 開發模式
DDD(Domain-driven Design - 領域驅動設計)
命令查詢職責分離(CQRS)
貧血,充血模型
Actor 模式
響應式編程
DODAF2.0
Serverless
項目管理
架構評審
重構
代碼規範
RUP
看板管理
SCRUM
極限編程
敏捷開發
結對編程
架構師素質
團隊管理
KPI
OKR