竞赛ACM,究竟能为你的职场加分多少?

注:ACM 竞赛全称为 ACM 国际大学生程序设计竞赛,英文全称:ACM International Collegiate Programming Contest,简称 ACM-ICPC 或 ICPC )。因为大家习惯简称为 ACM,文章中出现的 ACM 若无额外备注,皆指 ACM-ICPC。
这是方清经历过的最难受的面试,临近毕业的他没有任何实习经验,和面试官的前期交手让他有些慌张,面对一些从来没有接触过的项目问题,方清都老老实实地以「不知道」终结了他和面试官的对话。

正当方清以为自己这次面试将以大失败告终时,面试官给方清出了两道算法题。作为某理工科学校 ACM-ICPC World Finals 的选手,方清展现出了应有的基本水平。交完两道算法题的答卷,方清斩获了他心心念念的网易游戏的 offer。

是时候展现真正的技术,大概就是方清遇到这个场面时应该配上的画外音了。

在 ACMer 这个群体中,方清还是一个刚毕业不久的小兵,ACM-ICPC 竞赛历史上那些获取好名次的选手在「三十而立」之后,取得了让人十分艳羡的成绩:唐文斌是旷视科技的创始人之一,戴文渊创办了 GEEK 范儿十足的第四范式,楼天城则是 pony.ai 的创始人,林晨曦创办依图科技…

这些顶着 ACM 光环的人即使在精英频出的互联网也有着实打实的先发优势。在 100offer 平台上,超过一半的拥有 ACM 竞赛背景的候选人,第一份工作加入了 BAT 级别及以上的国内互联网公司。

如果说有什么标签能在你求职研发工作时实打实地加分,ACM 无疑是其中最有含金量的几个标签之一。 ACM 究竟有什么魔力,能够成为大家求职的 Pass 卡呢?这事儿得从 ACM 比赛到底比什么说起。

ACM:世界顶尖程序设计大赛

ACM 作为计算领域的顶尖程序设计大赛,每年上半年举行。不同于其他竞赛的个人战,ACM 为「小组战」,由 3 名在校大学生组成小分队参加比赛。在比赛过程中,3 人组成的小组共用一台电脑,编写程序解决 8-10 个问题。因为是时间紧、任务重的团队赛,ACM 比赛更加紧张激烈。

和世界杯的选拔方式类似,ACM 的选拔方式也是首先通过区域赛进行队伍的选拔,每所学校在区域赛时可以派出多支队伍参赛。拿到区域赛冠军的队伍所属学校即可选派团队参加 World Finals,届时一个学校有且只能选派一支团队参赛。

国内大学第一次在这场国际顶尖赛事中捧冠而归,是在 2002 年夏威夷的 ACM-ICPC World Finals,由林晨曦、陆靖和周健组成的上海交大队摘得第一名。随着 ACM 竞赛在国内的发展,部分学校为了更好地培养校内的 ACM 竞赛团队,专门成立了相关的班级,希望能够通过定制化的方式来培养顶尖的 ACM 选手,其中最为有名的就是上海交大的 ACM 班和清华大学的姚班。

但无论是通过学校的体制训练出来的 ACM 队员还是自主走上竞赛之路的「野战军」,在备战 ACM 上都吸取了丰富的知识和技能,最后帮他们在职场上飞速成长打下基石。

赛场:为了打好一场比赛,他们付出了哪些?

ACM 官宣的比赛宗旨道出了想要拔得头筹的参赛者的必备品质:「展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力」。

在养成、打磨这些品质的过程中,ACMer 们都经历了什么?

  1. 远超于常人的时间付出
    「从高考之后,我就没有过过暑假。」正在交大 ACM 班读大二的花袭用一句话为我们揭开了 ACM 参赛选手训练备赛的冰山一隅。

花袭从高中开始参加计算机竞赛,在高二 NOI(全国青少年信息奥林匹克竞赛) 中摘银的她很快就被交大 ACM 班的教练「盯」上了。高考一结束,交大就向花袭伸出了橄榄枝,问她是否愿意在大学延续计算机竞赛,成为校队的一员,在大学里参加 ACM 竞赛。曾在高中取得不错成绩的花袭接受了这一邀请,加入了交大校队。 当她的小伙伴们还在享受高考后解放的暑假时,花袭已经抵达位于上海远郊的交大闵行校区,开启日复一日的训练生涯。

