学ACM算法题有用吗?(转)

转载 2010年06月02日 20:41:00

学ACM算法题有用吗?(转)
2009-12-25 15:18

有同学提问:

==================================================

杨中科老师你好,我想向你咨询下工作的事情。

先介绍我的情况 普通本科大二学生,,之前一直在练acm的题,也获得了一些大赛的奖项,有一天有个人问我,叫我做一个小软件,我发现我不会。。更惨的就是我好像什么软件都不会做(这里指的是基于c/c++的开发),,除了console的一些算法题,,然后我和自己说练acm够了,应该开始学开发工具的运用和一些库类(函数)的使用了,,这样2个星期下来,我翻了很多关于商业程序开发资料,我发现商业程序代码真的很少涉及到高效算法和一些特殊的数据结构,而且我也问了几个现在在公司上班的师兄,他们也说工作中真正用到acm的知识是很少很少的。现在一系列的ACM比赛又差不多开始了,我现在一直没准备。。

老师我想问的就是 以你多年的工作经验来看,具有ACM背景的人的优势在哪,,还有优势大吗?还有假如我如果现在(大二)拿ACM的获奖证书和带上之前开发一些小软件的实例 去找工作的话,,人家会很轻易的接受我吗?

===================================================

我的回复:

你说的“商业程序代码真的很少涉及到高效算法和一些特殊的数据结构”这是实际情况,因为并不是所有的公司的产品都是理论性很强的产品,就像造山寨手机的人不需要懂太多芯片设计等方面的知识,只要会把大公司制造的手机芯片拼装起来,然后装一个外壳就可以了。“高效算法和一些特殊的数据结构”已经由IBM、微软等大公司解决了,制造成了一些类库、应用服务器、数据库服务器之类的“零件”,商业程序开发者只要把这些零件按照需要拼装起来就可以了。在大公司工作的人是少数的,所以你问的师兄估计也都不是在这些大公司工作的,所以他们说“工作中真正用到acm的知识是很少很少的”也是可以理解的。

ACM被誉为计算机界奥林匹克,每年的获奖者都几乎被google、微软、IBM、百度等大公司哄抢一空,很多大公司赞助ACM赛事的目的就是“近水楼台”,能够比其他竞争对手笼络更多的人才。

ACM可以看做是“聪明者的游戏”,在ACM题目研究深入的人通常有非常高的数学素养、计算机算法素养以及非常强的分析问题、解决问题以及动手的能力,能够处理各种高精尖的难题,这是各大公司哄抢ACM人才的主要原因。

ACM的程序开发和开发商业软件的不同点就在于写ACM程序是研究(Research),而写商业程序是开发(Development),这就是研发(Research&Development)两个字的含义,“研发”就是“研究开发”,像微软、IBM等这样的公司都将研发人才分为两种:研究性人才和开发性人才。以微软为例,在中国,微软设立了微软亚洲研究院,同时微软亚洲研究院下设微软亚洲工程院,微软亚洲研究院中的人主要的工作就是出paper(论文),根据微软总部下达的研究方向进行核心技术的研究,然后将研究成果转换为可以实施的方案,由微软亚洲工程院的工程师进行实际的开发,简单的讲就是微软亚洲研究院的人负责研究课题,然后由微软亚洲工程院的工程师根据研究结果开发出实际可用的商业化产品。因此微软亚洲研究院的人都是拥有很强科研实力的人,而微软亚洲工程院的人 则是有很强开发能力的人。像google、IBM等大公司也有类似的部门职位划分。对于一些次一级的大公司来说,比如百度、网易等,也在职位上进行着类似的划分。

他们的区别就像研究动力学的人和设计汽车的人的差别一样,研究动力学的人只负责从研究一些理论,不负责实际的汽车设计,而是由专门的汽车设计工程师来负责根据研究成果进行实际的产品设计。比如对于做搜索引擎来说,研究性人才负责研究检索方面的理论,得出一些公式、算法、理论,然后由开发性人才负责根据这些研究成果写程序,然后变成可以实际使用的搜索引擎。

研究性人才对智商要求比较高,处于人才金字塔的顶端,因此收入、待遇各方面都更高一些,职业发展就是“科学家”;而开发性人才的优势则在于理论转化为产品的能力,因此开发性人才中独立创业的比例更高。

看了公司的职位划分你就能明白白商业化软件开发和写ACM题的区别在哪里了,你就知道做ACM题背景的人和掌握商业程序开发技能的人的不同定位了。如果ACM成绩非常好,那么进入这些国际性大公司的概率会非常高,哪怕去不了大公司,中小型公司也非常欢迎这种基础理论扎实的人才,因为他们可以解决别人解决不了的难题,但是这类人才通常要价比较高,很多中小型公司难以承受,同时中小型公司并没有独立的研究部门,所以这类人才进入公司以后通常都是兼有研究和开发两重责任,当然也是处于公司人才金字塔的顶端,享受特殊待遇;开发性人才则是各个类型的公司都需要的,相对来说选择面广一些,但是初始阶段的收入会比研究性人才低一些。你需要根据你的情况来给自己定位,如果是做研究性人才,那么就继续把ACM弄好,多参加ACM大赛,特别是正式的国际性ACM大赛,争取拿奖,同时做好进行研究生学习的的准备(ACM成绩好的话一般都会被科研院所免试录取),在研究生阶段进行进一步的理论研究和培养自己的科研能力,这种方向的话不需要管什么java web开发、Windows程序开发这类的实现性技术,只需要把算法、模式识别等理论课程学好即可;如果你的定位是开发性人才则把主要精力放到java web开发、Windows程序开发等上边来,如果从事这个方向,因为你已经有一定的ACM的基础了,所以应付面试笔试中的那些算法难题不在话下,那么就在把一部分精力继续投入在ACM的学习上的同时,把更多的精力投入到这些商业程序开发的技术上去。

关闭计算机就这几招

 关闭计算机就这几招注:完全翻译整理自MSDN。非常简单. Vcbear.“系统ShutDown”属于Windows系统的一种基本服务。功能上有“关闭系统”,“注销用户”,“锁定工作站”3中操作。SD...
  • vcbear
  • vcbear
  • 2002-01-11 09:40:00
  • 1502

传说中的程序员核心——算法值不值得学,以及acm集训问题

对于多数的计算机类专业大学生来说,acm已经成为算法的代名词,对于算法该不该学,以及学完的价值问题(当然,估计没人学的完,应该算学过吧……),个人观点如下: 首先,算法没有错!!!对的,但是,算法和...
  • babybuger
  • babybuger
  • 2017-08-19 23:17:24
  • 676

acm算法有用吗?写给自己。

acm算法有用吗?写给自己,也希望能帮助那些大一迷茫的人。 我是一个普通二本院校即将进入大三的acmer,一般问这个问题的人都是一个acmer的失败者,因为成功的人都去忙着学习该学习的算法了,不会...
  • clx55555
  • clx55555
  • 2017-06-25 20:02:31
  • 1919

学ACM算法题有用吗?

有同学提问: =============================================================== 杨中科老师你好,我想向你咨询下工作的事情。 先介绍我...
  • cownew
  • cownew
  • 2009-06-18 20:42:00
  • 3755

学ACM算法有用吗?

有同学提问:学ACM算法题有用吗?(转载自bluewind) =============================================================== 杨中科...
  • zaitaosha
  • zaitaosha
  • 2012-06-12 23:32:28
  • 451

一个ACM渣渣关于找工作的胡扯

先做个自我介绍。本人开学大四,从大一下开始玩acm,无奈能力有限,智商拙计,打铁无数,最好成绩也不过烂铜一个。伤心之余,大三开始一脚踩入互联网企业的浪潮之中,开始翘课奔波于各种面试,实习,项目,工作之...
  • asdfghjkl1993
  • asdfghjkl1993
  • 2015-09-03 21:09:24
  • 2365

大学才开始的ACM应该如何正确学习

ACM(大学生程序设计大赛)现如今已经风靡大学校园。其感染度不仅局限于信息类专业,更是染指了理学类专业。这一项靠数学才能吃香的竞赛让许多大学生沉迷其中,感受到了算法和数学的魅力。 不过,言归正传,如...
  • feizaoSYUACM
  • feizaoSYUACM
  • 2017-03-16 23:37:53
  • 1248

ACM 算法 阶段性练习 (比较全面)

参考原文:http://blog.csdn.net/zhouhuanchn/article/details/17883005 对原文做了部分删改。未对核心部分做改动。 建议: ...
  • guhaiteng
  • guhaiteng
  • 2016-08-03 19:02:11
  • 3171

经典算法(含ACM经典题)

  • 2013年10月21日 10:27
  • 2.03MB
  • 下载

javascript编写acm算法题

我们都所知,acm算法题一般用c++或者java敲比较多。一个是效率搞,运行速度快,另外一个是处理输入输出比较简单。随着javascript语言的不断完善,我们如今也可以用js这门语言来实现算法题。作...
  • Szu_AKer
  • Szu_AKer
  • 2016-10-26 13:59:05
  • 1615
收藏助手
不良信息举报
您举报文章:学ACM算法题有用吗?(转)
举报原因:
原因补充:

(最多只允许输入30个字)