有一个在自学前端的同学问是否有必要转去参加 ACM
我的简单答案是:能转 ACM则转 ACM,不能转也要了解一下 ACM。
以下是这样回答的原因:
因为ACM 的难度远远大于前端
ACM国际大学生程序设计竞赛,是由美国电脑协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。——维基百科
ACM 对你的算法能力、抽象思维能力、自学能力和英文阅读能力有极高的要求。能在 ACM 上得奖绝对是值得你在简历里当做荣誉的事情。
而学习前端,对这些能力的要求就「相对来说」低很多。
我一直主张大学生应该「学一点难的东西」,这样你再转前端就会觉得「容易」很多。(虽然我没有参加过 ACM)
当然前端也不是那么不堪,前端要求的能力更多的是在交互设计、需求分析、代码组织、细节把握等方面。
接下来说说 ACM 的难点:
1 不能功利
一般来说,「只有热爱 ACM 的人才能坚持 ACM」。
如果你只是为了工作保研,你绝对坚持不下去。
为什么呢?
我大学有个室友就是搞 ACM 竞赛的。他每天除了吃饭睡觉,全都在研究 ACM、刷题。
初期做 ACM 并不难,但是需要投入成吨的时间(天才除外),比如每天 12 小时,坚持三个月。
如果你不热爱,你坚持不了的。
2 对智力有要求
上面我说的室友,即使如此努力,最终也没有在 ACM 上获得奖牌……
因为他身边的人不仅比他努力,还比他聪明……
所以你要做好投入一年时间,但是一无所获的准备。
不过他毕业时还是轻松的在北京找到了一份工作,因为 ACM 让他收获了很多知识。
你才大二,何必现在就投入前端,先去 ACM 那里开开眼界也好。
你问我从事前端需不需要 ACM 的这些知识。
大部分时候不需要,但是你怎么知道你一辈子就只做前端呢?(显然不可能一辈子做前端)万一哪天你需要用到算法知识呢?那个时候你还有精力去补那些知识吗?
也许这是你这辈子唯一接触 ACM 的机会。
而前端知识,你什么时候都可以学。
希望对你有帮助。
饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com
本文作者:饥人谷方应杭老师