曾经的 World Finals 选手方清并没有像花袭这样的高中先发优势,大一才开始接触 ACM 的他为了备赛,大学一年级每周需要花约 80+ 小时进行刷题。

ACM 比赛现场有个保留环节:每当有队伍答对一道题,会场内就会升起一只气球。大部分人只看到了气球五彩斑斓的热闹场面,却不曾设想,这些 ACM 竞赛选手在场外默默付出的时间和努力。

  1. 时间积累出的代码能力

对于参加 ACM 的选手而言,代码能力成为他们是否能够生存在团队中的基础关卡。如前文提到,ACM 比赛中答题时间非常宝贵,并且如果你提交的答案中出现错误,会有扣时的惩罚。因此虽然 ACM 竞赛中每一道题目的代码量并不大,但却对准确性提出了十分高的要求。

准确性要求的直观感受就是切题的手速要快、准、毒。为了能够达成这个目标,花袭从高中开始就接触了相对系统的数据结构、算法的训练,进入大学之后又接受了学校更为变态的计算机体系架构等方向的训练。

「有一次我遇到一道题目,想法思路都没问题,但就是显示错误。研究了好久,最后发现问题出在我定义的变量名称和 C 语言中的一个库函数重名导致的。」花袭就是在这样不断反复的练习中点满了自己工程代码上的知识点。

见多了这些经常出现的 bug,大部分 ACMer 在思考一个问题、码代码的时候都会想的十分周全,注重代码的边界条件。

除了代码写的十分优秀之外,ACMer 们定位问题的能力也是通过备赛训练反复打磨出来的。ACM 选手在训练刷题时通常会碰到一个程序跑在自己的小数据集上没有问题,但是在 OJ(ACM 在线答题平台)上答题时,系统就会告诉你错了,但它不会告诉你到底是哪里有问题,这就需要答题者去想办法定位问题了。

就是这样一次次「耐操」的训练,慢慢锻炼出了每个 ACMer 对于写简洁代码的习惯和追求。这个习惯最后也成为他们后续在工作中要求自己项目的标准。

  1. 时间沉淀出的思维蜕变

除了代码工程能力之外,更大的改变体现在对选手结局问题思维的影响上。

「我觉得 ACM 更是一个锻炼大家解决问题的思路的比赛,这就像官方宣传中说的一样」。这是我们采访的绝大多数 ACMer 得出的反馈。

更加注重方案的质量
这些通过最开始训练不断积累起来的代码感觉延续到实践中就体现在了面对问题时的思考角度的变化上。「我认为 ACM 对我的显著提升是在 sense 上,比如对时间复杂度和空间复杂度的考虑。」前 ACM 选手 SimonS 总结了打比赛对自己工作习惯的影响。

不断寻求最优解决方案
其次,ACMer 们都养成了不断追寻最优解决方案的习惯。当你面对一个问题,脑子里同时会出现好几种解决方案,这个时候这些 ACMer 就会不自觉地开始对比每个方案的优缺点,最后选出最适合当下场景的解决方案。

深度思考问题的能力
除了这些基本的解题思路的习惯养成外,大部分的 ACMer 还养成了自己动手丰衣足食的「好习惯」。「没有什么问题是解决不了的,如果现在解决不了就多想几天」前 ACM 选手 Echo 在回顾自己备战 ACM 比赛中遇到的问题时总结出了这样的「江湖经验」。

这背后其实就是对一个问题深度思考的能力,当大部分人在面对一个难题时选择「5 分钟从看题到放弃」,多数 ACMer 愿意花上几天甚至几周的时间来思考。

不积跬步无以至千里,这样的积累最后也成为 ACMer 在职场发展上快人一步的关键因素。

职场:ACMer如何把竞赛力转化为工作力?

在 100offer 平台和 offer 君接触的 ACMer 中,他们的职业发展可谓是「一帆风顺」。

