阅读 317

普通学校,我是该打ACM还是做项目?

大家好,我是帅地。

之前星球有一位大一的小伙伴问帅地,因为学校一般,他是应该继续刷算法,打 ACM,还是把时间花在做项目上好呢?

他发的字有点长,我就不截图太多,只截图我的概括

image-20210713124043754

打 ACM 的话,大一大二就会少很多时间学习其他知识,但有机会拿到 ACM 奖牌,可以给简历加分;不打 ACM 的话,就有大把的时间学习计算机基础,刷 leetcode,做项目,然后早点去实习,但又觉得学历一般,怕过不了大厂简历面。

所以,对于普通学历的人来说,ACM 打还是不打?

不知道大家有没有这个疑惑?反正我当时是没有,因为我大一对招聘求职这块还不了解,假如你在大一大二就有这个疑惑,我觉得你已经超越了很多人了,因为很多人在大一大二,根本对求职一无所知。

对于这个问题,帅地先给大家说两个身边读者的真实案例吧。

读者一(没打ACM)

学校是二本,比较差劲,学习氛围也差,他没打过 acm,我让他大一好好刷算法题,在之后刷计算机基础,也就是计算机网络,操作系统这些基础课程。

再之后就是深入去了解一门编程语言,例如Java,Python,C++ 或者 Go,在之后就是学框架做项目,算是 leetcode 刷了几百道,然后计网和操作系统在大二第一学期就刷了,之后做了几个前后端分离的的项目。

这个小伙伴在今年春招拿了腾讯阿里的实习 offer。

读者二(打ACM)

也是二本,学校也一般,不过学校也有 ACM 队,学校最好的成绩是拿过省牌,忘了金牌还是银牌了,不过这个同学挺喜欢刷算法题,所以大一大二基本是在 acm 队刷题,最后貌似是拿了个省铜,在之后就开始刷疯狂刷计算机基础知识,然后在随便做一些小项目。

结果是这个同学在今年拿到了网易和腾讯的实习 offer。

这两个同学的共同点就是,准备的早,有扎实的基础,不错的算法能力以及不错的项目经验,区别就是打 ACM 的算法能力更强,而不打 ACM 的项目经验更加丰富。

当然,他们有这么强的学习意识,也算是有我的一份功劳吧,毕竟从大一就一直找我唠叨,问这问那的。

打不打?

通过上面我说的例子(其实还有很多这种,毕竟我十几万读者),如果你准备的早,有扎实的专业知识,不错的算法能力和项目经验,就算你的学历一般,那么你还是有机会拿到大厂 offer 的。

重要的不是打不打,而是你在各个方面学的如何。

帅地之前也问过腾讯和字节的 HR,他们都说简历主要看:学历,靠谱的实习经历,笔试成绩,比赛奖项。

所以学历虽然很重要,但绝对不是唯一。

特别是对于互联网一线大公司,获得面试的机会,还是不难的,例如像腾讯阿里字节跳动这些公司,还是不会卡学历卡的太紧的,因为他们还是比较愿意花成本去寻找人才。

当然,有些公司还是比较卡学历的,例如 ViVO 啊,华为啊,一些国企啊,像这些的话,就真的挺卡学历,基本需要 211 或者 985 才行。

不过我说的是开发岗哈,虽然现在开发岗也越来越卷了。

所以呢,打不打不是核心,核心是你这两年的学习。

假如打 ACM,那么你的算法肯定很扎实,到时候算法笔试和算法面试这块不需要准备太多,而对于计算机基础,学校有教,你有一定基础,那么复习起来很快的,项目之类的也可以突击。

假如不打,那么可以多刷 LeetCode,然后学习自己选的技术栈,之后有机会多去实习,有了强大的项目经验和扎实的基础,以后拿个不错的 offer,还是机会很大的。

如果你是小白,并且不打ACM,也可以看看我写的学习路线:

1. 后端通用学习路线

2. 适合普通大学生的 Java 后端开发学习路线

3. 适合普通大学生的前端开发学习路线

打不打的一点小建议

不过,关于打不打,我还是有点小建议。

如果你本身不喜欢打 ACM,体会不到那种 beat100% 的乐趣,那么我觉得还是不打了;或者说你的学校连个牌子都没人拿过,又或者学校连个 ACM 集训队都没有,去比赛还是自己自费去,特别麻烦,那么也建议别打了。

不打的话,也要坚持去刷算法题,然后,做项目,找日常实习。 核心就是自己算法不能太差,基础得搞扎实,如果自己可以多多折腾一些开源项目就更好了。

反正要想进大公司,要嘛你有强大的算法能力支持,要嘛你有强大的项目经验,就算进不了大公司,也能拿个不错的 offer 吧。

另外,无论打不打,该看的书还是得看,至于看啥书,帅地这里都总结了:少走弯路,必读计算机经典书籍推荐

文章分类
后端