课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 大学时期就负责学校官方网站的运维工作,实习期间加入豆瓣,有幸成为豆瓣Top20员工,从事Python开发及运维工作,后在BAT从事自动化运维,见证BAT运维自动化从无到有。擅长系统底层、分布式系统开发,热衷于开源运动,给 memcached、SETI@Home等多个开源项目贡献过代码。

  • 北京无忧尚实科技有限公司的腾讯课堂助教,协助课堂老师维护直播课堂秩序,负责接待咨询课程。

  • 课程详情

    一、架构师工作介绍&基础知识
    1. 系统架构师日常工作:
      1. BAT架构师日常
      2. 架构师课程与师资介绍
    2. Python在Linux系统中的应用和地位
    3. 数据结构基础
      1. 数组、链表、Hash、二叉树
    4. 从Python源代码分析:
      1. Python基础语法实现的机理
      2. Python dict和list、set的性能特质
      3. 迭代器原理
      4. Python内置数据结构的实现和特性,如何写出更加高效的程序
    5. 课堂练习:
      1. Linux文件系统原理,inode、空洞文件。
      2. Python文件操作,顺序读写,随机读写。
    二、计算机体系&数据库
    1. CPU L1、L2 cache介绍以及对性能的影响
    2. Linux Buffer、Cache对性能的影响
    3. HTTP、TCP、IP协议详解
      1. HTTP协议基础,各种常见header的含义
      2. HTTP性能优化:KeepAlive、连接复用
      3. HTTP、TCP、UDP等常见协议的关系
    4. MVC介绍,MVC的演进历史,MVC的思想
    5. 课堂练习:
      1. 函数的应用,函数的意义,代码复用的意义
      2. Python模块化;Python的面向对象
      3. 数据库常见设计规则;数据库原理简介,数据库架构剖析
    6. 名企架构剖析
      1. 1000G级别CDN系统设计要点
    三、初级网络编程&爬虫
    1. Python网络编程:
      1. 从urllib、urllib2库到requests
      2. Cookie和Session的原理
      3. 同步网络编程&异步网络编程
    2. Python实现网络爬虫
      1. PCRE基础
      2. 实战抓取网站资源
      3. 怎么抓取异步加载的网页
      4. 介绍分布式网络爬虫
    3. Python的reflection
      1. 在指导下自主开发监控项
      2. 磁盘、网络、CPU、内存
    4. 课堂练习:
      1. 实战网络爬虫,批量下载用户头像
    5. 名企架构剖析
      1. 豆瓣架构演进----BeansDB、DoubanFS
    四、Python高级编程&MapReduce
    1. Python高阶语法
      1. 装饰器原理介绍
      2. 通用超时设定装饰器
      3. 用Python实现"bash -x"
      4. 不定长参数,默认参数
      5. 神奇的yield,iter,实现一个自己的xrange
    2. 大数据的基石:MapReduce思想介绍
      1. Python实现MapReduce
    3. 课堂练习:
      1. 实战多线程网络爬虫
    4. 名企架构剖析
      1. Google 分布式计算集群
    五、Linux多进程&多线程
    1. 多进程,多线程编程,实现多进程调度框架:
      1. 多进程多线程的产生,在Linux系统中的地位
      2. 多进程和多线程的选用场景
      3. 多进程、多线程基础;为什么不能一味的开线程解决问题
      4. 协程简介
      5. 程序运行时的内存布局
      6. 从系统底层看Python的多进程、多线程实现,分析GIL
      7. 守护进程,用Python实现一个守护进程
    2. 课堂练习:
      1. Python多线程实战,多进程实战
      2. 多线程协同工作实现数据采集&上报
      3. 数据队列和锁的使用
    3. 名企架构剖析
      1. Google分布式文件系统
    六、异步网络编程
    1. Python网络编程常用框架:
      1. Twisted框架
      2. 用Twisted网络框架实现一个RPC调用的Client和Server
      3. 长连接和短连接,推送机制的实现
      4. 通信协议的实现,通信协议的关键点
      5. 深入理解HTTP协议
      6. 为什么HTTP协议是现在这个样子
    2. 异步网络编程思想
      1. 为什么Nginx能秒杀Apache
    3. 课堂练习:
      1. 不用任何第三方库实现一个简化的HTTP服务器
    4. 名企架构剖析
      1. Facebook 架构探秘----日志、HipHop、BigPipe and more
    七、高级网络编程(一)
    1. 屠龙之技:异步非阻塞网络编程实战
      1. 分析memcached并发模型
      2. 比较各类网络编程技法的优劣
      3. 有限状态机实战
    2. Win、Linux、UNIX网络编程现状
      1. select、poll、epoll、kqueue、IOCP、libevent
      2. 水平触发LT & 边沿触发ET
      3. 用Python实现一个基于memcached思想的网络编程库nbNet
    3. 课堂练习:
      1. nbNet网络库微调
      2. 用nbNet实现Telnet协议
    4. 名企架构剖析
      1. Twitter 架构探秘----Scaling、Cache、Tracing
    八、高级网络编程(二)
    1. 屠龙之技:异步非阻塞网络编程深入
      1. 深入剖析异步非阻塞网络编程
      2. 长连接&连接池的应用,智能路由算法的原理与工程实现
      3. 用nbNet实现监控数据持久化模块
      4. 用nbNet实现监控数据中转模块Transfer
      5. 用nbNet实现监控数据报警模块DB-Saver
    2. 课堂练习:
      1. 动手实现“连续n次触发阈值报警”,“60s内只报警n次”
      2. 监控系统前后端联调
    3. 名企架构剖析
      1. 百亿量级数据库架构----Pinterest
    九、监控框架
    1. Agent多进程调度框架实战和监控数据缓存、持久化前端数据API封装与实现:
      1. 从头实现一个系统命令RPC调用Server和Client
      2. 综合运用之前的知识实现一个采集服务器状态信息的框架
      3. 运用网络编程技巧,监控框架Debug动手实战
      4. 网络程序性能测试
      5. 代码复用的考虑,如何以不变应万变
    2. 名企架构剖析
      1. 360集群控制系统----如何在5s之内控制5w台服务器执行命令
    十、集群控制系统
    1. 介绍开源集群管理系统:
      1. 深入分析各自利弊和架构
      2. 介绍我们将要开发的系统架构
    2. 分布式系统理论介绍
      1. CAP定理及其推导
      2. BASE 和 ACID
      3. 一致性算法简介:Paxos、Raft
    3. 集群管理系统实战,实现批量命令执行的Client和Server端:
      1. 控制系统简介
      2. 实现能批量分发控制指令的控制系统
    4. 名企架构剖析
      1. Google Chubby分布式锁服务
      2. Apache ZooKeeper分布式配置管理
    十一、综合大实战
    1. 综合实战作业(一)
      1. 完成 集监控、控制一体的服务器管理系统
      2. 监控系统整理
      3. 监控系统前后端大联调,监控数据图形化展示
      4. 高可用监控系统的构建:架构&细节
      5. 控制系统代码整理
      6. 监控系统支持自定义监控
      7. 监控脚本的标准&规范
      8. 监控脚本的下发&执行
    2. 名企架构剖析
      1. Google Borg任务调度系统
    十二、综合大实战&面试强化培训
    1. 综合实战作业(二)
      1. 构建一个规范的上线系统
      2. 面试常见问题解答及剖析
      3. 简历点评、简历润色修改
      4. BAT专家现场模拟面试
    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课