在 ACM 语境下,这些竞赛选手似乎总推翻伤仲永式的天才走向平庸的「悲剧模式」,就像善于通过反复的训练来获取竞赛中的好名次一样,他们也善于用竞赛中养成的好习惯来提高在职场中的竞争力。

  1. 找工作硬实力:行走的做题器和聪明的气质

简历上要是出现了 ACM-ICPC 省级以上名次的关键词,这份简历就很难被遗漏,拿到面试基本上是板上钉钉的事情。

用人单位喜欢 ACM 背景出身的候选人也不无道理。面试官也会担心被候选人的「牛皮」欺骗,当他无法全面了解你过去所做的事情时,一个客观公正的比赛结果,往往比讲不清楚说不明白的项目经历来的可靠。

对于 ACMer 而言,无论是笔试还是面试中出现的题目都不会「超纲」。前 World Finals 选手 Echo 回溯他职业发展中接触的几家公司时,题目出的最难的就属 Google 上海。「Google 上海的题目基本和 ICPC 的水平看齐」,当他面试 Google 上海时,给了我们这样的反馈。「这个时候真的会觉得大学时候多少个刷题的日日夜夜都还挺值得的。」Echo 最终凭借着自己出色的面试表现社招加入了 Google 上海。

「可能是因为我在面试时展现出了聪明的气质」方清回顾他在刚毕业没有任何实习经历还能净收大厂 offer 时给了我们一个「自恋」的回答。其实所谓的聪明气质,无非就是备赛训练出来的思维敏捷、思路清晰、底层知识扎实、善于寻找最优解决方案等。

这样的候选人,没有哪个面试官能够拒绝。

  1. 职场软实力:把备赛的标准迁移到工作中

如果说通过面试都是吃的备赛的「老本」,那么进入工作场景,他们又做到了转化自己从 ACM 竞赛中积累的的优势、克服自己的劣势。

现在方清和 SimonS 都是团队中为数不多的 90 后 P7。然而,在这之前,初入职场的他们却也经历过一段代码习惯修正的阵痛期。

「我们工作后,也并不是一直那么顺利的」,方清发现自己和工作脱节的第一个表现就是他们的代码写得太「毒」了,没有封装、函数的概念。他们习惯于 ACM 竞赛中写出的一个又一个小程序,而没有大型规范的代码训练。

过了这个阵痛期之后,在工作中的不同表现随着大家对于任务要求的不同逐渐显露出来。

对于大部分研发而言,他们的工作中其实大部分都在复现最新的 paper 或者别人的一些项目,把他们进行二次开发,最后应用在自己的项目上。「这个时候,你就会发现其实大家对工作的要求逐渐发生了区别」。当你去复现别人的东西的时候,方清这样的前 ACM 选手对于效率、性能都有着更高的要求。比如说别的团队觉得一秒训练一个 benchmark 就够了,但是方清能够做到一秒训练 100 个 benchmark。

「所有需要对外发布,给别人用的东西,我们都不能接受它效率太低」SimonS 也认同了方清的观点。「特别是你进入互联网大厂,里面涉及的数据量那么大,你要是不考虑中间的时间空间复杂度,那真的要完。」

这时,参加 ACM 比赛中训练出来的寻找最优解,永远不拿临时解决问题的方法来搪塞问题的原则和思路,成为这些在大厂中不断晋升的 ACM 拿项目的优势。

致更多的普通人:错过 ACM,来者尚可追

写到这里,可能会有很多读者说,这些 ACMer 的经历根本没有可复制性,他们从本科就开始为之奋斗,我们现在仅处理业务紧急问题都已经焦头烂额了,哪能像他们这样再花大量的时间来进行训练。

我们无意去宣扬大家应该花大量的时间来进行刷题上,这个并不适用于大部分处在工作状态中的人。而是希望大家能够在疲惫的开发过程中,建立一个「不断追求更高、更快、更强」的习惯,形成不断寻找最优解决方案的解题方式。

纵观 ACM 选手的职业发展,他们幸运地在于仅在大学阶段就积累了足够多的「见识」,通过一个比赛,他们锻炼出了丰富的技能维度,最后帮助他们一步一步走的越来越稳,越来越快。当你了解了这部分人如何慢慢把自己锻炼成「让人羡慕」的样子时,其实你应该思考的是如何把他们成熟的、总结好的经验迁移到自己的职业生涯中。

