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架构师技术要求:系统+并发+构建+框架+安全+分布式


分享到:


相關文章: