最近收到很多大学生粉丝的私信,大多数粉丝们都迷茫着大学计算机该怎么学,毕业后才能找到好工作。
可能是最近回答这方面的问题有点多,昨晚还真梦回大学…其实工作了20多年,当过高管,创过业,就差没写书了。
大家也不用再私信问我大学计算机有没有什么好的学习方法了,我今天给大家统一写成文章,如果你能按照这个方法去做的话,毕业时你绝对能吊打90%以上的同届学生。
文章有些长,但绝对能让你收获满满!
一、不要挂科
大家应该都听过“没挂科的大学不是完整的大学”这句话吧?我也不知道是哪个王八蛋吃饱了撑着搁那误人子弟,千万不要挂科!
第一,挂科补考浪费时间,尤其是一些非专业课的文化课,比如马克思之类的,有这个补考的时间你去参加些活动没准都能找到对象了;
第二,有第1次就可能有第2次,第1次挂科感觉也没有想象中的那么严重啊?隔壁还有几个比我挂的还要多的呢也没啥事,出现这种心理,那就一发不可收拾了。
二、培养自主解决问题的能力
很多大学教的第一门语言就是C语言,对于没有基础的大学生来说可能会有些不适应,有时候看到老师上课一顿操作猛如虎,自己动手却寸步难行,十行代码八行报错,甚至后面学到指针连听都听不明白了,这都很正常。
但千万不要轻言放弃,程序员这条道路上主要做的两件事就是制造问题和解决问题,一定要培养自己解决问题的能力。
解决问题的方法有很多种,可以问身边的同学或者老师,也可以去网上找找资源去看看,这个老师教的听不懂,去网上找找别的老师对于这一块的讲解,比如中国大学MOOC上面的课程,比如B站的一些课程,再比如一些博主的博客,以及一些技术交流群,都是可以解决问题的途径。
只要你坚持下去,你早晚都会成为你羡慕的人。
三、清楚职业方向
大部分的大学对于学生的培养讲究的是一个全面性,同一窑子烧出来的瓦片差别并不是很大,你要想与众不同,你就得跳出这个知识圈,去延伸到培养方案上没有的领域。
这里的延伸不是盲目的延伸,而是确定自己的职业方向,程序员有很多的细分职业,自己可以去百度查一下,挑选你喜欢的职业,然后去前程无忧、BOSS直聘等招聘网站多看看相关职业的岗位要求,看看做这个职业需要掌握什么,然后自己去寻找资源往这些技能去学习,出来之后你就是企业需要的人。
四、精通1门语言
学校可能教你很多门语言,C、C++、Java、C#、Python都有可能会教,但你要记住一个点,学校教这些是带你入门,剩下的东西还是需要你去深入学习,搭配上面所提到的职业方向去学习,比如说想做后端工程师,那么就可以考虑用Java或者其他语言去深入学习。
我记得以前我去高校做毕业生招聘的时候,我比较喜欢问“你精通什么语言”,有不少的大学生的回答是“我什么都会一点”,殊不知这是一个必然被PASS的答案,所以学计算机的,起码要精通一门语言,能解决这门语言中90%的问题就算精通了。
五、学好数据库
几乎所有的应用软件后台都需要数据库,爬虫、数据分析、web开发等等方面,多少都跟数据库有牵扯,一般规模大一点的数据都会用到数据库,计算机本身就跟大量数据有着千丝万缕的关系,这个是必须掌握的。
无论是SQL数据库还是NoSQL数据库,掌握1个就可以了,我建议大学生可以去掌握一下MySQL数据库,它是目前比较火热的一个数据库,它的开源、免费和体积小但速度快等特点,使得很多中小企业都喜欢用它。
如果想更高端一点的话,那就学Oracle吧,它是目前世界上流行的关系数据库管理系统。
六、不要忽视网络原理
计算机网络原理可能在你读大学的时候很少用得到,或者刚开始参加工作也用得不多,但等你工作了几年之后,你开发出来的东西总不能在前几年的水平上吧?
优秀的程序员对计算机网络原理是很熟悉的,不然你做出来的东西凡是涉及到网络问题你就只能归根于wifi信号不好,一听就是对网络原理不熟悉。
这个时候如果你能在大学学好它,虽然短时间不会用到,但后面捡起来的时候会容易很多。
七、数据结构和算法
所有的小程序或者软件都运行在数据结构之上,数据结构不只是用于组织数据,还极大地影响着代码的运行速度,因为数据结构不同,代码的运行可能相差很多数量级,甚至数据结构弄不好的话,数据量一旦过大,产品就会出现崩溃。
算法有多重要?打个比喻,语言和技术等东西就像是招式,那么算法就是你修炼的内功,招式再令人瞠目结舌,内功不行那还不是一脚的事情?你不经打那有什么办法。
所以在业内有这么一句话“好程序=数据结构+算法”,想要写出好程序,数据结构和算法是你必须要掌握的。
八、竞赛或者做项目
计算机相关专业的竞赛有很多,比如阿里的天池大数据竞赛、华为的华为软件精英挑战赛等等,在国内含金量都很高;再比如全国高校计算机能力挑战赛等全国性赛事更不用讲了,如果有机会还可以参加一些国际性比赛,比如ACM国际大学生程序设计竞赛等等,都是经验和镀金的好选择。
参加这些含金量高的专业性竞赛不仅能够提升你的专业知识,而且还能丰富你的简历,甚至在大赛中直接被大企业内定都是有可能的。
当然了,也不是人人都能参加专业性竞赛并取得成绩,那么这种情况,我建议就是去做1个可持续性维护的项目,这个适用于绝大多数学计算机的大学生。
比如说你想做1个商城类网站,一开始的时候你可能只学会了一点前端的HTML和CSS,只能做1个非常简陋的1.0版本网页,简陋到你自己都很少见到这么差劲的东西,没有关系,等你后面学会了JS,给网页渲染了更多的特效,这时候就开始形成了看起来还不错的2.0版本;接着你又学到了数据库等后端知识、学到了服务器等知识,你开始给它更新了不同的版本,不仅仅拥有了前端视觉,也拥有了较为完善的后端,甚至你还可以去给它增加社交功能、智能推荐功能等等。
随着你对这个项目的不断维护,它也在不断趋于更高级、更完善,最终你把它放进你的简历上,作品一拿出来,就说我自己单独开发了这么一个网站,面试官一看这个网站还不错,问你一些技术的问题你也答得上来,看来确实是你自己做的,那么你很有可能会从众多面试者当中脱颖而出。
但千万记住,不要去网上找别人的项目源码来直接拼凑上去,没什么意义,你可以参考,但那只是参考,你还是要写出你自己的代码,时间可能会比较长,但哪里出了问题你才清楚,这才是属于你的项目。
结语
今天的分享有些长,如果对你有帮助,或者身边有人在读大学,可以转发让他们看看,也许你的一个随手之举,便能让惊醒沉睡的人。
最后送大家一句话,不是闲人闲不得,能闲必非等闲人,加油!
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
点击文末的名片可以抱走