后端开发需要学什么_都2020年了,还在纠结学什么语言?| 后端篇

f28948fdb22fea325df8b5d40d18fda4.gif

几个礼拜前,一个学弟问我:

“Ray,我打算之后要找工作了,不过现在自己没有特别深入的语言,最近想找一门好好学一下,你觉得学什么语言好呀?”

我表示:“这个要看你求职方向、个人喜好、市场供需了,其实现在热门语言各有各的好,你挑一个顺手的学起来就行。”

95e92d155531701c2f58b0552350ac39.png

兜兜转转,好几个礼拜过去了,这位学弟还在几个语言之间徘徊,由于纠结到底学什么语言好,把所有流行的语言都学了一遍,至今已精通十几门语言的“HELLO WORLD”,却没有深入任何一个语言的底层。

56f21e89a56baa4fc084adb9735009d0.png

确实,选择哪一门语言深入钻研是一个大学问,一门语言需要你投入非常非常多的精力才可以融会贯通,需要好几年的经验才敢说自己是精通,所以在技术选型这一关上很多同学都花费了大量时间。

其实,对于求职者而言,选择哪一门语言要考虑的不只是自身因素,比如语言风格是否符合个人喜好、语言的学习速度、学习曲线...

更要考虑的是这门语言现在及未来在应用领域的发展、这门语言的学习者数量是否过于庞大导致相关岗位门槛快速升高。

我反思了一下自己,当时模棱两可的回答确实给不了初学者们明确的方向,所以在投入时间成本进行学习前,今天给大家仔细分析分析。

希望看完今天的内容后,大家不要再继续学习十几门语言的“HELLO WORLD”了,赶紧选定一门语言,好好修炼内功,去打磨知识深度吧~

3f3fe668b1f4bc2bb0b56e371703d463.gif

那么今天的讨论主要围绕后端方向的语言,包括Java、C++、Golang、Python。

de4d685912860b8b25cb26470d379e21.png

往下看!

JAVA

8505b7124640921436fff8e8e98a7ab8.png

第一个登场的是Java,后端开发语言领域的老大哥,要说后端开发应用最广的绝对是它,同样求职岗位供应最多的也是它,如果你已经濒临毕业没什么时间在瞎琢磨其他的,只想一门心思把所有时间都花在更快地找到工作上,选它选它。

不过从另一方面考虑,我们能想到找工作就要学Java,当然所有人都能想到这点了,因此市面上所有培训班的后端课90%都是Java培训。

要说对于Java语言掌握的熟练程度,培训班出来的同学们水平不一定比CS科班毕业的同学们差,因此虽然Java供应的岗位多,但是求职者也多,竞争压力大,门槛一路水涨船高,随便去网上搜一下Java岗位的面经,那难度飙升到让人害怕。

8aad4f4d2b7c38eb605c9ee6d3ac0fa2.png

但是也不要太害怕,Java是一个大中小厂全部都大量使用的语言(其他语言很可能只有大厂才用),也就是说即使由于竞争太激烈而痛失大厂offer,还有中小厂可以拼一拼

不仅如此,近两年疯狂缺人、难度不断降低的安卓岗,如果你会Java,转岗面试是很容易过关的,所以可以考虑一下Java哦~

C++

902f7bb3364b52a7be0cfd062d72ac7e.png

第二个登场的是C++,性能届的老大哥,广泛应用于游戏开发、图像处理、工业等追求性能和速度的领域,也是学校授课的首选语言。

如果你是一个时间还算充裕,想打磨打磨自己计算机基础知识的同学,选它选它。

C++在我提及的这几门语言中,某种意义上来说,是难度最大的,那让人眼花缭乱看一眼心脏就会漏跳一拍的指针、地址、引用、模板、多态……

厚得用来盖泡面,泡面盒都会被压垮的《C++ primer》,想必是每一个CS学子心中抹不去的记忆。

不过经历过风雨,后面就都是彩虹,我可以很负责任地说,如果你可以把C++学通透了,以后学其他语言基本都是分分钟上手,转语言根本不是问题

同时,虽然C++在企业的后端开发中使用率没有Java高,但你去应聘任何一个岗位,无论它的要求是熟练掌握Java还是Python还是Golang,只要你告诉面试官你熟练掌握C++,一定可以获得面试机会,如果在面试中对于C++相关问题对答如流,那么一定会给人留下很好的印象。

有时间并且对于底层知识有所追求的同学们,冲!

4ecccee594842284041ff0704f01ce40.png

GOLANG

d433490e82e98a2482862c0d621a2927.png

随着字节跳动后端全面使用Golang,腾讯某些部门开始推广使用Golang,以及其他大中小厂的部门或多或少开始使用Golang。

再加上近几年大火的Docker, Kubernetes均有Golang编写,Golang彻底走进了且占据了每一个后端求职者的心。

Golang代码简洁、易用、开发速度快,且相比于同样以易用、快著称的Python,还具有性能良好的优点,具体比Python快多少,大家可以在Leetcode里用同一道题同一个思路,分别用Python和Golang写一遍对比运行时间。

除此之外,Golang虽然是一门类C语言,同样拥有指针,但是它学习速度快、学习曲线平缓,用来作为一门快速掌握以应对求职的语言也是不错的选择

要说找后端方向的工作,第一名选Java,第二名就选Golang。不过Golang一般在大中厂使用较多,小厂基本还是Java的天下,也就是说如果水平没有达到中上的层次,学了Golang可能就要没饭恰了。

PYTHON

58e4b2febab345b9e7e1f426ae53219f.png

虽然但是,Python是一门流行度不断上升的语言,可它在后端的地位确实不太行。

Python虽然开发速度很快,但是性能和效率有些不足,后端作为一个处于高并发场景要求快速处理数、据快速响应的部分,对性能的要求还是非常高的,因此选择使用Python作为大型后端项目的开发语言的公司和岗位可以说非常少。

而且相较于其他语言的资料和教程,大部分Python教程面向于初学者、入门爱好者,只提供一些较浅显的知识点,让学习者误以为Python的学习程度到此就够了,导致大家忽略了Python的底层机制、实现等,只学到了一些皮毛,在真正面试时才发现面试官问的自己好像不曾关注过。

不过如果你是一个自驱力强,热爱主动钻研底层,或是学习用Python做一些爬虫、数据处理以及快速开发一些自己的小项目的同学,选择Python造一些有趣的应用也是很不错的~

03af1dd7ee9ee0c3bc0d29f427f55370.gif

— END —

撰文:RAY

校改:小A

85160c8257cde3dfba5727bc0fc73680.png

点个在看

持续为你提供更多求职干货

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python扫描ip的端口打开情况

我们的韩国bss系统上线之后,要求对主机的端口、资源使用进行统计,端口每个主机去看,太费劲了,所以,就写了这样一个小程序,不是很完美但是,可以用啊!哈哈哈,别喷&#xff…

flash java 通信,Flash到JavaScript的通信实例

从HTML可以发送数据到Flash,反过来也可以. 这个例子演示了如何应用Flash的Fscommand来发送数据到Javascript.简要步骤:Flash中新建一个文件,保存为flash_to_javascript.fla创建一个文本域,设置成输入文本(Input Text),选择"border"以便我们能看到他,指定他的变量为in…

10个非常有用的CSS hack和技术

转自&#xff1a;http://www.qianduan.net/10-useful-css-hacks-and-technique.html 1 – 跨浏览器的inline-block <style>li {width: 200px;min-height: 250px;border: 1px solid #000;display: -moz-inline-stack;display: inline-block;margin: 5px;zoom: 1;*display:…

Java的递归算法

递归算法设计的基本思想是&#xff1a;对于一个复杂的问题&#xff0c;把原问题分解为若干个相对简单类同的子问题&#xff0c;继续下去直到子问题简单到可以直接求解&#xff0c;也就是说到了递推的出口&#xff0c;这样原问题就有递推得解。 关键要抓住的是&#xff1a; &…

python list遍历定位元素_python for循环,第二遍定位不到元素?

ycyzharry: 也不行&#xff0c;我的代码import unittestimport timeimport xlrdfrom selenium import webdriverimport seleniumdef open_excel(filefile.xls):try:data xlrd.open_workbook(file)return dataexcept Exception as e:print(str(e))def excel_table_byindex(file…

发现Java程序中的Bug

昨天在CSDN上阅读 "Java中十个常见的违规编码"这篇文章时&#xff0c;无意中找到了3个 "发现Java程序中的Bug"工具。 文章地址&#xff1a;http://www.csdn.net/article/2012-09-11/2809829-common-code-violations-in-java其中&#xff0c; FindBugs™ - …

原生php登录注册,原生php登陆注册

本以为一个登陆注册功能十来分钟就写好了&#xff0c;没想到thinkPHP用久了&#xff0c;原生的php不会写了最开始我直接写了类和方法&#xff0c;在前台传递参数给类的login方法(action"index.php/login"),尝试几次发现无法访问&#xff0c;这才意识到&#xff0c;这…

SpringMVC REST 风格静态资源访问配置

