首页 > 其他分享 >计算机本科如何制定学习计划,给自己安排上

计算机本科如何制定学习计划,给自己安排上

时间:2022-10-09 19:32:48浏览次数:50  
标签:培训 计算机 一下 可以 自己 算法 本科 制定 校招


写在前边:本文适合刚入学的大一新生,或者大二学生,如果想做计算机这一行,如果没有方向,可以看看这篇文章。当然了,对于更优秀的人,如果看到了,希望能给我更好的建议,目前我是大三下。

时间 2019-04-21

阶段性总结与建议

   博客好久没有更新了,专栏更是好久没有更新了,怎么说呢,有些事如果不抽时间做,就可能一直由于没有时间而不能做了。所以有的事即使再忙也要做一下的。

   阶段性总结,很重要。总结不仅是对过去的总结,还有就是对未来的计划。对未来没有计划就是在养猪,对未来有计划但是不去实施,就是豪华的养猪,最后结果都一样。先说一下我的这篇博客想要面对的是入门的新手,不做技术上的指导,只做生涯的规划指导,前提是依靠个人的经验教训,有些道理真的只有到了一定阶段才会明白,比方说今年你一定不会再做去年做的事,如果你还在做,那只能证明你没有进步。介绍一下个人的目前的情况:大三在读,普通本科。

  我要说的第一件事:关于校招

  明确一个概念,关于工作,对我们大学生来说,校招应该说有四次,正经的校招只有大四上的秋招,这是确定你工作的唯一最重要,也是最后一次校招机会。那我为什么说有四次呢,以为在你大三的时候,你可以蹭学长的校招,你可以借机会找实习。对于招聘还是要提前做准备的,技术是一回事,能过面试是另外一回事,就像大家都说的,面试造航母,工作拧螺丝。提前半年准备把,一定要好好的珍惜校招的机会,过了校招,你就再也不能以应届生进公司了。所以请珍惜你人生仅有的校招机会把!

  如何准备校招:面经是必须的,首先要清楚怎么一个流程,一些基础的问题一定要明白。算法很重要,如果你想进大厂的话,我敢说简历不亮你过不了简历筛选(所谓的简历亮是:有丰富的项目经验,做过开源项目最好 。如果没有项目经验的话,含金量最好的是ACM比赛。以上两点会让你通过简历筛选),如果你算法编程不好的话,我敢说你过不了笔试,因为笔试一般三道算法编程题。算法之重不再多说,关于算法提升(我推荐牛客的在线编程题,剑指offer )。如果基础不扎实,过不了一面技术面,眼界不宽,深度不够,过不了二面技术面。三面就是你个人的人生规划是否合适公司。四面是hr小姐姐,对你的人格考量。更多的面经,可以搜一下看看,还是很有意思,很有指导意义的,我们要勇于站在巨人的肩膀上,我们要善于站在巨人的肩膀上。

  我要说的第二件事: 关于培训

  之前觉得培训很高大上,花两万块钱,培训六个月,然后找一万块的工作。(个人了解到的是,需要简历造假,凭借三年工作经验,拿到了一万快的工资,这个行业三年经验,拿到一万块真的不多)到目前为止,我觉得培训也就那么回事,为什么这样说?六个月,随便一个愿意花两万块的人,只要能敲代码,就收,培养周期六个月。其实只能让你学会工具的使用,至多熟练的使用。对于编程思想,我不敢多说,我真不相信六个月就是大神。程序 = 数据结构 + 算法 ,好像没有说工具把!重中之重还是数据结构与算法。

   这里我补充一点,培训是时间成本最小的一种,就是拿钱换时间,一个高强度的学习环境,别人给你总结好东西,然后你学。他们之中肯定有很强的,后期如果持续学习,也一样能称为行业顶级人。

  我说培训就那么回事,不是否认培训,而是提醒看到博客的朋友,不要觉得大学可以什么都不学,最后去培训六个月就工作了。真的不是这样的。

  我去面试一个科研中心,清华大学和我们青岛市政府成立的一个科研中心,全名叫 清华青岛大数据科研中心。最后面试我的经理跟我聊得时候,就跟我说框架只是花花架子,最根本的还是数据。我觉得挺有道理的,之前只看中功能的实现,从没多考虑过。为什么说培训就那么回事呢?谁给我勇气,个人经历,经验!我各人从网上学过一套培训视频,对是一套,在我大二结束的时候,我就已经自己做了一个系统了,当时还感觉挺厉害的,那是培训课的成果。培训课很多好心网友分享并不用花钱。只是跟着学稍微有点痛苦,第一你要有很强的自制力,你可以每天敲十个小时以上。如果不能,你技术又差,那就花两万快把,还是有价值的。第二那些视频虽然很系统,很完整,但是工具并没有,需要自己找,代码过程中,出了问题,没人帮你解决,自己花时间搞,我最多卡过三天,愣是没能进行下去。但是我没放弃。这给我带来的最好的就是自己解决问题的能力,我不用依赖别人。

  我似乎跑题了,我还没说为什么培训就那么回事!身边有很多人参加培训的,我很关注他们的培养计划,因为这样可以帮我抓到侧重点,毕竟培训班抓方向上还是没问题的。也是在搜集的过程中我发现,培训课总是那样,java基础,数据库,前端一些知识,然后框架,然后项目。至始至终没有提到性能的问题,没有提到过高并发的问题,我觉得到目前为止,我觉得已经不能只关注功能点实现了,应该考虑性能,安全问题,应该考虑高可用,高并发为问题。不是那些培训机构不知道,是六个月真的很短,先让你解接受面向对象的思想就不容易,如果你基础很差的话。能让你六个月熟练掌握一些工具,框架的使用,已经不错了。我有一个朋友现在在培训,跨专业,仅仅是因为喜欢,觉得人生不应该就这样。很拼,早上五点,开始,晚上十二点才睡。仅仅因为他个人拼。他的六个月我相信等顶的上别人的一年,没有理由不强。即使这样,我刚才说的性能方面的问题。他仍然接触不到。这就是我为设么说培训就那么回事。培训不会讲算法,不会把数据戒结构讲的很明白!六个月不会讲操作系统,不会讲网络。而这都是基本功。

  底层,基本功能决定你走多远!昨天宿舍来一个舍友的朋友,比我高两届,工作一年了。(我舍友当兵回来的,所以正好两届)我跟它聊了聊工作,因为我比较好奇,他是什么水平,他的能力能做什么工作,当然,我是用来衡量自己的,我能做什么工作,心里有点谱。我问的他底层的知识怎么样,他告诉我平常工作就是写写业务逻辑,修修bug,用不到底层。我问他熟悉不熟悉jvm虚拟机,他说工作接触不到,不了解。jvm虚拟机是java赖以生存的地球啊,可以不知道,不影响生活。但是一定影响高质量的生活。这也是为什么我们要学地理,各种和地球相关的学科的原因,我们想要更好的活着。了解jvm虚拟机,是为了让java更好的活着。我问他现在公司的技术架构是什么,他说他刚到公司,还没人给他讲过!我不知道怎么聊下去的!反正以工作一年的经验来说,我感觉他白过了一年。我问他有没有接触到分布式,高并发的业务。答案是没有,在公司接触不到。我们他工作需要不需要注意线程安全的问题,他仍然是回答工作中遇不到。我问他平常自己学习吗,他说平常工作忙,加班,没有时间学习。那更不用说了,平常不可能看书了。到此为止,我觉得已经没必要聊下去了,因为我指导我得不到有价值的东西了。正好他们出去吃饭了。我并不是说人家弱,我只是好奇,随口一问,想知道一个工作一年的人,有什么看法,抱着学习的态度交流。

第三个问题 : 如何学?如何规划?

  我大二的时候好像提到一些方案,那是我大二的认知,那时候我正在走培训体系的课程(我自己学的)。在那个阶段相比较身边的人还在睡大觉,上课混混,我觉得我学到的远比课堂上的多。但是现在大三下了,一年过去了,在认识上肯定会有变化。所以再给出一些建议!

   上边提到过,ACM比赛可以是你的敲门砖!他的重要性,不再赘述。如果你来自普通本科,有必要给自己镀金。

   第一年:可以花大一一年时间做准备,这一年包括java入门,包括算法,数据结构,算法。这都是必须要具备的,数据结构伴随算法,就觉场景问题,及时算法编程题了。当然了,我个人建议还是学一下了解JVM虚拟机,深层了解不敢说,感觉吃不透,有难度。比方说内存模型总要清楚把,垃圾回收总要了解一点把!在这之前,我创建对象,从没考虑过垃圾回收,没考虑过对象放在那里占用内存。我敢说,这些东西你如果能掌握(java底层框架,基础,jvm,数据结构,算法),你就已经远远走在别人前边了,并且接下来你的路会非常好走。当你看到这里的时候,不要告诉我,你们没有开这些课,如果你想走这一行,你想少走弯路,不浪费时间的话,就自己学,我敢保证你学校的图书馆,绝对有这些相关的书!知识不一定就在课堂,还在图书馆,充分利用起来!就像我学校的图书馆,我看到很多好的专业书。出来封面泛黄,里边的内容都是崭新的。这可能也是为什么我的学校不好的原因吧!自学,主动学的没有多少!  

第一年读什么书好。个人感觉很好的书!《Java编程思想》,好像有六七百页的样子。三个月读一遍。很好的思想的入门书籍。《实战JVM虚拟机》葛一鸣的,我觉得这本书可以帮你很好的了解虚拟机了。《数据结构与算法经典问题解析》华章出版的(个人很喜欢的出版社)。另外,因为说了推荐准备ACM比赛给自己镀金。所以可以刷一下牛客上的ACM题,练练手,关注一下赛程,自己参加(对没人会组织你的)。

  关于第一年的疑惑。我什么这样规划?这些事你第一年做好了以后,你就不用在找工作之前花时间刷算法和数据结构了。我现在都很后悔第一年浪费掉我的大学生活了,当然了没人给我正确的引导。你肯定有这样的疑惑,我学这些有什么用,离我能写系统有多远,至少我当初是这样想的,我学完java就一直有这样的困惑。一句话,不要着急功能的实现,欲速则不达,打好基础。我说的你能做好, 直接会为你进大厂打基础。就ACM来说,你能拿奖,最后面试官绝对会多看你一眼,比实现什么功能来的更有用。

  第二年:我默认你按我说的做了!并且取得小的成就最好。大二一年吧,好好学一门数据库,深入的学,包括数据库的正常使用,包括数据库的架构,包括数据库的优化!是的,优化,没说错,你也没看错。我不想讲为什么。了解一下非关系型数据库,很有必要的。我希望我说的你都可以有深度。这样你以后就会发现,你可以少学很多,因为我说的都是即使你工作了也要学的。不用再为为什么学了,如果你频繁的处在问为什么学的问题上,而不是如何到一定深度上,那就拜拜把,我这篇不是写给你的,你自己按自己的路走好了。我相信你一定比我厉害。然后就是有必要掌握一些前端技术了,还有框架知识,这将为你写项目做铺垫。我先讲一下,框架主要是思想,你需要理解思想, 因为有很多框架,道理都是殊途同归的。学好一个框架,就要花更短的时间学另外一个框架。写项目知识练习你的框架的掌握,以及自己的coding能力,逻辑能力,debug能力。推荐第一次跟着网上视频学着写,锻炼一下。有自己的想法加进去更好。这一年如果你有时间的话,就学下操作系统,网络原理,这样的基础课,只要学就扎实一点。如果时间精力够得话,就学一下设计模式,设计模式可以让你站在巨人的肩膀上写代码。开始学着写一手规范整洁的代码。你自己决定,可以把代码规范的学习放在做项目前边。这样就省的自己再重构代码了。

第二年推荐的书:《MYSQL管理之道》这是一本提升数据库性能的书,不是基础书。对于数据库的学习,你可以自己找可以看的懂得。视频是一个不错的入门手段,但是他只能让你到一定高度,所以还是要看书的。框架就学SSM(springMVC ,spring,mybatis)把,书籍不做推荐,我相信的你图书馆肯定有相关的。项目视频自己网上找,要具备自己找资源的能力(实在找不到就问我要)。关于代码格式问题,推荐读《代码整洁之道》《阿里巴巴java开发手册》。关于设计模式《设计模式精讲面试攻略》代码不只是实现功能,更多的是修改与维护。关于多线程《并发编程的艺术》。

 第二年的问题:还有什么需要注意的,在编程过程中注重思考把!做一个有思想的人,不要被禁锢。除此之外,在你的系统的原有基础上,考虑一下多线程问题,能不能加入多线程,来提升性能,如果能加入多线程以后,有什么按安全问题吗,我觉得不能只停留在功能的实现上,应该考虑如何提升性能上。补充一点,多逛一下社区,学习一下团队协调开发的工具,入SVN,GIT,等,反正有的是时间,自己折腾把!如果你真的喜欢计算机,会觉得咱们志同道合,如果你不喜欢折腾,那我觉得你要考虑一下换行了。关于操作系统,我说一下为什么要学,有什么用,毕竟,在我学的时候是没有意识到的。计算机抛开代码不说,操作系统就是对计算机资源的调用与管理。如何合理利用计算机资源,都会帮助我们提升性能。更多的是,有很多后边的问题我觉得都可以和操作系统建立联系,比方说:缓存,若何更新,如何替换,和操作系统里边的调度算法挺像的,FIFO等等.. 学习一定要建立体系,建立联系,一定要学会用增量的学习方法去学。

恭喜:

  一步一个脚印的走了过来,我默认你晚上可以学到十点钟,假期都在鼓捣技术,就我个人来说,当时大一学到九点就把自己感动的不行了,出来混迟早要还的,大二晚上十一点之前没回过宿舍。所以读我文章的人,如果能做到以上的内容,真的很强。因为那些规划并不是我走过得路,而是随着我的知识储备,知识体系的 增加,觉得这样安排,会更加的合理。并且这样安排,会省很多时间出来。否则后边就要挤时间再去学。

第三年:按照以上的安排,你能顺利完成,你真的很强。

   你应该对自己更加有信心。我觉得你的进度至少要快与别人一年半。有兴趣的话,自己做项目,然是一些志同道合的人,可以做协同开发,就是团队开发那种。之前学过的东西回头再回顾一下,很多东西不是你学完就会的,再回头看的时候,你会发现,原来是这个意思,恍然大悟的感觉。我相信你在学习的过程中肯定会有难度,我上边提到的东西,很多有我到现在才接触接触到的东西。有能力的参与一下开源项目,至少可以学习一下别人的思想。这一年,可以学一带你自己喜欢的东西,比方说大数据啊,深度学习啊,等等。或者了解一下微服务啊,或者说了解一下分布式啊。都是可以的。你应该能想到,业务到了一定场景的时候,在技术上给自己增加挑战,比方说高并发,怎么办。(消息队列啦,缓存啦)怎么做到高可用,怎么做到容灾。另外,我觉得你应该熟悉一下linux开发环境了。平常再刷刷算法有必要的。可以提前了解一下工作 的问题,怎样进好公司。慢慢向架构师的方向走吧。有时间你就学习,多学一点工作就多一块钱,就是这么现实。因为你接触不到真正的生产环境,说白了就是瞎折腾。

  我觉得到了第三个年头你肯定会有自己的方向, 不用我这个水平的人给建议。当然了。三年以后的我获悉还能给出建议。不过都是后话了。

  第三年没有什么好的书籍推荐了,更多的是提出一些概念的东西。希望你可以自己去搞。希望你能有更好的建树。

当然了,你的大学生活肯定远远不仅如此,你可以加学校的实验室,可以出去体验一下工作。

其它的一些学习途径:

关注一些好的技术博客,关注一些好的公众号。

公众号:java极客技术     javaGuide

技术博客:纯洁的微笑

写在最后:上边提到的内容有什么找不到的可以到我这里拿。

觉得有更好的建议,安排,希望可以给我留言。目前我的水平直到大三下学期。以上的安排建议,我觉得可以帮你节省出来一年半的时间。等你到了大三就可以有更好的选择了。

标签:培训,计算机,一下,可以,自己,算法,本科,制定,校招
From: https://blog.51cto.com/u_15812686/5741200

相关文章