参加过大公司的招聘,尤其是校园招聘的同学,很容易发现:很多大公司,都喜欢面试算法和数据结构。以前,我对这个问题有点思考。最近,有个小雷粉,特意问到了这个问题。so,简单说几句,吐槽乐一乐。
1、我首先想吐槽的,这绝对是大公司装逼的一个直接体现。通过出很多高大上的算法和数据结构题,体现出自己与其它公司的区别。尤其是一些特别难的,一出考场,就热闹了,网上也跟着热闹了。
2、什么类型的题目最有含金量,自然是数据结构和算法。通过高大上的题目,才能识别出哪些是聪明勤奋的孩子,哪些是不入流的小弟。你要晓得,BAT等公司,给应届本科生的薪水,都在月薪1万以上,一年大概在13万以上。薪水、人才、面试难度,自然是相关联的。
3、算法和数据结构是程序设计的本质。算法,我觉得是个非常装逼的词。书本和网上的舆论,都把这个词塑造的比较高大。我不这样认为,为嘛呢,我就喜欢提出一些有新意的观点。算法,解决问题的方法而已,有啥了不起的。农民、建筑、医疗,哪个行业没有解决问题的方法,唯独IT程序设计搞了算法Algorithm出来。解决问题的方法,是所有行业的基本生产力,是工作生产劳动的基本手段。可以说,世界就是由问题组成的,人类每天都在解决问题。
4、算法和数据结构的题目,相对标准化。方便出题与验收。简单几句话,就把一个问题的上下文定义清楚了,考生各自作答。而且这题目,不容易死记硬背,可以屏蔽“书呆子”等不少人。
5、上面的吐槽,只说出了问题的一半。另一半是,为什么是很多大公司,而不是小公司。大公司的业务比较复杂,用到的技术难度较大,对一个人的能力素质要求很高。大数据、云计算、高性能之类的需求也比较大,对数据结构和算法等基本功的要求比较高。数据结构和算法的功底,可以看出一个人的成长潜质。而中小公司比较在乎短期利益,招个能立即干活,帮忙公司搞钱的工人。什么能立即搞钱,当然是做项目啦,而不是搞研究,算法啥的,根本用不上。中小型公司,做的更多是业务系统、网站,进度、性能、业务是主要的,算法需求很低。打个比方,算法就好比武侠中的内功,学得好,未来才能成为大虾,称霸武林。但是,内功再好,没有招式,也发挥不出来。而做项目,搞应用开发,就好比武侠中的招式,学个一招半式,就可以找软柿子捏挤下,体验学武功的快感。
6、算法也好,做项目也好,都是市场的实际需求,都是应该学习和应用的。我们只需要知道,市场是市场的,我们是我们的。永远应该清楚,自己想要朝哪个方向发展。学习哪些内容、学习多少、学习多深,关键还是看个人追求。不要被市场中企业的招聘需求和周围人群以及网友的攀比迷惑了。
7、出来混,一手抓钞票,一手抓理想。看看算法和数据结构以及所谓的大公司,与你的钞票和理想,是否有关系。