零基础跨考的同学该如何学习Java?
2021-08-07 14:37:17
17次阅读
0个评论

有同学想让我写个java的学习路线,我说实话啊,这个真大可不必,因为那种学习路线网上真的很多,无论是知乎还是b站上都有各路大佬总结超级详细的路线!大家去搜一搜,真的特别多!


所以我就不班门弄斧了,我还是从一个跨考生的角度说说零基础学习java的经验吧,让你们少走点弯路。(科班或大佬轻喷,由于我专业背景和能力的局限性,有的可能说的会不太准确,主观性比较强,合理采纳)


初学篇


相信很多跨考的同学决定学java之后做的第一件事就是去网上找经验贴和资料书单什么的,以及一些评价比较高的视频。大家也知道,由于java十分火爆,所以java的资料是很多的,有的同学可能已经找了好多了,估计研究生三年都看不完。


没错,我当时也是这么干的。疯狂买书,疯狂收藏资料。但其实到头来很多根本没有机会看,全在吃灰。所以,我觉得合理的选择学习资料很重要。


资料不要太多,贪多嚼不烂。


对于零基础的同学来说,我的建议是前期每个知识模块准备一个视频和一本书,真不需要更多了。首先快速的过一遍视频初步了解知识点,然后去看看对应的书深入理解,最后二者互相结合补充回顾一下就可以进入下一个模块(这个过程可以整理一些笔记,做笔记的话推荐typora)。看视频可以帮你快速上手,后面看书也会更快,看书则是巩固加深以及补充视频没讲到的知识点。


这个过程不要花费太长时间,因为java知识体系比较庞杂,不要想着一遍就能全部弄清楚,目前只能掌握整体的知识脉络,后期再来逐一加强。


跟着敲代码很重要!


当然在整个学习过程中的一个重要环节就是动手敲代码,看视频看书做笔记那都只是辅助性的工作,最关键的步骤还是跟着敲代码,无论是视频中出现的,还是书上的,争取都能自己在电脑上敲一遍,这样一方面可以提高代码能力,另一方面可以加深对知识点的理解!而且要记住,你学习的大部分时间都应该用在敲代码上面,而不是在死记那些理论!


所谓孰能生巧,代码能力完全就是敲出来的!大家可能以前很少敲代码,刚开始也许会很慢很难受,其实没关系,你跟着慢慢敲就是了,最怕的就是,简单的不愿敲,难的不会敲!简单的代码你就当做是训练coding速度了,如果是小Demo,那就更值得敲了。切勿眼高手低,只看不动,这是学习编程的大忌!


进阶篇


这样过完一遍之后,可以开始回顾之前的内容了。怎么回顾呢?我建议直接找份八股文总结,我个人是比较建议早点准备八股的,虽然可以找实习的时候再背,但是那样嗯背并不利于面试,只能说应急吧。而且前期直接根据面经来学习比较有针对性,可以提高效率,所以有时间还是早点看比较好。


八股文总结的比较好的比如JavaGuide、JavaKeeper(http://www.starfish.ink/)等,开始对着上面的高频知识点复习。这里对于没有弄清楚的知识点,可以去看书、看视频以及博客,把答案解析整理成自己的笔记。


这样一来会有比较深刻的理解,面试时也不会让面试官感觉只是机械的记忆,你自己记得也会比较熟比较快。


这里多说一句,根据我的面试经验来看,面试问题基本都是那些八股,问的大同小异,但是面试官不太喜欢只会背书的人,他更喜欢你有自己的理解,即使你说的没那么全面,但你能深入剖析某一个知识点,如果你的理解比较深刻,这样就很容易让他发现你的思维亮点,这时他会继续深入的问下去,直到你不会为止。


如果你在整个面试过程中能够积极思考,利用自己已学过的知识来解决问题,会让面试官产生极大的好感!这就是所谓的谈笑风生了!


所以这就是为什么有的人面试问了很多问题,也都答出来了,但最后却没过。我在前期面试的时候就遇到过这种情况。这都是因为只在机械的背书,面试官觉得,没有任何亮点,好像答对了,但又没完全对,听得太多了,已经毫无吸引力。


但有的人面试没有问几个问题,还被怼的很惨,最后却意外的过了。这就是因为面试官发现了你逻辑思维的亮点和解决问题的能力,虽然体验差,但是评价好。


总之,这一遍回顾你要做的就是扩宽知识的广度和挖掘知识的深度,至少保证能在某一方面比较突出。简单的说,要么知道的多,要么理解的深。切不可走马观花,不求甚解。

项目篇


关于项目的话,这是跨考生和部分科班生比较头疼的问题了。因为大部分同学都是没什么项目经历的,但是大部分公司面试是包括这一部分的,没有的话还是会有影响,所以还是得准备一个。


项目哪里找?这个b站、github上都有很多。可以看看这篇回答:


https://www.zhihu.com/question/31215862/answer/761811571


如果是自己啃确实有难度的话,就尽量去找那种有讲解视频的。跟着视频敲一遍,虽然会很慢吧,但能够吃透。好好的吃透一个项目也就够了。


那么如何学习一个项目呢?


首先,明确项目的需求。弄清楚这个项目是用来干嘛的,这肯定是最基本的。


其次,尝试分析项目的整体架构。这个可能稍微复杂一点,不过好在一般的项目架构也比较简单,仔细分析一下也是可以搞清楚的。


接下来就是深入理解各个功能模块了。包括代码细节,不会的知识点得去学习,以及可能出现的问题和解决办法,各模块之间的关系等,当然项目使用到的相关组件也要深入了解一下,为什么选它而不选其他的,优势在哪里,都要弄清楚。这个过程算是最长的了,也是真正理解项目的必要环节。


最后就是总结项目亮点和难点,整理一下业务逻辑,再次完善项目架构


当然,如果能力比较强的同学,在这一遍理解的比较好之后,就可以尝试给该项目增加一些功能和场景,或者说如何优化,如果能够自己独立的写出来,那这个项目算真正掌握好了,面试时将会成为你的加分项。


这整套流程走下来,还是要一定的时间的,所以跨考的同学平时得多花时间去学,选择了java,注定是一个漫长的过程,也标志着加入内卷,人家科班本科学了几年的java,你的时间不多,要想卷过科班,那只能多花时间去学了。


还有就是选定了就不要轻易改变了,这样时间成本是很大的,中途又去学其他的真不是明智之举!语言没你们想的那么重要,主流的语言都有岗位,选一个把它学好就行,找实习也不会因为你的语言问题不要你,很多都是进去再转!我学了那么久的Java,简历也是Java,最后拿到的offer全是C++!


所以语言不是关键,重要的是编程思维和学习能力!


以前觉得,挣钱不重要,现在才明白,星辰和大海都需要门票,而诗和远方的路费一直也不少!


加油,卷王们!


收藏 0 0

登录 后评论。没有帐号? 注册 一个。

xampp666

  • 0 回答
  • 0 粉丝
  • 0 关注