不可多得的后端架构师技术图谱!内附参考资料!

数据结构

  • 二叉树
  • 完全二叉树
  • 平衡二叉树
  • 二叉查找树(BST)
  • 红黑树
  • B-,B+,B*树
  • LSM 树
  • 队列
  • 集合
  • 链表、数组
  • 字典、关联数组
  • BitSet

常用算法

  • KPM 算法
  • 选择排序
  • 冒泡排序
  • 插入排序
  • 快速排序
  • 归并排序
  • 希尔排序
  • 堆排序
  • 计数排序
  • 桶排序
  • 基数排序
  • 二分查找
  • Java 中的排序工具
  • 排序、查找算法
  • 布隆过滤器
  • 字符串比较
  • 深度优先、广度优先
  • 贪心算法
  • 回溯算法
  • 剪枝算法
  • 动态规划
  • 朴素贝叶斯
  • 推荐算法
  • 最小生成树算法
  • 最短路径算法

并发

  • Java中的锁和同步类
  • 公平锁 & 非公平锁
  • 悲观锁 & 乐观锁 & CAS
  • ABA 问题
  • CopyOnWrite容器
  • RingBuffer
  • 可重入锁 & 不可重入锁
  • 互斥锁 & 共享锁
  • 死锁
  • 事务 ACID 特性
  • 事务的隔离级别
  • 多线程
  • 线程安全
  • 一致性、事务

操作系统

  • 计算机原理
  • 进程
  • 线程
  • 协程
  • Linux

设计模式

  • 康威定律
  • 设计模式的六大原则
  • 23种常见设计模式
  • 应用场景
  • 单例模式
  • 责任链模式
  • MVC
  • IOC
  • AOP
  • UML
  • 微服务思想

运维 & 统计 & 技术支持

  • OpenStack
  • Docker
  • KVM
  • Xen
  • OpenVZ
  • TDD 理论
  • 单元测试
  • 压力测试
  • 全链路压测
  • A/B Test
  • Ansible
  • puppet
  • chef
  • Jenkins
  • 环境分离
  • 常规监控
  • APM
  • 统计分析
  • 持续集成(CI/CD)
  • 自动化运维
  • 测试
  • 虚拟化
  • 容器技术
  • 云技术
  • DevOps
  • 文档管理

中间件

  • 日志搜集
  • Sharding Jdbc
  • Dubbo
  • Thrift
  • gRPC
  • 单机定时调度
  • 分布式定时调度
  • 消息总线
  • 消息的顺序
  • RabbitMQ
  • RocketMQ
  • ActiveMQ
  • Kafka
  • Redis 消息推送
  • ZeroMQ
  • Memcached
  • Redis
  • Tair
  • 架构
  • 回收策略
  • 本地缓存
  • Nginx
  • OpenResty
  • Apache Httpd
  • Tomcat
  • Jetty
  • 架构原理
  • 调优方案
  • Web Server
  • 缓存
  • 客户端缓存
  • 消息队列
  • 定时调度
  • RPC
  • 数据库中间件
  • 日志系统
  • 配置中心
  • API 网关

网络

  • Hessian
  • Protobuf
  • Epoll
  • NIO
  • kqueue
  • OSI 七层协议
  • TCP/IP
  • HTTP
  • HTTP2.0
  • HTTPS
  • 协议
  • 网络模型
  • 连接和短连接
  • 框架
  • 零拷贝(Zero-copy)
  • 序列化(二进制协议)

数据库

  • MongoDB
  • Hbase
  • 原理
  • InnoDB
  • 优化
  • 索引
  • explain
  • 聚集索引, 非聚集索引
  • 复合索引
  • 自适应哈希索引(AHI)
  • 数据库设计的三大范式
  • 基础理论
  • MySQL
  • NoSQL

搜索引擎

  • 搜索引擎原理
  • Lucene
  • Elasticsearch
  • Solr
  • sphinx

性能

  • HDFS
  • MapReduce
  • Yarn
  • Storm
  • Flink
  • Kafka Stream
  • 应用场景
  • 性能优化方法论
  • 容量评估
  • CDN 网络
  • 连接池
  • 性能调优
  • 流式计算
  • Hadoop
  • Spark

安全

  • RBAC
  • OAuth2.0
  • 内外网分离
  • 登录跳板机
  • 数据备份
  • 对称加密
  • 哈希算法
  • 非对称加密
  • XSS
  • CSRF
  • SQL 注入
  • Hash Dos
  • 脚本注入
  • 漏洞扫描工具
  • 验证码
  • web 安全
  • DDoS 防范
  • 用户隐私信息保护
  • 加密解密
  • 服务器安全
  • 数据安全
  • 网络隔离
  • 授权

常用开源框架

  • Spring 家族
  • Log4j、Log4j2
  • Logback
  • 开源协议
  • 日志框架
  • ORM
  • 网络框架
  • Web 框架
  • 工具框架

