知乎热议:数据结构算法至上照旧技能至上?网友:数据结构算法是决定大厂口试成败要害

微信二维码导航

新智元报道

来源:知乎

编辑:雅新、舒婷

【新智元导读】近日,一位网友在知乎上发起提问:计算机学生在大学四年应是以数据结构和算法为重照旧技能为重?引来网友纷纷围观,偏重数据结构算法、技能侧,另有两者兼顾的呼声皆有。

读计算机专业的你,大学四年是否还在迷茫是以数据结构和算法为重照旧技能为重?

要想排除疑惑,先要知道计算机科学与技能这个专业都包罗了什么。

顾名思义,科学与技能是组成这一专业的主要两个部门,所学课程也主要这两部门内容为主:像操作体系、计算机网络、数据结构与算法等课程都属于科学侧,而web网页设计、C++程序设计等课程则属于技能侧。

数据结构和算法:决定大厂口试成败的要害

Pascal之父尼古拉斯·沃斯曾靠一个公式「算法+数据结构=程序」得到了冠有计算机界诺贝尔奖之称的图灵奖。从这个公式中不丢脸出,编程从本质上来说就是算法加数据结构,而算法是编程思想的焦点部门。

编程可以将现实世界中的详细需求「翻译」为代码,数据结构和算法为我们如何翻译息争决现实问题提供思绪,就能使用编程语言与计算机举行相同从而实现各种需求。

网友纷纷表示,「应当以数据结构算法为重,一线大厂更多考察的是对数据结构和算法的掌握水平。」

「如果不会数据结构和算法,口试这一关都过不去。」

数据结构和算法为什么那么紧张?

1、升职加薪的依据。数据结构和算法可以或许高效解决面临的庞大问题,是为boss省钱的技能。

2、进入大厂的敲门砖。比起编程语言、框架,口试官实在更看重候选人能否能运用数据结构与算法来高效解决给定问题。

数据结构与算法功底踏实的程序员,其技能实力、业务能力、自学能力大多都不会差。对于大厂招人来讲,如果候选者的算法基础很好,就意味着以后进入公司学习新技能的成本会大大减少。

就犹如金字塔一样,数据结构和算法在最底层,而技能只是最上面的一部门。地基没打踏实,未来定会遇到瓶颈。由于脱离数据结构和算法的技能每每门槛低,可替换性强。你会的,他人通过社会培训也可以在短时间内掌握一定的技能,无疑未来会在自己的岗亭竞争很猛烈。

腾讯宁静联合实验室表示,「包括腾讯在内的许多大厂,会把数据结构和算法,特别是算法作为口试中的重点内容,是取得offer的要害。」

「而一小我私人对数据和算法的理解,可以体现出他是否能在编程事情中机动选用合适的数据结构和算法,有用降低代码的庞大度并提升使命的完成效率,可以或许直接体现出一小我私人对于编程这项事情的理解深度和实力。」

业务和技能挂钩,而非数据结构和算法

讨论中,「数据结构和算法」的支持者似乎占了泰半,只有零星的开发者站在了技能侧。

固然,如许的场景也合乎常理。这就好像你问高中教诲是「应试教诲」紧张照旧「素质教诲」紧张,我信赖会有凌驾一半的人站在「应试教诲」的一侧,缘故原由很简朴,应试能力决定了你是否能进好的大学。

同样,在开发者程序员的领域,数据结构和算法掌握的牢固才能过大厂的口试,否则你也没时机展示你的技能能力。这就直接导致了通常有「转码」动机的求职者全民刷leetcode,这盛况让我想起了高考时期的《五年高考三年模拟》。

然而知乎用户@老张的一针见血了:虽然大厂用leetcode来考口试者的数据结构和算法,但那本质也是「应试」——你刷的那些算法之后大概率也不会打仗到;打仗到,你也不会用。

换而言之,你掌握的leetcode条理的数据结构和算法,很可能只是让你做个题。真正讲到学术性的数据结构和算法的时候,你也得哑然了。

另一个知乎用户@清寰就指出了,真正的算法,入门门槛很高,并不是刷题就能解决的,需要你有很强的逻辑思维能力。同时他还表示,技能是为业务去服务的,没有业务要求的算法毫无意义。

也有计算机系的学生现身说法。知乎用户@yuantailing就指出,数据结构与算法在本科课程中的比重寥寥,末了真正在科研中选择算法也很少。

诚然,想要斩获大厂offer你需要在数据结构和算法的标题上有精彩的体现,但要在现实落地中体现精彩,则是磨练开发者的技能能力。

选择并不互斥:数据结构算法和技能都可以做的很精彩

小孩子才做选择,大人只会说「我全都要」。

知乎用户@maggch就指出,这两个选择不是互斥的。如果然的想要在计算机领域有所成绩,那么两个部门都需要你支付积极。

同时他还指出,刷leetcode并不是仅仅为了应试,有的时候去理解吃透标题的出题知识点和出发点是很紧张的。除了会使用工具举行应用开发,还要去相识背后的原理细节。否则学任何方面都只是皮毛。

简直,另一个知乎用户@Ire写了如许的一个比喻:

这和知乎用户@橘猫胖胖的观点不谋而合:

数据结构与算法就是开发者的基本功,许多时候决定了你能到什么样高度的平台。但是,到达如许的平台之后,和事情更贴近的照旧技能,这也决定了你的事情上升空间。因此,是否有及格的基本功需要自己判断,究竟需要在哪个方面下功夫是因人而异的。

就像知乎用户@路鹅甲说的那样,这不是一件非左即右的事情。

末了,在这个讨论内里看到了一个很有趣的观点和各人分享一下:

真的没有热爱计算机的程序员吗?

参考链接:

https://www.zhihu.com/question/395908518

(声明:本文仅代表作者观点,不代表新浪网态度。)

文章要害词: 网络文化

用微信扫描二维码分享至挚友和朋友圈

' + _substr(uids[i].name, 0, 14) + '

' + _substr(uids[i].v_reason, 0, 16) + '

上一篇:

下一篇: