成为一名优秀服务端程序员需要学...

后端开发语言、脚本语言

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等开源搜索引擎,能够搭建搜索引擎实现各种搜索以及排序任务


笔记:

服务端今年的大方向:大数据,微服务,日志分析,容器化。

你可能感兴趣的:(成为一名优秀服务端程序员需要学...)