互联网工程部分知识结构整理

以下大纲内容整理自图灵学院分享的知识脑图。结构化知识点,供大家自己学习的时候参考,不至于太盲目。

一、互联网专题

  1. git

    1. 整体认知git体系
      1. git在互联网公司应用情况
      2. git和svn区别
    2. 动手搭建git客户端与服务端
      1. 基于Linux搭建git服务
      2. 基于ssh开发git服务
      3. 掌握git客户端的基本应用
    3. 掌握git核心命令
      1. 本地仓库
        • 新建和远程克隆git项目
        • add与commit文件
      2. 远程仓库
        • 掌握本地仓库、远程仓库及中心仓库的概念
        • 远程仓库添加及状态查看
      3. 分支管理&标签
        • 分支创建、回滚、合并
        • 分支冲突解决
        • 分支状态与commit记录
        • 掌握标签的正确使用
    4. 整体认知git体系结构
      1. git web服务器搭建与使用
        • gogs安装
        • gogs自动备份与恢复
        • gogs迁移
        • gogs核心操作
        • gogs bug踩坑经验
      2. 企业版本迭代分支管理经验
        • 日常高频率迭代分支管理办法
        • 紧急上线分支管理
        • 日常普通迭代分支管理办法
  2. maven

    1. 整体认知maven体系结构
      1. 理解maven结构思路
      2. 了解maven内部运作原理
        • maven生命周期理解
        • maven插件体系理解
    2. 掌握maven核心命令
      1. clean,complie,test,package,install,deploy
    3. 掌握maven的pom配置体系
      1. 模块配置
      2. 属性配置
      3. 依赖配置
      4. 构建配置
      5. 插件配置
    4. 搭建Nexus私服
      1. 理解maven私服在可持续集成当中的作用
      2. 动手搭建nexus私服
      3. nexus仓库管理
  3. Jenkins

    1. 理解可持续集成
      1. 持续集成
      2. 持续交互
      3. 持续部署
    2. 整体认知Jenkins
      1. 详解Jenkins pipeline体系
      2. 详解Jenkins
    3. 动手搭建Jenkins
    4. Jenkins
      1. 构建环境配置
      2. 配置自动部署
      3. 远程仓库推送
      4. 自动触发构建
    5. Jenkins插件体系
      1. 常用插件安装使用
      2. 插件开发

二、源码框架专题

  1. 应用框架Spring
    1. Spring Framework
      1. 整体认知spring体系结构
      2. 理解spring IOC容器设计原理
      3. 掌握IOC Bean生命周期
      4. Spring contex装载过程
      5. factorybean与beanfactory区别
      6. 掌握spring AOP编程概念
      7. 深入理解AOP底层实现
      8. 基于Spring AOP实现应用插件机制
    2. Spring MVC
      1. 理解MVC设计思想
      2. 从dispatchServlet出发,讲述mvc体系结构组成
      3. 基于dispatchServlet核心类结构
      4. mvc执行流程讲解
      5. requestMapping实现原理
      6. MVC初始化过程源码深度解读
      7. 熟悉MVC组建体系
        • 映射器原理实现
        • 执行适配器原理实现
        • 视图解析器原理实现
        • 异常捕捉器原理实现
  2. ORM框架Mybatis
    1. 整体认知mybatis
      1. mybatis与hibernate对比
      2. mybaits适应场景
      3. mybaits优缺点
    2. mybatis核心应用与配置
      1. Cofig、Sql配置
      2. Mapper配置
      3. Spring与Mybatis集成
    3. mybatis源码分析
      1. 熟悉mybaits内部运行机制
      2. 熟悉mybatis初始化过程
      3. 源码debug解读
      4. mybaits二级缓存应用
      5. 手写实现mybatis框架

三、并发编程专题

  1. 并发包之executor线程池
    1. Furure
      1. RunnableFuture
        • RunnableFuture
        • RunnableScheduledFuture
      2. ScheduledFuture
      3. Thread Runnable Callable
    2. Executor
      1. AbstractExecutorService
        • ThreadPoolExecutor
        • ScheduledExecutorService
          • ScheduledThreadPoolExecutor
    3. 源码分析,深入讲解
  2. 并发包之locks锁
    1. Synchronized, Volatile, AbstractQueueSynchronizer
    2. ReentrantLock, Condition, ReentrantReadWriteLock, ReadWriteLock
  3. 并发包之tools限制
    1. CountDownLatch
    2. Semaphore
  4. 并发包之atomic原子
    1. atomic类 ThreadLocal ABA JMM
    2. CAS算法 乐观锁
  5. 并发包之Collections容器
    1. 并发Queue
      1. BlockingQueue
        • ArrayBlockingQueue
        • ConcurrentLinkedQueue
    2. 并发Map
      1. ConcurrentHashMap
    3. 并发List,Set
      1. CopyOnWriteArrayList
      2. CopyOnWriteArraySet

四、性能调优专题

  1. jvm性能调优
    1. jvm,jdk,jre关系
    2. JVM垃圾收集核心:垃圾回收,并行,串行
    3. JVM性能调优与工具排查
  2. mysql性能调优
    1. Mysql索引数据结构深度讲解
    2. Mysql执行计划与索引讲解
    3. 深入索引sql语句等优化
  3. nginx性能调优
    1. 整体认知nginx项目构架
      1. 核心模块
      2. 标准http模块
      3. 可选http模块
      4. 第三方模块
      5. nginx事件驱动模型及特征
    2. 熟练掌握nginx核心配置
      1. 基本配置
      2. 虚拟主机配置
      3. upstream
      4. location
      5. 静态目录配置
    3. 掌握nginx负载均衡算法配置
      1. 轮询+权重
      2. ip hash
      3. url hash
      4. least_coon
      5. least_time
  4. tomcat调优
    1. 整体认知tomcat项目架构
      1. 理解tomcat启动流程
      2. 理解对http请求解析与处理流程
      3. 核心组件认知
        • wrapper
        • context
        • host
        • engine
        • container
      4. tomcat8与tomcat7 对比
    2. 生产环境配置
      1. tomcat server.xml配置详解
      2. tomcat集群与会话复制方案实现
      3. tomcat虚拟主机配置
    3. 掌握tomcat线程模型背后原理
      1. tomcat支持四种线程模型介绍
      2. 通过压测演示Nio与Bio模型的区别
      3. tomcat Bio实现源码解读
      4. tomcat Nio实现源码解读
      5. tomcat connector 并发参数解读

五、分布式框架专题

  1. 初识分布式
    1. 分布式系统定义与意义
    2. 分布式系统基础知识
    3. 淘宝电商架构演变过程
    4. 大型网站架构模式
      1. 大型网站分层、分割模式
      2. 大型分布式、集群模式
      3. 分布式中缓存、异步模式
      4. 分布式系统冗余、扩展模式
    5. 大型网站架构要素
      1. 分布式系统之高并发原子:无状态、拆分、服务化、消息队列
      2. 分布式系统之高可用原子:降级、限流、备份、监听
  2. 分布式中间件
    1. 分布式服务治理(zookeeper,dubbo)
      1. 分布式下应用系统服务化通讯技术
      2. 从集中到分布式特点 ACID到CAP/BASE基础
      3. 分布式协同框架Zookeeper
        • Zoopkeeper集群部署与快速入门
        • 深入Zookeeper典型应用场景之服务注册与发现
        • 深入Zookeeper中znode、watcher、ACL、客户端API详解
        • 深入Zookeeper客户端服务端源码分析
        • 深入熟悉Zookeeper迁移、扩容、监控详解
      4. RPC服务框架之Dubbo
        • 从0到1整体认知分布式系统
          • 分布式架构的发展历史与背景
          • 如何着手架构一套分布式系统
          • 分布式架构带来的成本与风险
        • 快速掌握dubbo常规应用
          • dubbo作用简要说明、快速演示dubbo调用实例
          • dubbo架构与基本角色说明
          • dubbo基本应用与配置说明
        • dubbo企业级应用进阶
          • 分布式项目开发与联调
          • dubbo控制管理后台使用
          • dubbo注册中心使用
        • RPC协议底层原理与实现
          • RPC协议报文编码与实现详解
          • dubbo中所支持RPC协议使用
        • dubbo调用模块详解
          • dubbo调用模块详解(容错、负载均衡、异步调用、过滤器)
          • dubbo其他使用场景详解(泛化调用与引用、隐式传参、令牌验证)
          • dubbo路由功能使用
    2. 分布式消息异步解耦(rocketMq,Kafka)
      1. 初识消息中间件特性与规划
      2. 阿里双十一交易系统与统计系统场景讲解
      3. 常见消息中间件kafka、activeMq、rocketMq对比
      4. 分布式消息框架之RocketMq
        • 解密rocketMq集群部署与快速入门
        • 深入分析RocketMq模块划分与集群原理讲解
        • 详解普通消息、顺序消息、事务消息、定时消息
        • 深入RocketMq Broker、Consumer、Producer源码分析
        • 详解RocketMq监控与运维
        • 企业实战RocketMq消息中间件API架构开发
      5. 分布式消息框架之Kafka
        • Kafka发展介绍与对比
        • Kafka集群搭建与使用
        • Kafka原理分析
    3. 分布式数据缓存(Redis)
      1. 关系型数据库的瓶颈与优化
      2. 非关系型数据库中间件mongoDb、redis、tair、memcache、neo4j对比
      3. 分布式数据库存储之Redis
        • 行业使用redis场景详解与演变过程
        • 解密Redis基本数据类型、哨兵机制、复制、常用命令
        • 快速开始Redis Cluster集群与原理
        • 深入详解集群分配算法详解与动态水平扩容与监控
        • 深入详解Jedis cluster开发与通讯协议详解
        • 实战企业级项目Redis框架gcache架构与开发
    4. 分布式数据存储(sharding-sphere)
      1. 初识分布式下数据库瓶颈
      2. 为何要读写分离、分库分表
      3. 常见分片算法hash、list、range、tag详解
      4. 常见数据库中间件Mysql和sharding-jdbc对比
      5. 分布式数据库中间件sharding-jdbc
        • 最新技术sharding-sphere
        • 解密sharding-jdbc核心概念与快速开始
        • 深入sharding-jdbc特性详解与模块划分
        • 实战订单交易中orders和orderItem分库分表开发
        • 深入sharding-jdbc源码之sql解析、sql路由、sql改写、sql执行、结果合并
      6. Atlas
        • 深入熟悉Atlas原理与配置搭建
        • 深入剖析Atlas实战与优缺点
  3. 分布式通信(Netty)
    1. 深入IO与NIO线程模型和Reactor模型Netty
    2. 深入Netty的线程模型源码分析
    3. 深入高性能序列化协议protobuf及源码分析
    4. 深入粘包分包现象及解决方案、编解码器源码分析
    5. Netty之Http协议开发应用实践(弹幕系统)
    6. Netty之WebSocket协议开发应用实践二(贪吃蛇多人联机网游实现)
  4. 分布式搜索引擎(ELK)
    1. 涉及ElasticSearch、Logstash、Kibana
    2. ELK集群搭建实践
    3. ELK架构与原理分析
    4. Elasticsearch进阶深入浅出

六、项目实战专题

  1. 双十一电商平台
    1. 项目介绍
      1. 电商项目架构设计讲解、设计技术点
      2. 项目部署与讲解
    2. 系统划分&技术实现
      1. 会员系统
        • 电商平台会员模块介绍、配置详解
        • 电商平台会员业务与技术实现
        • 电商平台SSO单点跨域详解
        • 电商平台会员数据库分库分表
      2. 商品系统
        • 商品模块介绍、配置详解
        • 商品模块业务与技术实现
        • 商品详情页静态化与缓存
      3. 订单系统
        • 订单模块介绍、配置详解
        • 订单业务与技术实现
        • 订单分布式事务、幂等性、重复问题
      4. 后台系统
        • 后台模块介绍、配置详解
        • 设计后台系统权限、资源、账号、权限关系与技术实现
    3. 电商平台技术解决方案
      1. 高并发下秒杀系统技术实现与限流
      2. 商品详情页缓存击穿重现与解决方案
      3. 商品详情页缓存方案详解
      4. 大型电商分布式订单号生成
      5. 会员系统云Session方案
      6. 海量数据之永远不需要扩容的分库分表方案
      7. 海量数据之读写分离技术方案与对比
      8. 解密某大型电商平台自研框架dynamo
      9. 解密某大型电商平台自研框架调用追踪技术
  2. 分布式调用链平台
    1. 分布式调用链简介与发展史
    2. 调用链平台概要设计
    3. Javassist、字节码插桩、JavaAGENT
    4. 埋点采集
      1. 采集点为:Dubbo、JDBCDriver、Spring
      2. 采集点为:tomcat、http、redis
    5. Classloader深入加载机制
    6. 深入分析调用链中的ThreadLocal、Threadpool应用
    7. 分布式环境部署与问题排查

七、微服务系列专题

  1. 微服务发展与产生的意义
  2. 微服务之SpringBoot
    1. SpringBoot快速开始及核心配置详解
    2. SpringBoot部署方式及热部署详解、集成Swagger2构建API管理体系
    3. SpringBoot集成mybatis、redis缓存、rabbitMq、多数据源路由实战及分布式事务处理
  3. 微服务之SpringCloud
    1. eureka服务注册与发现详解及源码解析
    2. ribbon客户端负载均衡详解及源码解析
    3. fegin声明式服务调用详解及源码解析
    4. hystrix实现服务限流、降级、熔断详解
    5. hystrix实现自定义接口降级、监控数据及监控数据聚合
    6. Zuul统一网关详解,服务路由、过滤器使用等
    7. 分布式配置中心Config详解
    8. 分布式链路跟踪详解
    9. Zuul应用之统一异常处理,Cookie和重定向处理
  4. 虚拟容器
    1. 虚拟服务之Docker
      1. Doeker的镜像、仓库、容器讲解及快速搭建Docker环境
      2. DockerFile,DockerCompose使用详解及服务编排实现
    2. Kubernete
      1. Kubernetes介绍与快速开始
      2. Kubernetes部署一套快速生产环境
  5. 双十一电商项目微服务实战版

八、拓展技术

  1. 人工智能体系
    1. ROS客户端和应用范例
    2. 计算机视觉基础与应用
    3. 神经网络基础与应用
  2. 区块链技术
    1. 项目架构与技术点讲解
    2. 区块链原理整体介绍
    3. 区块链整体结构设计与实现
      1. 共识机制
      2. 工作量证明原理
      3. 挖矿算法
    4. 密码学
      1. 对称加密
      2. hash加密
      3. 非对称加密
      4. 数字签名
    5. 比特币钱包的设计与实现
    6. 比特币交易的设计与实现
    7. P2P去中心化网络设计与实现
  3. 大数据技术
    1. 第一阶段:开发环境构建
      1. CentOS操作系统介绍
      2. IDEA及插件介绍
      3. 版本控制软件使用
    2. 第二阶段:Hadoop核心
      1. Hadoop概念
      2. Hadoop资源调度框架Yarn介绍
      3. 分布式文件系统HDFS
      4. 分布式框架MapReduce
    3. 第三阶段:大数据通用生态圈组件
      1. 数据采集
      2. 数据仓库与OLAP
      3. NoSql数据库
      4. Zookeeper与分布式一致性算法
      5. 中间件
    4. 第四阶段:Spark及生态圈
      1. Spark核心
      2. SparkSql
      3. 实时计算
    5. 第五阶段:基于Spark的数据挖掘算法
      1. 协同滤波实现推荐系统
      2. Spark下的聚类与分类算法
      3. Spark下的图计算

你可能感兴趣的:(互联网工程部分知识结构整理)