为什么程序员普遍缺乏数据结构和算法的知识

在很多程序员看来,数据结构和算法这一类的东西感觉没用,在实践中都不常用,所以都会很忽视这类内容,但是在很多公司看来,尤其是大公司看来数据结构和算法这种东西确实最有用,而且经常在笔试和面试中出现。为什么会这样呢?

1、看似最枯燥、最基础的东西往往具有最长久的生命力

像数据结构,算法这类东西,还有有一些计算机原理之类的知识,这些东西都是编程和实践的根本。他们看似枯燥和基础,但是具有最长久的生命力。

我知道,你可能熟悉各种框架,各种开源库的使用,但是那又怎样?看着各种框架和开源库的文档,只要有编程基础,谁不会照着葫芦画瓢呢?

不要天天谈什么框架,什么库,框架每年层出不穷,可是扒下框架那层炫酷漂亮的外衣,里面还是那些最基础的知识和原理。就是这些算法,数据结构,计算机网络,计算机原理这些看似基础的东西。如果这些掌握扎实了,你才有更加深一步的可能。

编程语言和编程框架等这些表面的东西,对于一个基础扎实的程序员来说,学习起来很快,成长也很快,如果这些基础和原理都懂,你就可能会写出这样的框架来。技术更新迭代快,语言层出不穷,但是数据结构,算法,计算机原理这类的东西确实没有变。

2、数据结构和算法在面试的时候最容易量化和体现能力

什么意思呢?在面试或者笔试的时候,面试数据结构和算法,可以面出你的思维能力,思考能力,这个能力对于编程来说很重要。比如:如果面试你使用过什么框架吗?你说:会,使用过,然后你谈了谈使用这些框架的一些知识和遇到的坑,以及怎么解决的?通过这样的问题,不能看出的思维能力和编程能力,只能看出你确实会用这个东西。

而面试算法和数据结构不一样了,以为面试这种东西可以让你写出来,或者写伪代码,而且这些能力如果你有,你的成长空间也高。面试你编程的实践能力,不可能让你上机去敲一个模块的实现吧?而让你写个算法和数据结构却很方便,也可以量化。

所以,很多人平时不用算法和数据结构,在跳槽的时候,也会提前去复习算法和数据结构的知识,因为这是面试中很常见的问题。但是我还是建议大家能够一直有这种能力。不要因为不常用而忽视这些基本的东西,这些东西才是精华。

目前大部分程序员是不重视这类东西的,这个问题的一个很重要原因就是很多程序员非计科专业出身,半路出家当然需要最快形成生产力,但如果你想成为优秀的程序员,这些东西,你懂得!漫漫开发之路,我们只是其中的一小部分……只有不断的学习、进阶,才是我们的出路!才跟得上时代的进步!

C语言为什么没有数组下标越界检查?

只有程序员才懂的动图!太真实了。。。

一个妹子的后台面试经验总结(蚂蚁金服+美团+携程+滴滴+....)

太厉害了:居然有人将各大编程语言绘成了一部编年史

面试题:竟然有90%的程序员不能把这个算法完全写正确。。。

来一道C++面试题试试手?

中国技术排名前几的程序员是谁?

拼多多和腾讯C++开发岗面试题

从编译原理的角度看C语言是如何转换成汇编语言的?

如何远程登陆已知IP地址的电脑?

中国最盛产程序员的十所大学,北邮浙大华科领跑

C++和Java到底应该选择哪个?

又是一个看似简单但易错的C语言试题,来试一下?

C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

漫话:如何给女朋友解释为什么计算机只认识0和1?

编程史上大名鼎鼎的几位大神,看到第一确实服了

程序员必定会爱上的10款软件

为什么是-到?

这段C代码有问题,来找一下?

三个小故事带你快速了解C、C++和C#

这几行C代码究竟会输出什么,来试一下?

C语言实现类似QQ聊天界面抖动功能!

这三行C语言代码到底有没有问题?

来了!C++学习建议和学习资料

C语言main函数到底怎么写是对的?

Debug究竟是什么意思?

C和C++哪个效率更高?

薛定谔的coding猫

扫一扫下载订阅号助手,用手机发文章赞赏

长按







































专业治疗脸上白癜风医院
白癜风有什么好办法



转载请注明:http://www.92nongye.com/zyjs/204621609.html