在实际工作中,算法对程序员的重要性真的那么重要吗

算法在工作中基本不怎么用到,但为什么面试总会问算法的问题 - 开源中国社区
当前访客身份:游客 [
当前位置:
前几天在知乎有人问到这个问题,原文地址:。
正好我以前也其它社区回答过类似的问题,于是贴了出来。
作为一名面试官,我很少面试语言的细节,这些都是可以通过看书或者手册学习到的。我比较喜欢看应聘者解决问题的能力。
原文太长,就不贴出来了。。
很多毕业生都把计算机学成了文科,他们不是在学习理论知识,而是被动接受/背诵记忆这些知识。他们来公司,编程只是他们的工作而已,聘用他们的真正目的是解决问题,用程序解决很多人共性的问题。
我面试时,他们可以使用任何工具甚至Google,当然,我出的题目一般都不能直接个Google到,虽然网上没有现成的答案,但是可以总结出答案。我的观点是,如果你的任何问题都可以用Google直接解决,你不可能成为一名特别优秀的程序员。
你搜索到的是数据,即使你保存在了evernote,说白了就是01串,你阅读了,思考了,这些数据就变成了信息,101 编程了 int a = 4; 你再继续思考,使用,深化,这些信息就变成了知识。 你会说:『哦,这不是李氏代换原则吗?』
最后重申一下:学历代表过去,能力代表现在,学习能力代表将来
共有14个评论
<span class="a_vote_num" id="a_vote_num_
我比较喜欢这句话:学历代表过去,能力代表现在,学习能力代表将来。
经常会被问到,我感觉是为了了解一下你的基础方面,以及对这些算法的认识程度有多深。最起码你要对这些算法是如何实现的思路清楚。
--- 共有 1 条评论 ---
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
&&& 能说出一二三的就行,要是一问,“啊,啥叫链表?拴狗的链子吗?”。。。一点不懂的,你就是给他公式他也不懂;好吧,用伪语言描述吧,他还是不懂;算了,我给你写出来还不行么,哎哟,他看不懂不会用、你是用C语言写的,他是做PHP/JSP的。。
知道算法,其一证明你的学历/力,就算不是正规军,也是半路出家,而不是纯土八路。其二,知道算法、数学,你的解决能力就比纯码农强,路就比别人宽。我来举例:
一个地图应用计算两地距离墨迹半天; 一个进制转换,糊里糊涂; 一个布隆过滤器,半天搞不懂; 一个URL短网址,墨迹半天弄出个废品; 一个公交查询转车应用,比杀了他还难受; 一个无限分类,当了三年码农每次都要去抄代码; 一个公交调度/客服排班系统,你宰了他他都弄不出来;
其三,证明你的兴趣和野心。
<span class="a_vote_num" id="a_vote_num_
总会用到的
<span class="a_vote_num" id="a_vote_num_
不得不说,受益匪浅,不过楼主这些知识是刚开始是从何处学到的?
--- 共有 2 条评论 ---
受教了,看书过程中还需要思考才行呀,自己终归还是太浮躁了
(4年前)&nbsp&
自学,书本。
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
<span class="a_vote_num" id="a_vote_num_
算法+ 数据结构 = 软件
如果说这个不重要, 说明做的不是软件, 做的是麻烦.
--- 共有 2 条评论 ---
(4年前)&nbsp&
但这个世界本身就是麻烦远多于创造,解决麻烦的职位是社会的常态,产生创造的职位带来的是惊喜或破坏,作为HR更应关注前者,后者是可遇不可求。
如果要招真正研究算法的,还不如就从数学专业里面挑一些艺术创作细胞充足的人,和软件开发人员放在一个团队互相学习就行。
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
如果工作中真的基本用不到算法但面试官常问,原因就其实和求职者在简历面试中言必称设计模式一样的道理,是一枚硬币的两面。在问完普通开发人员其他问题之后谈谈算法,就像正餐后的甜点,确实不错。倘若以甜点来取代正餐,就有点那个了,对专业HR而言,就是不够成熟了。
原帖中有个反中带正的回应(《算法算老几》的作者)搬运如下:
,爱阅读、爱思考、爱生活、爱老婆、爱点宝…
我一般不在面试的时候,问候选人算法题。因为,通常算法题,都是最容易事先准备好答案的。
我一般会问候选人在实际工作中,碰到的问题,然后追问、追问、再追问。看看他面对这个问题,究竟做了多么深入的思考,以及尝试过多少种解决的方案。
再换一种思路,假设我给你一个算法题,你以前没有遇到过,你会有怎样的思路?打算如何下手?有哪些可能的尝试方向?通过这些我也可以考察出你的水平高低来。毕竟,工作中遇到的大多数问题,都远远比那种一句话能够说清楚的算法题,更加复杂。
再换一个角度来谈,面试策略。一个面试官给你一道算法题,说明他至少是清楚的。这当然也是他懒惰的一种体现。你如果能够通过现场的思考,将他引向更加有深度的领域,那你就转变一个主导者了。
再谈一点:你到这里来提问,似乎想有人告诉你:算法并不重要。我可以贴一个以前的文章给你,算是帮你说两句,题目是《算法算老几》
/topic/65655
<span class="a_vote_num" id="a_vote_num_
我是来拆台。
把邮箱公布下,让我等应届生去面试下,如何?
<span class="a_vote_num" id="a_vote_num_
引用来自“DISSECTOR”的答案
如果工作中真的基本用不到算法但面试官常问,原因就其实和求职者在简历面试中言必称设计模式一样的道理,是一枚硬币的两面。在问完普通开发人员其他问题之后谈谈算法,就像正餐后的甜点,确实不错。倘若以甜点来取代正餐,就有点那个了,对专业HR而言,就是不够成熟了。
原帖中有个反中带正的回应(《算法算老几》的作者)搬运如下:
,爱阅读、爱思考、爱生活、爱老婆、爱点宝…
我一般不在面试的时候,问候选人算法题。因为,通常算法题,都是最容易事先准备好答案的。
我一般会问候选人在实际工作中,碰到的问题,然后追问、追问、再追问。看看他面对这个问题,究竟做了多么深入的思考,以及尝试过多少种解决的方案。
再换一种思路,假设我给你一个算法题,你以前没有遇到过,你会有怎样的思路?打算如何下手?有哪些可能的尝试方向?通过这些我也可以考察出你的水平高低来。毕竟,工作中遇到的大多数问题,都远远比那种一句话能够说清楚的算法题,更加复杂。
再换一个角度来谈,面试策略。一个面试官给你一道算法题,说明他至少是清楚的。这当然也是他懒惰的一种体现。你如果能够通过现场的思考,将他引向更加有深度的领域,那你就转变一个主导者了。
再谈一点:你到这里来提问,似乎想有人告诉你:算法并不重要。我可以贴一个以前的文章给你,算是帮你说两句,题目是《算法算老几》
/topic/65655
对算法的理解太狭隘了
我就问一个问题, 财务控制算不算算法.........
产品价格变动算不算算法?
我毫不客气的说, OSC没有一个人能设计出能够支持复杂业务流程的产品价格表关系.
Iteye是一帮SB. 不值得参考.&
连TMD通用算法都搞不定的程序员叫做码农, 都是废物
--- 共有 5 条评论 ---
可能我对过度抽象(设计模式/哲学)有本能的恐惧,心目中的算法只是狭义的“计算的方法”,即算法=对能抽象成数学范畴的问题进行工程性求解(如解释性求解就是数学本身了)。而实际工作中,业务建模的需求远多于算法建模,因此认为即使智力平平的人也能发挥大作用,游戏规则的合理性从长期而言比精英的作用更有效
(4年前)&nbsp&
这个问题很复杂, 没有办法给你解释清楚. 我就告诉一点点业务场景: 产品在不同区域可以有不同价格, 可以有不同币种, 在不同时候, 不同销售渠道[同一区域],可以有不同折扣模式............. 足够你学三年了.
(4年前)&nbsp&
产品价格变动则是一个典型的博弈算法过度设计问题,最出名的例子是去年亚马逊书店出现天价书的案例:两个供应商的自动报价算法碰巧形成了互为参照的循环,但没有考虑价格幅度变量范围控制,导致互相攀升。这类博弈范围的算法从设计开始就需要考虑加入人工控制因素,而不是追求完美算法,反面例子如美国次贷计价,又如多个云计算公司分布系统中的故障检测和仲裁协商出错导致的大面积过载。
(4年前)&nbsp&
也要算法. 其实业务流程控制就是算法. 当然, 这些不是通用算法. 每个行业都有自己的算法. 这也是"资深" 需要工作经验, 需要行业经验的原因.
(4年前)&nbsp&
呃,SOX了解过,财控第一次听说,看了介绍/wiki/%E8%B4%A2%E5%8A%A1%E6%8E%A7%E5%88%B6,觉得财控对非投资性行业来说,只是一个领域定制的管理模型设计和实施问题,可能涉及系统动力学以及一些指标体系设计,但都属于工程问题而不是算法设计问题
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
算法的重要程度,取决于你的工作中算法所占的比重。
你的工作是javaWEB方向还是搜索引擎优化,决定了算法对你的重要程序。
算法也是解决问题的一个手段而已。
有的时候我们必须承认自己在算法上没天赋,比如在ACM比赛中,你的答题速度永远都赶不上那些有天赋的人。
但是在别的方面或许你会更强,比如你能比那个算法比例厉害的人,更容易理解客户的需求和报出一个更高的价格。
在没有一个明确的环境定义的下,有的争论都是多余的。
--- 共有 1 条评论 ---
不能同意更多,世界本身应该是多元的,无论价值观还是手段。
但一个明显的事实就是,从近年开始,很多用人单位的IT基础已基本弄好,数据已开始源源不断涌入,商业活动的决策支持已从“用事实证明”开始进化到“用数据证明”甚至“用系统模拟”的阶段,因此趋势上,HR强调算法思维的动机与前几年截然不同了:前几年是看发展潜力,现在是看能否直接用了,这对毕业生而言,确实是个挑战
(4年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
justjav...的其它问题
类似的话题

我要回帖

更多关于 算法重要性 的文章

 

随机推荐