什么是后端工程师?

如题所述

“后端工程师”是指:

负责数据提供,熟悉后端流程,熟练掌握一种后端工具的使用,学会如何使用工具分析功耗及其对设计的影响的人群。

后端工程师需要具备的能力有以下几点:

    能够使用一门或者数门语言构造大型应用。

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

    能够规避常见的安全漏洞, 处理各种网络攻击事件。

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-05

后端最近数年发展也是比较快的,很多传统的难题都在越来越简化,但是最根本性的困难,即软件架构设计的问题依然是其中最困难的部分。当然这个话题太大,几乎不可能一个答复完整覆盖,只说说体会最深的几点。    

    Design for failure. 后端相当比例的代码不是为了一般情况下正确而存在,而是为了保证特殊或者极端情况下系统可接受的响应而存在的。这里有非常多的折衷要做:渐进改进还是超前设计?水平扩展?业务优化?前台还是后台处理?大量的折衷都是要根据不断变化的环境和需求去权衡的,所以很容易犯错。    

    Architecture is about abstract. 为什么要抽象?因为抽象的概念有更好的适应性,更易于复用,更能灵活适应变化。但是抽象是很难的,不恰当的抽象更是贻害无穷,要命的是,这些并没有很好的方法论,多数是依靠一组基本的原理,凭经验作出的。而 Web 后端开发在很长时间里并没有很重视这些,很多网站都是粗放型设计和开发出来的,所以补丁叠补丁的结构就顺理成章的成为了主流。    

    Architecture IS product. 架构本身即产品,一个软件产品包含了不同的视角,其中最重要的包括用户看到的视角、以及软件骨架即架构的视角。但产品就是产品,所有这些视角都是必须统一和一致的,这就要求架构必须理解产品的灵魂,而产品要理解架构的困难所在,否则很容易出现「想做的事情做不到」或者「以巨大的架构代价实现一个边角功能」这类悲剧。


第2个回答  2015-12-08
后端工程师:熟悉后端流程,(IO plan, floorplan, power flan, place, CTS, route)
熟练掌握一种后端工具的使用
学会如何使用工具分析功耗及其对设计的影响,(static/dynamic IR-drop, EM等)
学会使用工具分析和解决cross talk问题
精通时序分析
理解后端常用库和文件的格式,内容,生成和转换,比如: .lib, spice, lef, def
精通一种unix script语言,现在大多用perl,也可以用awk。(TCL不是unix script语言,但是也一定要会)
十分了解circuit design及其工具 (为DRC/LVS准备的)
具备DFT的基本概念
了解package design的种类和过程
望采纳谢谢~!
第3个回答  2014-01-08
熟悉后端流程,(IO plan, floorplan, power flan, place, CTS, route)
熟练掌握一种后端工具的使用
学会如何使用工具分析功耗及其对设计的影响,(static/dynamic IR-drop, EM等)
学会使用工具分析和解决cross talk问题
精通时序分析
理解后端常用库和文件的格式,内容,生成和转换,比如: .lib, spice, lef, def
精通一种unix script语言,现在大多用perl,也可以用awk。(TCL不是unix script语言,但是也一定要会)
十分了解circuit design及其工具 (为DRC/LVS准备的)
具备DFT的基本概念
了解package design的种类和过程本回答被网友采纳
第4个回答  2019-11-18
“后端工程师”的意思是负责数据提供,熟悉后端流程,熟练掌握一种后端工具的使用,学会如何使用工具分析功耗及其对设计的影响的人群。要求如下:
1、能够使用一门或者数门语言构造大型应用。
2、了解ansible、salt、puppet等自动化运维技术,了解docker,熟练掌握shell脚本处理线上问题。
3、能够规避常见的安全漏洞,处理各种网络攻击事件。
4、知道常规的算法和数据结构,通过分析代码能了解架构的计算复杂度和性能,并针对性做出优化。
5、掌握elasticsearch solr等开源搜索引擎,能够搭建搜索引擎实现各种搜索以及排序任务。
相似回答