10.02 大型網站Java架構師技術要求:系統+併發+構建+框架+安全+分佈式

大型網站Java架構師技術要求:系統+併發+構建+框架+安全+分佈式

在大型網站技術架構中,涉及到許多的技術,這些技術是具備大型網站架構設計能力的前提和基礎,文末有該Java架構師資料原圖下載~

計算機基礎

  1. 操作系統(推薦現代操作系統)
  2. 編譯原理
  3. 計算機網絡
  4. 互聯網協議
  • TCP/IP(推薦《TCP/IP協議族》)
  • HTTP1.1/2.0
  • HTTPS
  • OAauth 2.0
  • REST

集合框架(源碼)

  1. List
  2. ArrayList
  3. LinkedList
  4. Set:HashSet、TreeSet
  5. Map:TreeMap、ConcurrentHashMap
  6. Queue:ConcurrentLinkedQueue
  7. Stack
  8. Collection的synchronized等方法

工具類

  1. Google guava(推薦)
  2. Apache common lang/BeanUtils/Collctions/IO
  3. JSON
  4. fastjson
  5. gson
  6. jackson

框架

  1. Spring:IOC、AOP、常用註解
  2. SpringMVC
  3. Mybatis
  4. Shiro
  5. Netty

遠程調用(RPC)

  1. rmi
  2. Thrift
  3. Dubbo(Dubbox)
  4. 服務器治理,也可以作為微服務
  5. gRPC

構建

  1. Maven:推薦《Maven實戰》
  2. Gradle

安全

  1. 單項散列算法:MD5、SHA
  2. 對稱加密:DES
  3. 非對稱加密:RSA、HTTPS

JVM

  1. Java虛擬機(Hotspot實現)
  2. 類加載機制
  3. 內存模型
  4. GC:回收算法、垃圾收集器
  5. 調優
  6. 工具:jstack、jmap、jconsole

併發編程

  1. Executor框架
  2. Fork/join
  3. happen-before
  4. 數據結構:ConcurrentHashMap
  5. 線程池:參數設置、原理、拒絕策略
  6. 線程狀態
  7. Lock/synchronized
  8. 原子操作類
  9. 併發工具類:CountDownLatch、Semaphore、CyclicBarrier、Exchanger
  10. IO、BIO、AIO、NIO

數據

NoSQL:MongoDB

分佈式緩存:Memcached、Redis(推薦)

關係數據庫

  • MySQL
  • 引擎
  • InnoDB(支持事務)
  • 分庫分表
  • Cobar
  • Mycat

SQL優化

  1. 索引
  2. 主鍵索引
  3. 組合索引
  4. explain
  5. 存儲過程

SQL注入:使用#而不使用$

事務隔離級別(ACID)

  1. 原子性
  2. 一致性
  3. 隔離性
  4. 持久性

  1. 表鎖
  2. 行鎖
  3. 悲觀鎖

數據庫設計

範式

  1. 第一範式
  2. 第二範式
  3. 第三範式
  4. E-R圖

搜索引擎

Luecene

Solr

ElasticSearch

大數據

  1. Hadoop
  2. Hbase
  3. Spark
  4. Storm/JStorm

算法與數據結構

  1. 數組
  2. 鏈表
  3. 隊列
  4. 二叉樹
  5. B Tree/B+ Tree
  6. 紅黑樹
  7. 哈希

排序

  1. 內部排序
  2. 插入排序
  3. 直接插入排序
  4. 希爾排序
  5. 選擇排序
  6. 簡單選擇排序
  7. 堆排序
  8. 交換排序
  9. 冒泡排序
  10. 快速排序
  11. 歸併排序
  12. 基數排序
  13. 桶排序
  14. 外部排序

分佈式系統

  1. 從集中到分佈式
  2. 分佈式Session:Session複製、Session綁定、Session服務器(靠譜)
  3. 分佈式緩存:Redis、一致性Hash算法
  4. 數據庫:讀寫分離、主從熱備、分庫分表、一致性
  5. 分佈式事務、CAP、BASE、2PC/3PC
  6. 分佈式鎖
  7. Redisson
  8. 負載均衡、硬件、F5、軟件、LVS、Nginx
  9. 消息隊列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka(推薦)
  10. 服務化:服務註冊與發現、Zookeeper
  11. 架構
  12. 微服務
  13. Spring Boot
  14. Dubbo
  15. RPC
  16. SOA
  17. 虛擬化
  18. Docker

大型網站Java架構師技術要求:系統+併發+構建+框架+安全+分佈式

以上架構師技能(高清原圖):資料獲取方式

關注+轉發後,私信關鍵詞 【架構師】即可獲取!

重要的事情說三遍,轉發、轉發、轉發後再發私信,才可以拿到!

大型網站Java架構師技術要求:系統+併發+構建+框架+安全+分佈式


分享到:


相關文章: