精华内容
下载资源
问答
  • 这就是令人难以捉摸又神秘的“后端”。  在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。  在大多数应用中,非用户接口代码比用户接口代码多得多...

      软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。

      在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。

      在大多数应用中,非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。

      我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。

      后端开发人员是这样的开发人员。

     

    后端开发究竟是什么?

      这篇文章的目的在于,我将会考虑后端开发是一种不涉及创建生成用户界面的开发。这可能包括后端Web开发,可能也涉及编写API,创建库或和没有用户界面或甚至科学编程系统的系统组件一起工作。

      在现实中,即使前端开发获得了大部分的荣耀,但是世界上存在的大多数代码(可以说是最有用的代码)是最终用户从来不会看到的后端代码。

      简单来说,后端开发就是开发人员编写的不能直接看到的代码。

     

    后端开发人员做什么?

      根据正在处理的应用程序的大小和范围,后端开发人员要做的事情有很大的不同。在我是一个后端开发人员时,我做了很多工作,工作于应用程序中的业务逻辑,以及从前端提取和检索数据。

      在Web开发世界中,大多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。

      通常,前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。

      例如,前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。

      后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。

      后端开发人员也可能会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。

      他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。

      我一直都很喜欢后端开发工作,因为它更像一个挑战。

      这并不是说前端开发人员不解决难题,但通常前端开发工作更多的是关于创建用户界面和与之相关的内容,而不是实现实际的业务逻辑,使应用程序工作。

     

    后端开发的主要技术和技能

      前端开发人员需要知道一系列用于创建用户界面的工具,而后端开发人员通常使用的是一套完全不同的工具和技能,以便于高效地完成他们的工作。

      后端开发人员所需的一个重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。

      后端开发人员通常的工作是从数据库或其他数据源写入、读取和处理数据,因此拥有SQL等技能会非常重要。后端开发人员——至少对于Web开发——也需要擅长他们正在使用的技术栈的服务器端语言。

      例如,虽然前端Web开发人员更多地专注于HTML,CSS和JavaScript,而后端开发人员需要更多地了解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用于构建应用程序的服务器端Web开发框架。

      最后,我想说,后端开发人员需要更多地了解应用程序架构,因为大多数情况下,后端开发人员需要去构建应用程序的体系结构和内部设计

      一个好的后端开发人员得知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何构建代码和业务逻辑,用一种使系统更易于维护的方式。

      如果你喜欢设计应用程序的基础设施,实现算法和逻辑,以及工作于数据,那么你可能会喜欢成为一名后端开发人员。

     

    关于全栈开发人员? 

      我曾想为全栈开发人员另起一篇文章,但后来想到,既然已经涵盖了Web开发和后端开发,那么延伸开去谈论全栈开发更为理所当然,因为全栈开发刚好涉及了前端和后端开发。

      实际上,全栈开发包括处理系统或软件开发堆栈的所有组件和层。它甚至可能涉及了解服务器硬件和架构,或者被认为是DevOps。

      今天,越来越多的软件开发职位在寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说能够工作于涉及的整个技术栈是很有价值的,而不是将前端开发与后端开发兵分两路。

      一部分原因是现在越来越多的应用程序模糊了前端和后端开发之间的界限。

      许多流行的JavaScript框架,如Angular,允许你在系统的用户界面部分中创建可以被视为业务逻辑的大部分内容。

      此外,随着越来越多的团队采用敏捷方法,个体程序员被要求不仅仅能工作于他们的专业领域,因为任务被分配给团队远超过个人。

      我认为成为一个全栈开发人员是有用的——并且你应该充分了解软件的每个层次发生了什么——但我不认为“专业化”全栈开发人员是顶好的主意,因为这不是一个专业领域。

      基本上,你应该专注于获取你可能会用到的最常见的技术栈的广泛知识,但你应该选择一个或两个主要的专业,然后朝着选择的方向真正地去深入钻研。

      所有软件开发人员都应该知道如何创建用户界面,所使用的框架的基础,如何从应用程序中存储和检索数据库中的数据,甚至了解基础设施如何支持软件,他们不需要成为所有所有这些领域的专家,因为这些领域不但相当大而且在不断扩大。

      具备技术堆栈中通用和有效的所有知识或一些领域中的专业化知识或许要好得多。

      然后,你仍然可以称自己为“全栈”,但实际上,对于团队而言,你这样的人才更加有用得多。

    最后,不管你是转行也好,初学也罢,进阶也可,如果你想学编程~

    值得关注】我的 C/C++编程学习交流俱乐部!【点击进入】

    问题答疑,学习交流,技术探讨,还有超多编程资源大全,零基础的视频也超棒~

    展开全文
  • 什么是后端开发?

    千次阅读 2018-11-19 10:58:54
    软件应用程序就像冰山一样。...这就是令人难以捉摸又神秘的“后端”。 在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。 在大多数应用中,非用...

    英文:https://dzone.com/articles/what-is-back-end-development

    软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。

    在Web开发的篇章中,我们主要讨论Web开发,因为它涉及与最终用户的直接互动——我们可以称之为“前端Web开发”。

    在大多数应用中,非用户接口代码比用户接口代码多得多。复杂系统是在后台发生的各种使其工作的逻辑。

    我们需要存储和检索数据,需要遵循业务逻辑和规则,并且需要对结果进行预测。所有这一切都发生在幕后。

    后端开发人员是这样的开发人员。

    后端开发究竟是什么?

    这篇文章的目的在于,我将会考虑后端开发是一种不涉及创建生成用户界面的开发。这可能包括后端Web开发,可能也涉及编写API,创建库或和没有用户界面或甚至科学编程系统的系统组件一起工作。

    在现实中,即使前端开发获得了大部分的荣耀,但是世界上存在的大多数代码(可以说是最有用的代码)是最终用户从来不会看到的后端代码。

    简单来说,后端开发就是开发人员编写的不能直接看到的代码。

    后端开发人员做什么?

    根据正在处理的应用程序的大小和范围,后端开发人员要做的事情有很大的不同。在我是一个后端开发人员时,我做了很多工作,工作于应用程序中的业务逻辑,以及从前端提取和检索数据。

    在Web开发世界中,大多数后端开发人员从事于构建他们正在工作的应用程序背后的实际逻辑。

    通常,前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。

    例如,前端开发人员在应用程序中创建一个界面,上面有一个按钮,按下按钮来获取客户的数据。

    后端开发人员写可使得按钮工作的代码,通过指出从数据库中提取哪些数据并将其传回到前端(并最终显示在那里)。

    后端开发人员也可能会大量参与系统架构,决定如何组织系统的逻辑,以便能够正常维护和运行。

    他可能会参与构建框架或系统架构,以便于更容易编写程序。后端开发人员比前端开发人员花费更多的时间在实现算法和解决问题上。

    我一直都很喜欢后端开发工作,因为它更像一个挑战。

    这并不是说前端开发人员不解决难题,但通常前端开发工作更多的是关于创建用户界面和与之相关的内容,而不是实现实际的业务逻辑,使应用程序工作。

    后端开发的主要技术和技能

    前端开发人员需要知道一系列用于创建用户界面的工具,而后端开发人员通常使用的是一套完全不同的工具和技能,以便于高效地完成他们的工作。

    后端开发人员所需的一个重要技能与SQL和数据库有关。大多数后端系统需要连接到存储应用程序数据的数据库。

    后端开发人员通常的工作是从数据库或其他数据源写入、读取和处理数据,因此拥有SQL等技能会非常重要。后端开发人员——至少对于Web开发——也需要擅长他们正在使用的技术栈的服务器端语言。

    例如,虽然前端Web开发人员更多地专注于HTML,CSS和JavaScript,而后端开发人员需要更多地了解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用于构建应用程序的服务器端Web开发框架。

    最后,我想说,后端开发人员需要更多地了解应用程序架构,因为大多数情况下,后端开发人员需要去构建应用程序的体系结构和内部设计。

    一个好的后端开发人员得知道如何使用各种框架和库,如何将它们集成到应用程序中,以及如何构建代码和业务逻辑,用一种使系统更易于维护的方式。

    如果你喜欢设计应用程序的基础设施,实现算法和逻辑,以及工作于数据,那么你可能会喜欢成为一名后端开发人员。

    关于全栈开发人员?

    我曾想为全栈开发人员另起一篇文章,但后来想到,既然已经涵盖了Web开发和后端开发,那么延伸开去谈论全栈开发更为理所当然,因为全栈开发刚好涉及了前端和后端开发。

    实际上,全栈开发包括处理系统或软件开发堆栈的所有组件和层。它甚至可能涉及了解服务器硬件和架构,或者被认为是DevOps。

    今天,越来越多的软件开发职位在寻找能够进行全栈开发的开发人员,因为对于软件开发人员来说能够工作于涉及的整个技术栈是很有价值的,而不是将前端开发与后端开发兵分两路。

    一部分原因是现在越来越多的应用程序模糊了前端和后端开发之间的界限。

    许多流行的JavaScript框架,如Angular,允许你在系统的用户界面部分中创建可以被视为业务逻辑的大部分内容。

    此外,随着越来越多的团队采用敏捷方法,个体程序员被要求不仅仅能工作于他们的专业领域,因为任务被分配给团队远超过个人。

    我认为成为一个全栈开发人员是有用的——并且你应该充分了解软件的每个层次发生了什么——但我不认为“专业化”全栈开发人员是顶好的主意,因为这不是一个专业领域。

    基本上,你应该专注于获取你可能会用到的最常见的技术栈的广泛知识,但你应该选择一个或两个主要的专业,然后朝着选择的方向真正地去深入钻研。

    所有软件开发人员都应该知道如何创建用户界面,所使用的框架的基础,如何从应用程序中存储和检索数据库中的数据,甚至了解基础设施如何支持软件,他们不需要成为所有所有这些领域的专家,因为这些领域不但相当大而且在不断扩大。

    具备技术堆栈中通用和有效的所有知识或一些领域中的专业化知识或许要好得多。

    然后,你仍然可以称自己为“全栈”,但实际上,对于团队而言,你这样的人才更加有用得多。

    展开全文
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给...

    Bxn4R3avz95n=YFWm9K6JymU4BDXXJ8WP2wtE2KnpSEOt1538188113720.jpg

    前两天,在群里收到一个群友(强哥)跳槽成功的消息。真心为其感到高兴。为了找到一个更好的平台,为了拿到更理想的薪酬。他在面试前期做了相当多的准备(机会永远是留给有准备的人,这一点值得学习),写了很多关于面试真题的相关内容.

    之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给大家一些启发和帮助。

    在前程无忧/拉勾/智联招聘上投递以及开放简历,收到邮件/电话面试邀请20家上下(深信服/悦动/绿米联创等),其中有少数的测试与爬虫岗位(方向不符长期规划,都已谢绝)。

    最后面试了其中的10家(有一个下午面试了两家),最后收到了自己满意的offer。在这其中,收获了许多的知识(感谢面试官的分享精神,公交费和洞洞鞋的钱挣回来了)。

    twapDZtYFhs6G4K=pFjFraBgb7m2hoZGRg0fIsQJslLjK1538188113721.jpg

    招聘平台

    在我所使用的招聘平台中,收获到面试邀请最多的是前程无忧,其次是拉勾,最少的是智联招聘。

    所以我会建议大家使用前程无忧和拉勾,因为反馈是最及时的,智联招聘很少反馈。没有使用BOSS直聘,因为一来二去的聊天觉得有点麻烦,我还是喜欢直接发邮件面试邀请当面交流。

    tHgAMqsmGjkt8Ws5s8lF2zDY8Po1B0UbYWTW9353LTcFq1538188113721.jpg

    侧重知识点

    在我参加的后台开发岗位面试中,主要有以下知识是比较侧重:

    数据库CRUD操作/查询优化以及数据库知识量

    框架的对比和了解/项目具体模块的业务逻辑描述

    常见排序算法

    Linux系统的常用命令和Linux系统了解程度考核

    项目部署用到的服务器的配置和了解程度

    加分项

    数据库基本功必须掌握但同时更重要的是理解为什么和是如何实现的,拓展自己知识面

    Linux系统的底层原理和了解程度

    目前Golang在后端中也逐渐流行,有时间还是需要去掌握

    技术没有终点,保持乐于学习和接受新技术的心态,面试官看重技术能力同时也更看重你的心态

    自信且好学

    面试问题

    问题就给大家了,答案自己去查找吧。只有经过自己努力的东西才会格外珍惜与铭刻。

    01. Python相关

    实现一个单例模式

    实现一个装饰器

    用Python实现快排

    如果系统中需要很多个Python版本,如何进行Python版本的管理

    如何实现一个全局变量?(除了global,还可以通过单例模式)

    02. 数据库

    数据库的数据是实时更新的吗?每点击一次,数据库数据修改一次?

    Redis hash的个数

    如何修改Redis数据库的库的个数?

    Redis数据库如何实现持久化

    Redis数据库支持的数据类型

    Redis使用AOF方式持久化,aof文件不断增大,如何处理?

    Redis数据库如何设置密码

    hash表是如何生成的

    MySQL数据库如何使用sql语句插入一条数据

    MySQL数据库的慢查询有了解过吗

    MySQL数据库如何进行查询优化

    如何很多请求同时对Redis的同一个键进行访问,如何保证数据安全

    说说Redis的淘汰机制

    我的MySQL数据库每天晚上12点进行全备份。第二天有员工在9点钟误删除了一个数据库,但在10点钟才被发现。问如何进行恢复被误删除的数据库并同时保留9点到10点钟新增的数据同时不影响业务的正常运行?

    当数据越来越多,如何避免hash槽中key出现相同的情况?

    MongoDB在哪些场合使用过?

    03. 项目部署

    大家都说Nginx快?快的原因是什么?

    对RPC了解吗?

    如何在服务器上设置业务进程数?

    说说正向代理和反向代理

    04. Linux相关

    如何查看剩余内存

    如何查看端口是否被占用

    如何查看一个程序的PID以及它的所有子进程

    如何为一个目录下的所有文件添加权限

    如果你对一个目录具有写权限,那么你是否具有对这个目录下的所有文件具有删除权限?

    对Linux多路复用的理解

    修改IP地址的方法

    05. 前端相关

    1. 对前端HTML CSS 和 JS了解多少?熟悉吗?

    2. 对React和bootstrap了解吗?

    3. 如何进行http优化?(响应头设置Content-Encoding: gzip)

    06. 网络编程

    说一下实现TCP建立连接的过程以及当时进入了什么状态?为什么建立连接只需要3次,断开连接需要4次?为什么断开连接时第二次和第三次要分开,不能合在一起吗?

    07. 项目相关

    说一下一个请求过来到返回response的过程

    如何实现单点登录

    JWT token是如何进行生成和校验的

    了解过哪些后端框架?Tornado了解吗?

    了解过webapp2吗

    Django如何实现csrf攻击保护

    说说你项目中遇到的困难以及如何解决

    说说你认为自己最有成就感或最深刻的项目

    对KAFKA了解吗?用过哪些消息队列?使用过RabbitMQ吗?

    项目团队几个人?开发多长时间?

    08. 版本控制

    如何从远程仓库拉取分支到本地

    如何进行版本回退

    09. 其他内容

    Celery的原理和应用场景

    Elasticsearch 的原理

    平时是如何学习的?有关注哪些技术?

    Docker的了解,常用命令,如何暴露端口

    文章来源于: python那点事,版权归原作者所有,如有侵权,请联系 guanwang@163yun.com 删除。

    展开全文
  • 随着互联网行业的飞速发展,对专业的IT技能人才的需求量也随之变大。据统计,未来五年,我国互联网人才需求量还会持续增长,预计需求量...通过之前对同学们的沟通发现,好多同学不了解“前端、后端、全栈”是什么...

    随着互联网行业的飞速发展,对专业的IT技能人才的需求量也随之变大。

    据统计,未来五年,我国互联网人才需求量还会持续增长,预计需求量达到1500万-2000万,以软件开发为例,我国软件开发人才每年都在增加。

    这也是为什么近几年越来越多非科班出身、零基础的学生开始学习软件开发,进入互联网行业。但是刚开始选择哪个专业,也是一个非常大的难题。

    通过之前对同学们的沟通发现,好多同学不了解“前端、后端、全栈”是什么,所谓“磨刀不误砍柴工”,要真正了解互联网行业的所有岗位性质和需求,才能让你更有计划、更高效的学习。

    bd4eb4a18b7fe46a0186e8b8487a318c.png

    前端

    网站的“前端”是与用户直接交互的部分,也就是网站的“前台”部分,是给客户浏览的网页。这些内容,都是由浏览器解析、处理、渲染相关 HTML、CSS、Javascript 文件后呈现而来。

    01技能+工具

    三大语言:HTML,CSS,和 Javascript;

    此外,掌握 jQuery 和 LESS 等工具库也很重要

    它们能帮助开发者以更高效的方式编码

    ae1cd6f80e0840e4cec3039101d6196c.png

    前端开发就是为了实现以上用户视觉的体验效果的代码部分,通过建立框架、构造沉淀性的用户体验。为了实现这个目标,需要熟练掌握以下语言、框架、工具库:

    打个比方,前端开发者的工作专注于“房屋”装修,而盖房子的工作由后端开发者负责。

    前端工程师的工作:与设计师或者体验师合作,既做研发又做设计,研发出令用户满意的产品,参与到产品的开发和发布全过程。

    总之,前端开发者要为后端开发者搭建的“房屋”进行内部设计和装修工作。装潢风格由房屋所有者指定。因此前端开发工程师能够更好的发挥自己的设计和研发能力。

    薪资参考:

    c94d1f00f1bfa67c269b64d195803289.png

    后端

    方向

    为了让服务器、应用、数据库能够彼此交互,后端工程师需要具有用于应用构建的服务器端语言,为网站提供多方面支持。

    02技能+工具

    用于应用构建的服务器端语言:PHP, Ruby, Python, Java, .Net 等;

    数据相关工具:MySQL, Oracle, SQL Server 等

    PHP框架:Zend, Symfony, CakePHP等

    版本控制工具:SVN, CVS , Git 等

    还要熟练使用 Linux 作为开发和部署环境

    ae1cd6f80e0840e4cec3039101d6196c.png

    后端开发者就是需要运用以上工具制定最有效、最简洁的方案进行研发。

    薪资参考:

    5f39027ac4ad804774e840f3b946d6fc.png

    全栈

    方向

    全栈和他的字面意思一样,就是需要开发者拥有“前端”和“后端”开发的所有能力。能够承担服务器端和用户端的工作,能够给你带来更多的机会。

    03技能+工具

    全栈开发者也通常在服务器端进行编程工作,但他们熟练前端语言,能够操纵网站面向用户的部分。基本上可以形容他们是百事通。

    下图表来说明全栈开发不断增长的复杂性,这是过去与当前技术需求情况对比:

    47d872981fd1803bf5d5fd948a59d8a2.png
    5f6752608e4f25724d0b862afff726bd.png

    全栈开发工程师需要掌握大量工具实用的同时,还需要敏捷的分配好服务器端和用户端的任务。

    薪资参考:

    d52c4afd5e745d9e69ce143a69f2948a.png

    看了这些是不是对自己的方向更明确了,选择适合自己的才是最重要

    展开全文
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给大...
  • Web开发:什么是前端、什么是后端

    千次阅读 2014-05-09 15:40:53
    在学习了Spring、IBatis之后,对于前端后分工的需求也越来越强烈,所以,岗位的分工也根据开发的分工而开始尝试。  在我们实际的开发过程中,我们当前这样定位前端、后端开发人员。  1)前端开发人员:精通JS,...
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给...
  • 2、什么是后端开发? 后端开发即“服务器端”开发,主要涉及软件系统“后端”的东西。比如,用于托管网站和 App 数据的服务器、放置在后端服务器与浏览器及 App 之间的中间件,它们都属于后端。简单地说,那些你在...
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给...
  • 前两天,在群里收到一个群友...之前有许多读者会在微信上问我,「自学 Python 后端开发 到什么程度才可以出去找工作?」,由于我本人不从事后端开发,所以无法给出合理的建议。正好借着强哥这篇经验分享,希望能给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,080
精华内容 5,232
关键字:

后端支持是什么岗位