分布式设计

  • 全局唯一ID
  • CAP 与 BASE 理论
  • 分布式锁
  • 分布式一致性算法
  • 幂等
  • 分布式一致方案
  • 分布式 Leader 节点选举
  • TCC(Try/Confirm/Cancel) 柔性事务
  • PAXOS
  • Zab
  • Raft
  • Gossip
  • 两阶段提交、多阶段提交
  • 服务注册与发现
  • 服务路由控制
  • 读写分离模式
  • 分片模式
  • 硬件负载均衡
  • 软件负载均衡
  • 限流
  • 应用层容灾
  • 跨机房容灾
  • 容灾演练流程
  • 平滑启动
  • 扩展性设计
  • 稳定性 & 高可用
  • 数据库扩展
  • 服务治理
  • 分布式一致
  • 分布式文件系统
  • 唯一ID 生成
  • 一致性Hash算法

设计思想 & 开发模式

  • 命令查询职责分离(CQRS)
  • 贫血,充血模型
  • DDD(Domain-driven Design - 领域驱动设计)
  • Actor 模式
  • 响应式编程
  • DODAF2.0
  • Serverless

项目管理

  • 架构评审
  • 重构
  • 代码规范
  • RUP
  • 看板管理
  • SCRUM
  • 极限编程
  • 敏捷开发
  • 结对编程

通用业务术语

技术趋势

架构师素质

团队管理

  • 招聘

资讯

  • 在线电子书
  • 纸质书
  • 开发方面
  • 架构方面
  • 技术管理方面
  • 基础理论
  • 工具方面
  • 大数据方面
  • 团队博客
  • 个人博客
  • 行业资讯
  • 公众号列表
  • 博客
  • 综合门户、社区
  • 问答、讨论类社区
  • 行业数据分析
  • 专项网站
  • 其他类
  • 推荐参考书

技术资源

  • 开源资源
  • 手册、文档、教程
  • 在线课堂
  • 会议、活动
  • 常用APP
  • 找工作
  • 工具
  • 代码托管
  • 文件服务
  • 综合云服务商

部分内容截图如下:

如何获取:

由于知识点众多,特整理在GitHub上,微信外链限制,无法在文本中直接加上超链接,有需要的欢迎Start/Fork,地址如下:

https://github.com/xingshaocheng/architect-awesome

原文发布于微信公众号 - Java团长(javatuanzhang)

原文发表时间:2018-05-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玉树芝兰

如何在Jupyter Notebook中使用Python虚拟环境?

如何在使用Jupyter Notebook时,解决Python虚拟环境间的切换问题?本文一步步帮你拆解。希望你能够避免踩坑的痛苦,把更多的时间花在愉快的编程上。

3053
来自专栏xdecode

后端架构师技术图谱

转自: GitHub/architect-awesome , 大体结构如下(更新时间: 2018-06-22)

1.3K6
来自专栏JAVA技术zhai

你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看)

9389
来自专栏Albert陈凯

2018-08-05 没有测试用例的代码,根本不应该跑在服务器上

在实际测试中,一个单元可以小到一个方法,也可以大到包含多个类。从定义上讲,单元测试和集成测试是有严格的区分的,但是在实际开发中它们可能并没有那么严格的界限。如果...

2155
来自专栏圣杰的专栏

DDD理论学习系列(6)-- 实体

1.引言 实体对应的英语单词为Entity。提到实体,你可能立马就想到了代码中定义的实体类。在使用一些ORM框架时,比如Entity Framework,实体作...

2668
来自专栏Kirito的技术分享

天池中间件大赛百万队列存储设计总结【复赛】

维持了 20 天的复赛终于告一段落了,国际惯例先说结果,复赛结果不太理想,一度从第 10 名掉到了最后的第 36 名,主要是写入的优化卡了 5 天,一直没有进展...

2213
来自专栏极客生活

真正好用的python库

这个库是我安装完python环境后第一个安装的库,装上这个库再开始写代码才有底气,作者 Kenneth Reitz 是公认python领域代码写的最好的两个人之...

1243
来自专栏AI派

早上起床后不想动,让 Python 来帮你朗读网页吧

之所以用 Python,就是因为 Python 有着丰富的库,网页正文识别也不在话下。这里我尝试了 readability、goose3。

1892
来自专栏tkokof 的技术,小趣及杂念

小话游戏脚本(一)

( 题记:近来在网上学习到一个新的观点(应该是来自刘未鹏的BLOG :) ):书写是为了更好的学习,这与之前脑子里传道授业解惑的观点颇为迥异,品一品又颇以为然...

961
来自专栏Java技术栈

分享18道Java基础面试笔试题(面试实拍)

上图来自Java技术栈微信群里的群友分享,看起来比较基础,但不一定人人都答得上来。 图片比较模糊,小编把题目进行了文字化。 1.你最常上的两个技术站和最常使用的...

47911

扫码关注云+社区

领取腾讯云代金券