架構師軟硬技能圖譜
阿新 • • 發佈:2020-03-07
最近老兵哥在構思從程式設計師到架構師的成長系列分享,梳理了從事架構工作需要熟悉或精通的軟硬技能,現釋出出來邀請各位小夥伴一起來探討,後續我還會繼續完善補充:
程式語言
- 強型別:C++、Java
- 弱型別:Javascript、Python
- 標記型:XML、HTML、JSON、YAML
開發框架
- 表現層:React、Vue、Flutter、Weex
- 領域層:Spring、Spring Boot
- 資料層:Hibernate、MyBatis、JPA
- 基礎層:Log4j、LogBack、Quartz、C3P0
程式設計
- 面向物件設計 OOD
- 設計模式 Design Patterns
- 領域驅動設計 DDD
資料庫類
- 關係型:MySQL、PostgreSQL、Oracle
- NoSQL:Redis、MongoDB、HBase、Neo4j
- SQL、儲存過程
- 查詢優化(索引、儲存、分割槽)
作業系統
- Linux、Windows、Android、iOS
- 程序、儲存、檔案、裝置、作業等
網路協議
- 網路層:IP
- 傳輸層:TCP、UDP
- 應用層:HTTP、FTP、SMTP、NTP
中介軟體類
- 訊息類:ActiveMQ、Kafka、RocketMQ
- 容器類:Apache、Tomcat、Nginx
- 檢索類:Lucene、Solr、ElasticSearch
安全機制
- 身份認證 OAuth2.0
- 許可權鑑權 RBAC
- 風險漏洞:XSS、CSRF、SQL 注入、指令碼注入
- 防範措施:驗證碼、數字簽名、數字證書
基礎架構
-
資源選型、容量估算
-
VPC、網路域、IP 網段、域名
-
防火牆策略
-
負載均衡策略(F5、LVS、HAProxy、Nginx)
資料架構
-
資料建模
-
儲存方案
-
資料庫選型
-
高可用方案(讀寫分離)
-
備份方案(冷熱、主從)
-
容災方案(同城、遠端)
-
同步方案(實時性)
應用架構
-
架構選型:C/S、B/S、SOA、微服務(Dubbo \ Spring Cloud \ Service MeshServerless
-
架構檢視:邏輯、過程、開發、部署等
-
介面設計:RESTful、JMS、IPC、RPC
分散式系統
-
擴充套件性設計
- 垂直擴充套件
- 水平擴充套件
-
可用性設計
- 限流
- 熔斷
- 降級
-
一致性設計
- ACID、BASE、CAP等理論
- 分散式事務(鎖)
- 分散式一致性演算法
-
分割槽容錯性
-
可靠性設計
- 服務隔離
- 非同步呼叫
- 資源冗餘
綜合技能
- 軟體工程
- 專案管理
- 自我銷售:寫作、PPT、演講、培訓、諮詢
架構師,是我們程式設計師打怪升級的主要方向,它不像某單項技能報個培訓班就能獲得,勝任架構工作需要慢慢積累許多技能,既有硬技能還有軟技能。一口吃不成胖子。從程式設計師到架構師也無法一蹴而就,它是一個循序漸進、穩步提升的進階過程,每個階段都有每個階段要掌握的技能,多項技能之間還存在先後順序。如果你想往架構師轉型升級,那你可以在日常工作中有意識地儲備這些技能。
堅持原創不易,如果你覺得有價值,麻煩動動手指點個 「贊」或 轉發 給更多小夥伴,老兵哥會更有動力堅持。另外,我還會持續分享職業規劃、應聘面試、技能提升、影響力打造等經驗,關注 「 IT老兵哥 」,賦能程式人生!
近期文章索引:
- 程式設計師,怎麼就成了一碗青春飯?
- 為什麼要成為「無敵」程式設計師?
- 程式設計師,怎樣打造個人影響力?
- 不寫情書,程式設計師還要學寫作嗎?
- 如何在打造影響力的路上碼不停?
- 程式設計師打造影響力常犯的 3 個錯