后台的内容很多。但是相对台来说没有那么炫,也不会与产品有过多的交互。通常包括这样几类:dao1.web开发。做web交互的后台部分2.提供api,webservice或者是restful接口给其它程序。通常是数据处理,数据桥接,推荐,搜索,工具调用,统计,计数,任务管理,资源调度,监控,验证码



背景内容很多。 但是相对于台湾,它并不是那么令人眼花,乱,并且不会与产品产生太多的相互作用。 通常包括以下几类:dao1.web开发。 做Web交互的后台部分。2.向其他程序提供api,webservice或restful接口。 通常是数据处理,数据桥接,推荐,搜索,工具调用,统计,计数,任务管理,资源调度,监视,验证代码,报告等。

背景开发的基本要求

语言级别

,例如java,python,php,c / c ++等,以及相应的开发框架。 这是一个基本要求,因为您必须至少熟悉一种语言和常用框架,然后才能进行正式工作,否则您将无法完成工作。

语言和框架(包括相应的运行时环境)贯穿于整个职业生涯。 语言和框架要求在不同阶段有所不同; 不同的公司对新员工有不同的要求。 大型公司甚至没有毕业生的框架要求,即使您只讲一种语言而没有任何框架,但相应地,对算法和操作系统的要求也会更高。 中小型公司在语言框架方面重视新员工的实践能力。 因为中小型公司的资源有限,所以他们没有太多的时间来培训新人,如果他们想进来就可以工作。因此,如果您的算法或其他方面非常出色,则可以忽略这一点 并找到去大工厂的方法。 但是,如果您不擅长其他方面,那么基本语言和框架将是您的垫脚石。

语言框架,这被认为是最基本的要求,也是整个职业生涯的要求。 等级越高,精通程度越高。

数据库

数据库的要求与语言框架相同。 首先,您必须知道,否则,您将无法工作。 现在,该公司的大多数数据库都是mysql。 当然,还有Mongodb,Redis等。添加,删除,检查和修改数据库的操作是最基本的工作基础。 当您更高级时,您需要打开开始了解数据库的存储结构,索引实现,并了解性能优化。 高级,数据库锁定,事务,高并发设计等。数据库的需求级别也越高,难度就越大,甚至以后对自开发数据库的需求也会出现。 这是分布式存储领域,非常复杂,可以说很长一段时间。 对于新手,添加,删除,检查和修改应满足初始需求。 以后,在对性能和并发性有要求时,您需要更好地了解数据库本身的实现机制。 这些可以在实际工作中慢慢学习和积累。

数据库,是整个职业生涯中必不可少的技能,随着开发水平越来越高,要求也越来越高。

算法的数据结构

无需再次阐明算法的重要性。 几乎每个人,所有公司都认为这很重要。 这类似于武术小说的内在力量。 只有深厚的内在力量,才能充分发挥各种动作。 让我谈谈算法数据结构在实际工程中的应用。

在实际工程中,算法数据结构的实现和应用可能与您所想的不同。 对于常规算法(例如快速排序和快速搜索),可以使用现成的库,并且常规团队不会让您直接编写快速排序-效率低下,也许会有错误。 与哈希,链接列表,队列相似,这些类型的使用将更多。 特别是,哈希表和链表是最常用的。 但是,在实际工程中,实现数据结构的要求与教科书中的要求不同。 对于散列,您可能知道如何使用开放地址方法或链接列表来处理冲突,这在实际工程中还远远不够。 实际的生产环境基本上是多并行环境。 您还需要确保设计的数据结构是线程安全的,也就是说,它可以并发处理,并且可能存在某些性能要求。 这比教科书困难得多。 再举一个例子,可能会要求您实现一个队列,因为为了处理并发性,必须将队列设计为多次输入和输出,因此您需要进行锁定,但是由于效率很高,因此您必须设计一个无锁的队列。 最后排队。 这将比教科书困难。 但是在我的实际工作中,我几乎从未遇到过要我手动编写平衡的二叉树我周围的同事似乎几乎从未见过面。 我认为除非是数据库学生,否则都会遇到它。 这些是实际工作与教科书之间的差异。

通常,算法数据结构是最重要的内部功能之一,但实际的工程要求可能与教科书要求有所不同。

操作系统(如unix,windows,更像unix)

初次启动时,您不需要太深入地了解操作系统,只需知道 操作系统将执行的操作。 随着您的进度缓慢,操作系统将对您的整个工作产生越来越多的影响。 它将影响您的总体设计和性能。 更直接地,您在实际工作中第一次遇到的许多无法解释的“精神事件”可能与操作系统的机制和策略直接或间接相关。 这是实际设计中的一个示例:早期,我的一位同事制作了一个自行开发的队列组件(类似于rabbitmq),设计非常复杂。 在理解该原理之前,我阅读了很长时间。 我请他稍后讨论,发现他的许多设计都是为了追求极致的磁盘写入性能。 他确实编写了缓存和各种数据对齐方式,这使他的上层设计更加复杂。 后来,我与他讨论了Linux文件系统的缓存机制,发现直接使用write系统依次调用和写入文件可以很好地解决该问题。 而且他在这里的所有设计都是多余的。 我遇到过许多类似的情况。 因此,对操作系统的了解,特别是对操作系统的机制和策略的深入了解,背景的设计和开发,将真正带来完全不同的结果。 如果后台开发人员无法一定程度地了解操作系统,我认为他不会在这方面前进。

操作系统,这是高级要求。 如果您需要长期朝着这个方向发展,则必须注意这种积累。

网络协议:tcp / udp,http,https等。

通常,网络协议需要达到对该机制有清晰了解的水平。

,例如tcp和udp之间的差异。 TCP链接建立与过程断开。 http和https之间的区别。 在实际工作中,如果您的工作涉及基础网络框架的开发,那么您需要对tcp / udp的实现机制有深入的了解,否则您将无法设计高性能的框架。 其他协议相似。

通常来说,如果它不是特殊的网络框架,或者涉及诸如p2p之类的专用网络协议的设计,则为

。 与其他人相比,我个人觉得这在实际工作中并没有太多使用。 但是,请不要混淆网络协议和epoll /选择服务器开发机制之间的区别。 与使用套接字类似,深入了解epoll / select仍然非常重要。 目前,许多公司不再需要从套接字套接字和epoll / select级别构建服务,而是直接使用现成的rpc框架,但是对于想长时间在后台进行开发的学生,仍然建议 掌握套接字epoll选择。 我记得当我加入公司时,我的首要任务是实现一个不带任何框架的服务器,这需要高性能并支持高并发性。 基本上,它使用socket + epoll来实现。 完成此操作后,您可以基本熟悉并知道数据传输中需要解决的一些问题。

网络协议,必须对机制有一个清晰的了解。 如果您从事网络框架开发或需要设计专用网络协议,则将有更高的要求。

python用什么开发平台_一般来说,python平台开发有什么作用?相关推荐

  1. python起步输入-第 4 节 小Python 起步

    文接上节,我们知晓了 Python 的前世今生.要能够应用好 Python 为我们服务,掌握其开发环境.核心语法.面向对象.异常处理等等技能点必不可少.从本节开始将开启真正的 Python 之旅. 1 ...

  2. python和c语言有什么关系-Python与C语言有什么区别?

    答题练手.手机排版不佳请谅解~ 更新2:还是关于编译和解释 二者的本质区别是在编译/解释器的总体工作方式上的,编译器是off-line,解释器是on-line.编译器把整个程序读进来,进行一系列变大变 ...

  3. python是c语言写的吗-Python与C语言有什么区别?

    答题练手.手机排版不佳请谅解~ 更新2:还是关于编译和解释 二者的本质区别是在编译/解释器的总体工作方式上的,编译器是off-line,解释器是on-line.编译器把整个程序读进来,进行一系列变大变 ...

  4. python编程培训多少钱-想要学习Python,武汉Python编程培训费用是多少?

    人工智能的火热,促使了越来越多的人学习Python,为了高效.快速的学习,大多数人都会选择参加Python培训班.那么,参加武汉Python编程培训班学费贵不贵?武汉Python编程培训费用具体是多少 ...

  5. python编写程序-30分钟学会用Python编写简单程序

    参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方式修改它们. 了解构成有效Python标识符和表 ...

  6. python弹出警告框_selenium+webdriver+python 中警告框的处理方法

    在自动化测试过程中,经常会遇到弹出警告框的情况,如图所示: 在 WebDriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体做法是使用 ...

  7. python中函数的调用_慢步python,编程中函数的概念,python中函数的声明和调用

    函数,曾经是一个很高大尚的概念.笔者是在高中数学里认识的函数,先是从y=2x+3 这条代数式开始的.y是因变量,x是自变量,y因为x取值的变化而变化. 再后来式子变成这样:f(x)=2x+3,f(x) ...

  8. 怎么查看自己安装的python版本_教你如何检查 Python 版本

    本教程介绍如何使用 命令行检查操作系统上安装的 Python 版本.这在安装用 Python 编写的需要特定版本 Python 的应用程序时非常有用. Python 是世界上最流行的编程语言之一.它用 ...

  9. python内存管理和释放_《python解释器源码剖析》第17章--python的内存管理与垃圾回收...

    17.0 序 内存管理,对于python这样的动态语言是至关重要的一部分,它在很大程度上决定了python的执行效率,因为在python的运行中会创建和销毁大量的对象,这些都设计内存的管理.同理pyt ...

最新文章

  1. 006_Gson定制型适配器
  2. retrofit 解析百度地图api 返回数据_阿里二面:关于 Retrofit 你知道多少?看完你的offer稳了
  3. PostgreSQL的 initdb 源代码分析之二十三
  4. RAC集群时间同步服务
  5. 前端学习(1874)vue之电商管理系统电商系统之修改element-ui组件的按需导入
  6. springtboot 引用子工程的文件_xmake从入门到精通11:如何组织构建大型工程
  7. linux 嵌入式 交叉 环境搭建 实验原理,实验三 嵌入式Linux开发环境的搭建
  8. WebStorm光标经常自动变为块状解决方案
  9. 用pyqt5做个图书馆数据管理客户端!--pyqt+mysql的使用(入门必看!)
  10. 香港科技大学工学院理学硕士土木基建工程及管理(MSc CIEM)2022Fall宣讲会(线上)
  11. php怎么做一个音乐播放器,实现一个HTML5音乐播放器的实例
  12. PDFlib-6.0.3p1-Windows] license key 算法分析
  13. 《当咖啡与甘蓝汁竞争》:产品是负熵,帮助客户更好进化
  14. C语言程序设计(2018-2019学年第一学期测试卷)
  15. QtCreator-----Kits选项选择
  16. 后代选择器和子代选择器
  17. 项目开发流程及开发模式
  18. p13390677 112040 linux x86-64 1of7,11.2.0.4.0 PatchSet 补丁号 13390677
  19. java 文本框 虚体字_虚字的意思、虚的繁体字、虚的笔顺笔画、虚字部首和繁体字虚的意思...
  20. TIA博途S7-1200学习笔记——指令集

热门文章

  1. Wince C++串口编程
  2. C语言自学《八》---- C语言知识总结
  3. (转)iOS7界面设计规范(10) - UI基础 - 文字排版与配色
  4. fedora8完美DNS教程
  5. 如何定一个合适的目标
  6. [转载]日历设计之重复事件规则设计
  7. vue-cli Invalid Host header
  8. jQuery 之父:每天写代码
  9. JavaScript两个数组是否有相同元素
  10. 《贝叶斯思维:统计建模的Python学习法》——1.8 讨论