为什么算法在面试中这么重要?
各位,最近不少读者问了一些关于面试的事情,很多人也提到了算法对于面试到底重不重要。今天咱们就这个问题跟大家简单聊几句,当然能力水平有限,有不对或者不到位的地方还请大伙批评指正。
先简单讲讲面试
在讲算法之前咱们先几句话聊聊面试,这是大家从学校走向社会的重要一步。校招和社招的面试,一般来说有2-3轮技术面试和1轮HR面试。技术面试可能现场也可能电话,HR面试有些公司还不一定有,这种情况就是三轮技术面,当然可能有的公司面试跟上面说的不太一样,但正常来说是这样的。
对于技术面试来说,基本可以这样讲:技术面试=基础知识和业务逻辑面试+算法面试。所谓基础知识和业务逻辑面试,就是对你应聘岗位进行相关知识的考察,通俗地讲就是看你有没有干这份工作的专业能力。比如你要应聘前端岗位,那js、css、html和 jQuery的一些问题肯定会问。第一步如果你过了的话,那就来到了算法面试,通常会以代码的形式考察,很少会单讲算法。
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。
算法为何重要
从上面的:技术面试=基础知识和业务逻辑面试+算法面试 来看,对于业务逻辑知识层面的,那没的说,你想从事这个岗位的工作,那这一部分知识是必备的。但我们可以看出算法的普遍性,这也正是算法重要的原因之一:它是一种通用的考察点,不管你应聘哪个岗位都可以进行考察;另外考察算法的另一个非常重要的原因是:它包含了太多的逻辑思维,可以考察你思考问题的逻辑和解决问题的能力;这一点也是面试官比较看重的,因为它可以反映出你的潜力,我曾经听阿里一位资深面试官这样讲过:当一个人逻辑思维和能力不错的情况下,你还会担心专业的业务知识方面他不行或者学不会吗?”管中窥豹,算法的重要性我想大家都应该明白了。
自己的一些思考
其实我真正想说的算法重要的原因是:它是你扎实基本功的反映之一,这些东西很大程度上会决定你未来在IT这条路上到底能走多远。现实点说,由于现在互联网行业薪酬较高的实际情况,很多人会报班或者半路出家去学IT,其实这变相拉低了广义上程序员的门槛,似乎大家都可以通过这条路来寻求高薪。那作为想或者已经从事这个行业的我们,如果你是科班的,那再好不过了,请珍惜这个机会;如果你不是,但也想干这行,在竞争越来越激烈的今天,必须要有点硬功夫,而上面说的算法就是其中之一,当然还包括类似于数据结构、汇编、组原、计网、数学等等,如果这些学好的话,它们是和别人竞争的一项无形的资本,也就是我们说的会让你有区分度。
因此,朋友们,重视它吧,也许有一天你真的会因为它pass掉竞争对手。至于算法包括哪些怎么学的问题,因为篇幅原因在这里就不讲了,看后面找时间专门写一篇如何学习算法的总结。好了,就写到这里吧,感谢大家的耐心阅读。