面试过的这么多程序员,80%都不懂数据结构和算法!

Posted 数据结构与算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试过的这么多程序员,80%都不懂数据结构和算法!相关的知识,希望对你有一定的参考价值。


语言只是工具,而算法才是程序的灵魂。”这句话,我估计你已经听到过无数次。

可一旦具体到日常工作中,我们还是会遇到各类的困扰

  • 像数据结构和算法这种脱离实际工作的知识,是不是除了面试,这辈子也用不着?那还有学的必要吗?

  • 哪怕不懂算法,只要把 Java API、开发框架用得熟练,同样能让代码“飞”起来,为什么还要花精力去学?

先不急着解答你的问题,我先问你,作为一名开发工程师,你真的愿意做一辈子的「CRUD boy 」

大部分程序员整天都在重复「增删改查」,哪怕是在所谓的“业务开发”中,也只不过是利用已经封装好的现成的接口、类库来堆砌或者翻译业务逻辑。

确实,这很少能用到数据结构或者算法之类的知识。

但是,不需要自己实现,并不代表什么都不需要了解和掌握!

举个例子,假如你不懂这些类库背后的原理,不懂时间、空间复杂度分析,那又何谈能用好、用对?存储某个业务数据时,又怎么选择用 ArrayList,还是 LinkedList ?调用了某个函数后,又该如何去评估代码的性能和资源的消耗?

清醒一点,初级程序员才比招式,高级程序员只看内功。

仅仅是一个简单的 ArrayList或Linked List 的选择,就可能带来成千上万倍的性能差别。

这时候,数据结构和算法的价值就完全凸显出来。只要你理解背后的数据结构,可以迅速看出这些类的本质区别。届时根本用不上死记硬背,也能快速理解对应场景下的选择。

推荐一门我最近在看的《数据结构与算法》,里面讲的算法内容并不拘泥于编程语言,并与实际开发场景联系紧密,还可以训练算法思维,是真正能做到提升编程内功的数据结构与算法课程。

赶上双十一,极客时间做大促原价¥129 的专栏,新用户现在首单仅 ¥1

以上是关于面试过的这么多程序员,80%都不懂数据结构和算法!的主要内容,如果未能解决你的问题,请参考以下文章

面试官:连漏桶算法和令牌桶算法都不知道吗?回去多看看书吧

连算法和数据结构都不懂,还想晋升?

80% 的 Linux 都不懂的内存问题

80% 的 Linux 都不懂的内存问题

80% 的 Linux 都不懂的内存问题

三年Git使用心得 & 常见问题整理,80%的人都不懂