大后端技能树

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大后端技能树相关的知识,希望对你有一定的参考价值。

你了解后端吗? 后端的工作是什么? 做好后端工作需要了解和学习哪些技能?

 

  1. 硬件
    1. CPU
    2. 了解CPU
    3. CPU高效编程技术
    4. SMP、NUMA、MPP体系结构介绍
  2. 存储
    1. 磁盘Raid简介及性能分析
    2. 网络存储
    3. 了解IO设备
    4. 了解IO协议栈
    5. SSD (SLC, MLC, TLC区别,什么是Trim,如何开启)
    6. SAS 跟 SATA 的区别
  3.   性能与调优  
    1. 基础  
      1. Software optimization resources    
      2. 系统调优    
        1. SUSE Linux Enterprise Server System Analysis and Tuning Guide        
        2. Linux Performance Analysis and Tools
        3. http://www.brendangregg.com/linuxperf.html
    2. 数据库调优      
      1. mysql数据库开发的三十六条军规    
      2. 数据库的优化与调优:从理论到实践    
      3. Linux and H/W optimizations for MySQL    
      4. 淘宝商品库MySQL优化实践    
  4. 操作系统
    1. Linux  
      1. 各大发行版: Archlinux, Ubuntu, CentOS, Gentoo, Debian, Fedora
      2. 中断        
      3. irqbalance    
      4. 内核参数(了解 /proc 里面的常见参数)    
      5. 进程通信    
      6. 文件打开数限制(了解ulimit用法)    
      7. 防火墙(ufw和iptables)    
      8. 磁盘分区(gparted,fdisk)    
  5. 存储相关
    1. 文件系统
      1. EXT系列(ext2, ext3, ext4)
      2. XFS
      3. ZFS
      4. BFS
      5. ReiserFS
    2. 混合存储
      1. flashcache
      2. bcache
    3. Raid(常见的Raid5, Raid10)
      1. madm
      2. megacli
  6. 网络协议        
    1. 网络模型
    2. TCP / UDP
    3. HTTP / HTTPS (状态码,缓存机制,浏览器请求机制)
    4. RPC
      1. Thirft RPC
      2. JSON RPC
  7. 软件工程
    1. 包管理(Python的pip,Go的gopm、gom)  
    2. git-flow  
    3. issue管理及编写规范  
    4. 设计模式  
  8. 分布式系统
    1. 算法
      1. 二阶段提交    
      2. Paxos算法    
      3. http://zh.wikipedia.org/wiki/CAP    
      4. 一致哈希    
    2. 相关软件  
      1. Hadoop / Hive / Spark / Hbase 等,可以看 Cloudera的版本(公司在用)    
  9. 序列化
    1. Protobuf  
    2. Thirft  
    3. msgpack  
    4. json / bson  
  10. 安全
    1. 攻击防范  
      1. SQL注入    
      2. DDOS攻击    
      3. XSS    
      4. CSRF    
    2. 加密解密  
      1. 不对称加密:rsa    
      2. 对称加密:xxtea / rc4 / des    
      3. 了解HTTPS协议的设计    
  11. 算法与数据结构
    1. 那些不常见又美妙的数据结构  
    2. Which hashing algorithm is best for uniqueness and speed?  
  12. 推荐网站
    1. http://highscalability.com/  
    2. https://linuxtoy.org  
    3. 各个国外开发团队博客,比如 Dropbox, Foursquare, Twitter, Facebook  
    4. 各个语言的邮件列表,比如 go-nuts, python-dev  
  13. 源码阅读
    1. http://tengine.taobao.org/book/  
    2. http://redisbook.readthedocs.org/  
    3. 框架源码阅读  
      1. Python:Tornado    
      2. php:CakePHP / Yii    
      3. Go:https://github.com/rcrowley/go-tigertonic    
  14. 推荐论文
    1. Google 三驾马车  
      1. http://research.google.com/archive/bigtable-osdi06.pdf    
      2. http://research.google.com/archive/mapreduce.html    
      3. http://research.google.com/archive/gfs-sosp2003.pdf    
      4. 中译版:http://blog.csdn.net/myan/article/details/1726553    
  15. 推荐关注技术峰会
    1. QCON http://www.infoq.com/cn/qcon/  
    2. Velocity http://velocityconf.com/  
  16. 语言
    1. 学习指引  
      1. Golang学习指引    
      2. Python学习指引    
      3. PHP学习指引    
    2. 类库  
      1. https://github.com/ziadoz/awesome-php    
      2. https://github.com/avelino/awesome-go    
      3. https://github.com/vinta/awesome-python    
    3. 性能  
      1. Python: PyPy / Gevent / Greenlet    
      2. PHP: Opcache    
  17. 机器学习
    1. https://github.com/josephmisiti/awesome-machine-learning  
  18. 计算广告
    1. http://study.163.com/course/courseMain.htm?courseId=321007      
    2. http://web.stanford.edu/class/msande239/  
  19. 后端软件栈
    1. HTTP  
    2. nginx  
    3. Haproxy  
    4. Varnish server  
    5. Trafficserver  
    6. Netty  
    7. Tengine  
  20. 可用性
    1. Monit  
    2. Nagios  
    3. Ganglia  
    4. Supervisor  
    5. Upstart  
  21. 缓存或K/V存储
    1. Fastcgi cache  
    2. Apc  
    3. Memcached  
    4. Redis  
    5. SSDB  
  22. 数据库
    1. RDBMS  
      1. MySQL / Percona Server / Mariadb    
      2. Percona Xtrabackup    
      3. PostgreSQL    
    2. NOSQL  
      1. Tokudb / Tokumx    
      2. Mongodb  
      3. redis  
      4. Leveldb    
      5. SQLite    
      6. HBase    
    3. 主从读写分离
      1. MySQL-proxy    
      2. mysqlnd_ms    
  23. 队列
    1. ZMQ  
    2. RabbitMQ  
    3. Redis  
    4. nsq  
  24. 运维
    1. 网络:ifstat / ifstatus / dstat / tcpdump / telnet / ifconfig / ifdown / ifup  
    2. 程序状态:strace / top  
    3. 存储: iostat -d -x -k 1 / iotop  
    4. 文本处理:sed / awk / grep / sort / uniq  
    5. 调优:sysctl  
    6. 实用工具:watch / touch / tee  
    7. 日志:logrotate / syslog  
  25. 开发相关
    1. https://github.com/robbyrussell/oh-my-zsh  
    2. https://github.com/spf13/spf13-vim  
    3. vagrant  
    4. curl (调试HTTP神器)  
  26. 推荐文章
    1. 技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"  
    2. https://linuxtoy.org/archives/sed-awk.html  

以上是关于大后端技能树的主要内容,如果未能解决你的问题,请参考以下文章

后端技能树修炼:CAP 定理

后端技能树修炼:基于队列的流量削峰模式

C语言技能树测评

「随笔」python技能树测评 # CSDN 技能树评测征文

《提升Python生产力|Python技能树测评》

获得者教你如何快速通关技能树