1 在web.xml中使用默认servlet处理静态资源&#xff0c;缺点是如果静态资源过多&#xff0c;则配置量会比较大&#xff0c;一旦有遗漏&#xff0c;则会造成资源无法正常显示或404错误。 <!-- 静态资源访问控制 --><servlet-mapping><servlet-name>default<…

生成对象

var c[name,age,city]; var d[xiaogang,12,anhui]; var a{}; for(var i0;i<3;i){a[c[i]]d[i]; } console.log(a); //返回 {name: "xiaogang", age: "12", city: "anhui"} 转载于:https://www.cnblogs.com/xiaozhumaopao/p/6046823.html

3.寄存器(内存访问)

CPU中&#xff0c;用16位来存储一个字。高8位存放高位字节&#xff0c;低8位存放低位字节。内存存储中&#xff0c;内存单元是字节单元&#xff08;1单元1字节&#xff09;&#xff0c;则一个字要用两个地址连续的内存单元存放。内存存储中&#xff0c;高位字节&#xff0c;和低…

shiro前后端分离_为什么要前后端分离?前后端分离的优点是什么?

随着互联网的高速发展以及IT开发技术的升级&#xff0c;前后端分离已成为互联网项目开发的业界标准使用方式。在实际工作中&#xff0c;前后端的接口联调对接工作量占HTML5大前端人员日常工作的30%-50%&#xff0c;甚至会更高。接下来千锋小编分享的广州HTML5大前端学习就给大家…

POJ 2152 Fire

算是我的第一个树形DP 的题&#xff1a; 题目意思&#xff1a;N个城市形成树状结构。现在建立一些消防站在某些城市&#xff1b;每个城市有两个树形cost&#xff08;在这个城市建立消防站的花费&#xff09;&#xff0c;limit &#xff1b; 我们要是每个城镇都是安全的&#xf…

php 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别

GET&#xff1a; 请求指定的页面信息&#xff0c;并返回实体主体。HEAD&#xff1a; 只请求页面的首部。POST&#xff1a; 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。PUT&#xff1a; 从客户端向服务器传送的数据取代指定的文档的内容。DELETE&#xff1a; …

python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...

我不确定我完全理解你的问题&#xff0c;但我认为下面的例子可以满足你的要求。服务器可以断开旧用户的连接&#xff0c;为新用户提供服务。在服务器端&#xff1a;#!/usr/bin/env pythonimport socketimport multiprocessingHOST 127.0.0.1PORT 50007# you can do your real…

dede搜索php在哪,dede搜索页面怎么调用及相关搜索调用

dede搜索页面怎么调用&#xff0c;那几天有事情&#xff0c;所以导致博客几天都一直没有更新&#xff0c;之前我们讲过dede内容页面和dede列表模板的调用&#xff0c;今天我们一起来学习下搜索页面的调用&#xff0c;很多做企业站朋友们都不知道dede的搜索页怎么仿&#xff0c;…

电脑中病毒后被隐藏的文件的显示

用批处理或DOS更改属性。批处理就是建个记事本&#xff0c;输入attrib -h -s -r %~dp0\*.* /s /d&#xff0c;然后另存为随便.bat&#xff0c;把它放到那些隐藏文件夹外面&#xff08;不是里面&#xff09;&#xff0c;然后双击打开&#xff0c;等它自己关闭窗口就好了转载于:h…

HDU 3555 - Bomb

第一道数位dp&#xff0c;属于基础模板&#xff0c;又自卑小时没学好数数了&#xff0c;只是不清楚为什么大家的dp定义都是相同的&#xff0c;很显然么&#xff0c;难道我写的是怪胎。。。 /* ID:esxgx1 LANG:C PROG:hdu3555 */ #include <cstdio> #include <cstring&…

浏览器angent分析工具

cz.mallat.uasparser.UserAgentInfo info null; info uasParser.parse(userAgent);转载于:https://www.cnblogs.com/yaohaitao/p/6048011.html

python2协程_python中的协程(二)

协程1、协程&#xff1a;单线程实现并发在应用程序里控制多个任务的切换保存状态优点&#xff1a;应用程序级别速度要远远高于操作系统的切换缺点&#xff1a;多个任务一旦有一个阻塞没有切&#xff0c;整个线程都阻塞在原地&#xff0c;该线程内的其他的任务都不能执行了一旦引…

python相减函数subs,SUBS(subs是什么函数)

matlab中subs()是符号计算函数&#xff0c;详细用法可以在Matlab的Command Windows输入&#xff1a;help subs。subs()函数表示将符号表达式中的某些符号变量替换为指定的新的变.f1subs(f,t,t3); f2subs(f1,t,2*t); f3subs(f2,t,-t); subplot(2,2,1);ezplot(f,[-8,8]);。subs是…