即使你比 ACMer 可能晚起跑了一个本科,但这不过是你未来生命中很小的一部分而已。

100offer说

「人在做自己喜欢的事情的时候,眼神里有光」,大概说的就是这些被 ACM 虐了千百遍却依然热爱,并且付出的选手。

当我们问及他们和那些在 World Finals 上拿勇夺金牌的大神差距在哪时,「比我聪明」成为频率出现最高的回答。虽然「比我聪明的人比我还努力」是一句很丧的话,但是他们却从来没有用丧来结束自己所热爱的竞赛、工作、项目。

Echo 在 Google 上海和 ACM 冠军大神讨论问题时,经常感受到自己的智商被碾压,「感觉我和他的差别就是人和狗的差别」。但这些智商上的差距从来没有成为他们在现有的功勋章上打瞌睡的理由。

自驱力、行动力和高标准贯穿他们整个学生到职场的生涯,他们只是得到了他们应有的回报。

        </div><link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-258a4616f7.css" rel="stylesheet"></div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

话里话外:家族化管理模式和职业化管理模式孰优孰劣

中国改革开放三十年&#xff0c;在民营企业中有大批老板现今五六十岁&#xff0c;现在或未来都要考虑为企业选好接班人的问题。他们该如何传位呢&#xff1f;“世袭制”古已有之&#xff0c;“能者居之”亦古已有之。中国有句俗话“穷人家的孩子早当家”&#xff0c;如果这句话…

蓝桥杯 - 历届试题 - 日期问题

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/qq_33531813/article/details/79516258 </div><div id"content_views" class"markdown_views"><!-- flowchart 箭头图标 勿删 --…

分享WCF文件传输---WCFFileTransfer

前几天分享了分享了WCF聊天程序--WCFChat &#xff0c;本文和大家一起分享利用WCF实现文件的传输。程序运行效果&#xff1a;接收文件端&#xff1a;发送文件端&#xff1a;连接WCF服务&#xff0c;选择要传输的文件文件传输成功&#xff1a;我们会在保存文件的默认路径&#x…

蓝桥杯 日期问题

版权声明&#xff1a;本文为作者原创文章&#xff0c;转载请注明出处。 https://blog.csdn.net/Glasier/article/details/79630724 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f579…

linux 命令速查手册之十

今天粘贴的是linux命令之 用户管理8.1 adduser功能说明&#xff1a;新增用户帐号。语  法&#xff1a;adduser补充说明&#xff1a;在Slackware中&#xff0c;adduser指令是个script程序&#xff0c;利用交谈的方式取得输入的用户帐号资料&#xff0c;然后再交由真正建立帐号…

字符串的模式匹配--BF算法KMP算法

BF算法是基于主串指针回溯&#xff0c;重新与子串进行逐字符进行比较&#xff0c;主串为S什么要进行回溯呢&#xff0c;原因在于模式P中存在相同的字符或者说由字符&#xff08;串&#xff09;存在重复&#xff08;模式的部分匹配性质&#xff09;&#xff0c;设想如果模式P中字…

用SQL Server 监控 OS Server 的Task Management信息

用SQL Server 监控 OS Server 的Task Management信息 --原文来自于http://www.databasejournal.com/features/mssql/article.php/3562586/Monitor-CPU-Usage-of-All-Running-Processes---Part-II.htm 一&#xff1a; 监控程序部分 1. 在C 盘创一个文件夹&#xff1a;如 C…

匈牙利算法——最大匹配问题详解

2017年中兴提前批校招&#xff0c;就考了一题匈牙利算法。 匈牙利算法是由匈牙利数学家Edmonds于1965年提出&#xff0c;因而得名。匈牙利算法是基于Hall定理中充分性证明的思想&#xff0c;它是部图匹配最常见的算法&#xff0c;该算法的核心就是寻找增广路径&#xff0c;它是…

字符串匹配之KMP---全力解析

