【规划篇】要不要打ACM?
对于这个问题,我相信会有不少同学都纠结过,因为要打好 ACM,拿到好的结果,需要付出很多代价,比如你可能大学前面三年,基本就学习不了别的内容了,基本需要一心扑在刷题里。
如果你在这三年里,能够拿到个亚洲区域赛奖牌,那么恭喜你,你的一切付出都是值得的,你也终将能够拿到满意的 Offer。
但是如果你最后并没有拿到什么好的奖牌,那么你很可能,校招这块的准备,也会拉下很多,别人可能已经在各种实习,做了各种项目了,而你可能,连一门面向对象的语言都没有深入学习过。
所以很多大一大二的同学就会解决,我应该是打ACM呢,还是好好做项目,找实习呢?。
在给出我的建议之前,我先给大家讲几个读者的故事,之后再给出我的一些参考建议。
读者1
这位读者是一个双非的本科生,比较喜欢 ACM,就觉得这些算法比赛很酷,所以从大一开始,就一心扑在刷题上了。
并且学校也有 ACM 集训队,所以也能够顺利找到自己的队伍,不过他们学校,至今以来, ACM 最好的成绩是拿到亚洲区域赛铜牌。
从大一到大三第一学期这几年,基本每天都在刷题,每个周末都需要集训,反正每天都在高强度刷题就是了。
很遗憾,最后并没有拿到区域赛牌子,同时这几年像诸如 Java,C++ 的项目也没有做过。
不过幸运的是,他也还是拿到了一些还不错的奖,比如全国邀请赛国奖 这种。
最后秋招也是拿了一些中厂的 Offer,薪资各方面也还可以,总算没有辜负这几年的努力。
读者2
读者2(也是双非)虽然也经常在 LeetCode 上刷题,但是并没有去参加 ACM,而是走尽早去实习的路线,所以从大一开始,就提前学习了计算机基础各种知识,在大二的时候就开始做项目,背八股文了。
然后在大二第二学期的时候,成功进去了一下小公司实习,虽然是小公司,不过在里面实习了六个月,也是收获颇丰。
大三暑假实习也成功找到了知名中厂的实习。
说实话,按照他的情况,如果在以前行情好的时候,肯定拿到大厂 Offer,不过最近几年行情不好,所以在秋招的时候,并没有拿到互联网大厂 Offer,但是拿到的也是知名中厂 Offer 了,年薪也有 25w+。
要不要打?
大家发现没有,无论是读者1还是读者2,其实他们最后都拿到了不错的 Offer,虽然没有拿到大厂的 Offer,但是在当今环境之前,作为双非学生,能够拿到20多万的 Offer,我认为是很不错的了。
也就是说,其实你打不打 ACM,其实没有那么重要,重要的是,你这几年,是否在努力学习。
上面这两位同学,无论是打 ACM 还是找实习,他们都在自己的领域里,努力学习,那对于这种用户,结果肯定不会太差。
比如说,对于打 ACM 的用户,你努力几年,虽然会拿不到牛逼的奖项,但是拿到个还行的,那么还是会有,并且你的算法能力比较强,那你准备秋招的时候,努力做好项目,刷八股文就可以了,省去很多刷题的时间,加上有一些牌子也能给简历加分。
而对于实习的用户,算法能力会差一点,但是项目经验会丰富一些,并且也有实习给简历加分,所以这样努力两三年,一样可以拿到不错的 Offer。
也就是说,如果你愿意努力,那么两者的结局都不会太差,其实都可以。
我的建议
不过哪怕是这样,我依然还是要给出我的一些建议,因为,并非人人都能像上面两个人那样自律去学习,很多人可能三年下来,经常 EMO,经常在放弃与继续中徘徊,最后 ACM 菜的一塌糊涂,技术各方面,也都没有学习。
所以呢,我觉得:
1、如果你特别特别热爱刷题,能够有那种 AC 出一道题的那种兴奋感,那你就去打 ACM 吧。
不过我这里还有一些提醒,就是如果你打着打着,觉得自己打不出成绩,那你可以尽快脱离,进而来做项目之类的。
如果你最后拿到了好的成绩,那也要在离开 ACM 的时候,尽早做项目,刷八股文,否则你哪怕有牌子加持,也会拿不到互联网大厂的 Offer,因为互联网大厂,问的真的挺多。
2、以下同学不大推荐去打 ACM
(1)学校本身没有 ACM 队伍,连报名和找队友都比较麻烦,那么建议别打了。
(2)大一错过了,想要大二去打的,那么也不建议了,有点晚了。
(3)对刷题本身没啥兴趣,非常功利想要拿牌子的,那么也别去打了,因为话费几年时间去刷题,太累了,而且牌子特别特别难拿。
当然,哪怕你不去打 ACM,那么也建议你一定要刷题,参加诸如蓝桥杯之类的比赛。
总的来说,如果你能够拿到亚洲区域赛牌子,那么你的付出一定是值得的,并且会比找实习的同学价值要大,因为有这种牌子,进大厂会容易很多。
但是,要拿到这种牌子,还是非常非常拿,还是需要,量力而为!