后端开发语言、脚本语言
PHP、Python、Ruby之类的挑一到两个,深入学习。
包括但不限于(php, python, java, scala, go, ruby) 之一。 能够使用一门或者数门语言构造大型应用。
运维
了解 (ansible, salt, puppet)等自动化运维技术, 了解docker, 熟练掌握shell脚本处理线上问题
Unix/Linux
后端必须掌握的操作系统。个人建议平时可以完全使用Ubuntu Desktop作为日常使用的操作系统。附带的,需要对操作系统本身有足够的认识和了解。
建议的书籍:《Linux编程》《Unix环境高级编程》
安全
知道各种安全攻击方式(xss, csrf, sql注入) 代码实现能够规避常见的安全漏洞, 处理各种网络攻击事件
数据库
知道常见的数据库的优化以及运维,能够分析sql并且调优使之满足性能
网络编程
《Unix网络编程》《TCP/IP协议详解》
了解linux的网络模型epoll, 熟练掌握http, tcp/ip协议,并且能够通过抓包方式debug。 熟练掌握linux, 能够在高兵法场景下通过优化内核解决问题。
6 大数据
了解 (hadoop/storn/spark)技术栈, 能够使用大数据技术栈解决常见的大数据问题
7 算法和数据结构
知道常规的算法和数据结构,通过分析代码能了解架构的计算复杂度和性能,并针对性做出优化
8 机器学习算法
知道常见的机器学习算法,能够使用机器学习和深度学习解决一些人工智能问题,比如聊天机器人, 反spam, 机器推荐等
9 搜索引擎
掌握elasticsearch solr等开源搜索引擎,能够搭建搜索引擎实现各种搜索以及排序任务
笔记:
服务端今年的大方向:大数据,微服务,日志分析,容器化。