PS&#xff1a;文章是转载的 下方的微信公号不是我的 是原作者的。附上原文链接&#xff1a;字符串匹配之KMP jeliy王的博客 近日&#xff0c;一同学面试被问到字符串匹配算法&#xff0c;结果由于他使用了暴力法&#xff0c;直接就跪了(现在想想这样的面试官真的是不合格的&am…

VS2005中,access对只读目录的属性判断不准确

只读目录&#xff0c;C:/>attrib A S H R testdirC:/>attrib testdirA SHR C:/testdir (1)VC6.0的执行结果&#xff1a;***********test stat***********************file [c:/testdir] exists!file [c:/testdir] is directory!file [c:/testdir] can be read!file …

两种方法求解逆序对

逆序对定义&#xff1a;对于一个包含N个非负整数的数组A[1..n]&#xff0c;如果有i < j&#xff0c;且A[ i ]>A[ j ]&#xff0c;则称(A[ i] ,A[ j] )为数组A中的一个逆序对。 常见的两种方法求解逆序对&#xff1a;1.穷举法&#xff08;暴力求解&#xff09;&#xff0c…

页面延时跳转

Response.Write("<script>window.setTimeout(\"window.locationtest.aspx\",5000);</script>");实现延时5秒后跳转

电脑老是提示虚拟内存不足的原因及解决办法

首先普及一下何为虚拟内存 以及 虚拟内存的定义 Windows操作系统用虚拟内存来动态管理运行时的交换文件。为了提供比实际物理内存还多的内存容量以供使用&#xff0c;windows操作系统占用了硬盘上的一部分空间作为虚拟内存。当CPU有需求时&#xff0c;首先会读取内存中的资料。…

用Dreamweaver实现ASP动态网站建设【8】

八、制作删除数据记录页 用上述学过的方法在Index.asp上创建“删除”连接。新建网页命名为delete.asp&#xff0c;并打开它&#xff0c;在其上创建一个七行二列的表格&#xff0c;并在左边的表格上填写相应的字段名&#xff0c;然后给网页绑定一个记录集&#xff0c;并对其字段…

你的输入安全吗?

看看这个录像你就知道了&#xff0c;http://www.vimeo.com/2007855?pgembed&sec2007855至少有四种以上的方法来获取键盘的输入&#xff0c;老外就是牛逼&#xff0c;通过信号监听和对信号的反编译&#xff0c;直接还原用户的输入&#xff0c;不过离真正的应用还有一段距离…

POJ 1804 Brainman (归并排序 -- 求逆序对数)

归并排序求逆序对数&#xff1a; 和归并排序一样&#xff0c;划分和递归求解都好理解&#xff0c;关键在于合并&#xff0c;对于右边的j &#xff0c;统计出左边比j 大 的元素个数 f(j)&#xff0c;所有的f(j)家和就是我们要的逆序对数&#xff01; 在归并排序中&#xff0c;…

Online Judge System

原文&#xff1a;http://hi.baidu.com/myalgorithm/blog/item/936031105bdb5958f819b880.htmlOnline Judge System起源與由來「 Association for Computing Machinery (ACM) 」是一個致力於電腦科學教育的協會&#xff0c;出版大量專業期刊、文獻&#xff0c;舉辦重大的計算機科…

大学计算机网络复习题

模拟试题 一、填空题 1、局域网中常用的拓扑结构主要有星型、 环形 、总线型三种。 2 、在当前的网络系统中&#xff0c;由于网络覆盖面积的大小、技术条件和工作环境不同&#xff0c;通常分为广域网、 局域网 、和城域网三种。 3、常用的通信介…

Windows系统常用技巧总结

1、卸载office2003的时候会出现卸载不了的现象&#xff0c;提示“OFFICE2003不支持卸载修补程序”&#xff0c;打补丁也打不上。 解决方法&#xff1a; 在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Classes \Installer\Products\找到OFFICE2003的东西&#xff0c;删除后&#xff0c;才…

计算机网络复习题(全套)

1、网络协议主要要素为_________。 【答案】语法、语义、同步。 2、一座大楼内的一个计算机网络系统&#xff0c;属于________。 【答案】LAN。 3、随着电信和信息技术的发展&#xff0c;国际上出现了所谓“三网融合”的趋势&#xff0c;下列属于三网之一的是(ABC) A.传统…