算法还重不重要哪?!

3900阅读 0评论2014-04-07 _Rayx
分类:信息化

作为现在在外企工作的一员,看着标题 ,使我对这本书有了兴趣。但是试读的章节实在是有点少。但从刚开始就介绍某人的面试到最终去美国工作的经历可以看出,整个流程非常长,我们公司也有很多在国内工作了不短的时间后去美国总部的(像我们以前的老大,现在拿到绿卡了,所以不准备带北京的team,因为时差的关系,太累),据说这种transfer也是有限制及排队等各种因素限制的,但总体来说还好。然后介绍了各种职位,其实我想作为一个IT从业者来说,有哪些相关的职位,这些职位能干什么,大家心理都很清楚,可能唯一的区别就是SDET在国外的重视程度要比国内重一些,因为很多时候国内总认为做SDET是因为干不了开发(干SDET的不要喷我,我只是说国内的事实而己,我知道SDET的重要性)。最后只是说人脉的重要性和一些能用到的资源,人脉这东西在中国的人应该是了解最深的(据说在国外除了本土有两大帮派,一个中国帮,一个是印度帮,这两个帮派在面试的时候都会对另一个帮派进行挑刺,虽说不会直接无理由的就拒绝,但如果不是水平比较高的很容易被刷,当然高手在哪儿都有一股唯我独尊的气质镇场子)。

上面说了这么多,好像和标题没啥关系?对,还真是没啥关系,我就是有感而发的。为什么取个这样的标题呢,是因为我看了看这本书的目录,里面讲的面试题基本都是算法类的(不要跟我说数据结构-_-)。曾几何时,曾有一种声音,说算法不重要了,这种人执有这样一个观点,认为现在很多东西是吧,CURD,一切搞定,我是来干活的,为什么要算法呢?其实我觉得这种人这种观点并没有大问题,很多人在工作中算法用得较少,有些可能从来没用过(一点点的设计,想法就不要说算法了)。但是有时候我们又不得不承认算法在性能的改变上起着很大的作用。像我以前有个脚本,在集群上跑一天数据大约1T,一般要2个月数据,这些数据直接扫一遍找出我要的数据就得花不少时间,而其实中间还涉及两个表的join,在集群上用250个token跑得十多个小时,后来想了一些小方法优化了一下,性能提升了50%,但其实这些小方法是一些很简单的事性,当然是根据整个job的流程,先想清楚瓶劲在哪,然后再想办法来优化它,你说这些小方法属不属于算法?好像都可说,但是思想是相通的,算法的精髓就是想法,为什么是想法,像来个字符串匹配,你说我就20来个字符长度,你随便怎么搞,但长了,好了,搞不定了,你就得想别的办法了,字符串的算法很多,你想到哪个呢?其实就得根据需求来了,或许经典算法就能满足你的需求,有时候可能需要进行一些改变,甚至在场景中你蛮力进行一些特殊的优化速度会更快!所以算法可以不重要,但想法一定要重要,知识一定要重要,你得有积累,你才有爆发,不要书到用时方恨少。
上一篇:论answer和algo重合的合理性
下一篇:骑行的生活