作为一名做 Web 开发的 Java 工程师,算法在工作中基本不怎么用到,但为什么面试总会问算法的问题?

我工作也有四五个年头了,个人觉得算法在工作中基本不怎么用到,也可能是因为我工作内容的原因,我主要做web开发,请问大家对这个问题怎么看?
关注者
2,181
被浏览
660,138

104 个回答

我跟你说一个事儿。

这几年我对我们招人的标准一再降低一直不满。一些破破烂烂的人也进来了。

给他们培训的时候,讲一点算法相关的东西,很多人就脑子跟不上了。在我们看来是显而易见的事情,他们就是看不到两者的相关性。经过验证,这还真不是知识储备差异造成的。

好歹把培训折腾完了,人都进了项目了。


客户的一些需求需要实现,你会发现那些搞不懂算法的人,虽然我们的工作中确实用不上多少算法,但是客户需求稍微逻辑复杂一点,他们就理解不了了。给他讲清楚的时间要成倍增长,让他们直接听取客户的说明根本无法放心。


其实,我对一些复杂算法,也有脑子转不过来的时候,所以遇到有些极其复杂的保险、银行的条款规则逻辑,如果不借助纸张笔记什么的,我也会晕。但我也见过凭脑子就能理顺逻辑的人。

估计这就是每个人有每个人的天花板吧。


所以,有可能真的不一定能用到算法,但是这是一个不错的筛选器,可以把那些将来会大大增加沟通成本的人筛掉。这对一个企业的健康成长是很必要的。

关于这个问题,我很想告诉lz一个残酷、有趣而又有些玄妙的事实。

告诉你算法没用的人,很多都是拿着高薪,并且懂一定算法的。
告诉你算法是cs科学的灵魂的人,未必是这方面的大牛。

你去问算法牛人,算法有多重要,他们多半会强调算法只是理论,工程性才重要。
但如果你去问一个工程做的比较深,算法学的比较浅的哥们,他们很多会说算法NB才是真正NB。
(也不排除有些2方面都不算很懂,但喜欢站队发表自己观点的)

这种答案究竟是出于什么情感?说不太清,多半是对于自己不熟悉的领域有所敬畏。对于自己熟悉的东西比较谦虚。但看到这类回答的时候,你需要多分析一下他们的答案。