從程序員進階成為架構師,並非一蹴而就,需要系統化、階段性地學習,在實戰項目中融會貫通,這如同打怪通關,我們得一關一關突破,每攻破一個關口,就能得到更精良的裝備,技能值也隨之不斷增長,直至大獲全勝。
凡事預則立,在開始行動之前,我們有必要先來了解下這個崗位的核心要求,以及必知必會的技術能力,只有目標清晰、方向明確,才能事半功倍。
大綱:
- 架構師崗位職責
- 架構師必知必會技術
- 架構師學習資料包【福利】
資料包內容:【BAT架構專題合集超500期】+【最新架構師130題】+【架構師技能圖譜全套】
01 架構師崗位職責
曾有人這樣形容架構師的重要性:架構師的工作就像是他打造一棵樹的主幹和枝幹,然後程序員們讓這棵樹上長出樹葉和果實。
架構師,是一個既需要掌控整體又要洞悉局部瓶頸,並依據具體的業務場景給出解決方案的團隊領導型人物,他需要參與項目開發的全部過程,包括需求分析、架構設計、系統實現、集成、測試和部署各個階段,負責在整個項目中對技術活動和技術說明進行指導和協調。
架構師職責簡單來說有三點:
1、確認需求與拆分系統
在項目開發過程中,架構師需要依據用戶需求,將完整的系統拆分為子系統和組件,形成不同的邏輯層或服務,確定各層的接口、層與層相互之間的關係,對整個系統分層進行“縱向”分解,對同一邏輯層分塊進行“橫向”分解。
2、技術選型
通過對系統的一系列的分解,最終形成了軟件的整體架構,依據整體架構需要進行技術選型。
3、製作技術規格說明
在整個研發過程中始終保持與開發人員保持溝通,以保證開發者依照原定的架構意圖去實現各項功能。
02 架構師必備能力
1、架構師能力圖譜
架構師的技術實力要強,具備技術廣度,同時,還要注重其它軟實力,譬如抽象能力、應急能力、管理能力、溝通能力、技術實力等。
2、架構師必知必會技術
架構師除了能擼一手高質量代碼,至少精通1-2門技術,還要具備足夠的技術廣度,從軟件到硬件、開發到測試、運維到安全等等,都要面面俱到去了解掌握。當然了,人的精力是有限的,我們不可能做到每個領域都去深入,但至少需要知道其概念、運行原理、如何運用等。
架構師必知必會技術範圍大致如下:
1) 集合框架(源碼)
- List
- ArrayList
- LinkedList
- Set:HashSet、TreeSet
- Map:TreeMap、ConcurrentHashMap
- Collection的synchronized等方法
2)、工具類
- Google guava(推薦)
- Apache common lang/BeanUtils/Collctions/IO
- JSON
- fastjson
- gson
- jackson
3) 框架
- Spring:IOC、AOP、常用註解
- SpringMVC
- Spring Boot
- Mybatis
- Shiro
- Netty
4) 安全
- 單項散列算法:MD5、SHA
- 對稱加密:DES
- 非對稱加密:RSA、HTTPS
5) JVM
- Java虛擬機(Hotspot實現)
- 類加載機制
- 內存模型
- GC:回收算法、垃圾收集器
- 調優
- 工具:jstack、jmap、jconsole
6) 併發編程
- Executor框架
- Fork/join
- happen-before
- 數據結構:ConcurrentHashMap
- 線程池:參數設置、原理、拒絕策略
- 線程狀態
- Lock/synchronized
- 原子操作類
- 併發工具類:CountDownLatch、Semaphore、CyclicBarrier、Exchanger
- IO、BIO、AIO、NIO
7) 數據
- NoSQL:MongoDB
- 分佈式緩存:Memcached、Redis(推薦)
- 關係數據庫
- MySQL
- 引擎
- InnoDB(支持事務)
- 分庫分表
- Cobar
- Mycat
8) SQL優化
- 索引
- 主鍵索引
- 組合索引
- explain
- 存儲過程
- SQL注入:使用#而不使用$
9) 事務隔離級別(ACID)
- 原子性
- 一致性
- 隔離性
- 持久性
10) 鎖
- 表鎖
- 行鎖
- 悲觀鎖
11) 大數據
- Hadoop
- Hbase
- Spark
- Storm/JStorm
12) 算法與數據結構
- 數組
- 鏈表
- 棧
- 隊列
- 樹
- 二叉樹
- B Tree/B+ Tree
- 紅黑樹
- 哈希
13) 分佈式系統
- 從集中到分佈式
- 分佈式Session:Session複製、Session綁定、Session服務器(靠譜)
- 分佈式緩存:Redis、一致性Hash算法
- 數據庫:讀寫分離、主從熱備、分庫分表、一致性
- 分佈式事務、CAP、BASE、2PC/3PC
- 分佈式鎖
- Redisson
- 負載均衡、硬件、F5、軟件、LVS、Nginx
- 消息隊列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka(推薦)
- 服務化:服務註冊與發現、Zookeeper
- 架構
- 微服務
- Spring Boot
- Dubbo
- RPC
- SOA
- 虛擬化
- Docker
03 架構師學習資料包
看完上面的內容,相信大家已經有了清晰的目標與方向,接下來就是查找學習資料了,我們為大家準備了一套體系化的架構師學習資料包,供大家參考,學習資料包內容及領取方法如下:
1、架構師學習資料包內容
- 《BAT架構專題合集超500期》
- 《最新架構師面試題目130道》
- 《最新架構師技能圖譜全套》
2、領取方法
關注+轉發後,私信我關鍵詞 【JG】即可獲取!
閱讀更多 優知學院 的文章