您的位置:首页 > 其它

后端工程师需要知识(待补充)

2016-12-18 23:10 141 查看
后端:

1 后端开发语言

包括但不限于(php, python, java, scala, go, ruby) 之一。 能够使用一门或者数门语言构造大型应用。

2 运维

了解 (ansible, salt, puppet)等自动化运维技术, 了解docker, 熟练掌握shell脚本处理线上问题

3 安全

知道各种安全攻击方式(xss, csrf, sql注入) 代码实现能够规避常见的安全漏洞, 处理各种网络攻击事件

4 数据库

知道常见的数据库的优化以及运维,能够分析sql并且调优使之满足性能

5 网络编程

了解linux的网络模型epoll, 熟练掌握http, tcp/ip协议,并且能够通过抓包方式debug。 熟练掌握linux, 能够在高兵法场景下通过优化内核解决问题。

6 大数据

了解 (hadoop/storn/spark)技术栈, 能够使用大数据技术栈解决常见的大数据问题

7 算法和数据结构

知道常规的算法和数据结构,通过分析代码能了解架构的计算复杂度和性能,并针对性做出优化

8 机器学习算法

知道常见的机器学习算法,能够使用机器学习和深度学习解决一些人工智能问题,比如聊天机器人, 反spam, 机器推荐等

9 搜索引擎

掌握elasticsearch solr等开源搜索引擎,能够搭建搜索引擎实现各种搜索以及排序任务

二、基础学习

什么是基础学习?比如你学的java,那么网络基础知识要略懂吧,计算机基础要略懂吧(所谓略懂,就是大概看一本书,了解了解就可以),java语法你要懂吧,java三大框架要懂吧,J2SE要懂吧,JDBC要懂吧,设计模式要懂吧……简单来说,就是你把Java相关的知识都至少要了解或者知道,对于重点核心内容,要通透最好;

具体的就不再叙述了,看下图:



java编程脑图(转载自网络资源)

三、常用工具的掌握

什么是常用工具, 上图可以看到,你的编程开发工具(VIM/IDE/Eclipse),无论你用的哪个,都需要熟练掌握;你的版本工具,现在常用的是git,至少要学习使用最基本的吧,当然还有很多其他的(markdown/数据库的使用等等),你常用的工具都需要掌握才行。



git常用速查表



vim常用速查表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: