java学习感受分享

大家好我是非科班的转行小垃圾程序媛~ 。

作为一个本科211,985环境的硕士研究生,从去年8月开始自学java,到现在整整一年时间。也没有实习经历,目前拿到了:字节、美团、携程、蔚来、京东、中兴、有赞、杭州端点网络、上海远景智能、杭州大华。

我记得我投递的第一份简历是vivo,然后当时八股也没咋背,只是自认为把java基础全面细致的过了一遍。谁知道做了很多的无用功。当时vivo的面试官问我什么是hash和hash表,我都回答的支支吾吾。因为那个时候还没看过源码,只是在简单的使用层面上。所以导致面试的失败,vivo还是非常好过的,一面20min后面就是hr面了。后面在面的时候也是不断被面试官嘲讽。我变开始自习细致的准备背八股文。边被边整理,然后加上不断的面试复盘。面到后面,我都不需要准备了,也不怕突然袭击,有些甚至面试官一张嘴我就知道是什么问题。哈哈哈,因为大多数面试还是具有相似性的。这里不好说哪家公司的面试风格怎么样,只能说不通的面试官风格咋样,后面我会给大家分析,并且面试官在面试初期,其实也不知道要问什么问题,大多数还是根据简历里面来的,所以大家也可以找我帮你看看简历,我会根据你的简历想到什么样的问题等等。

下面在说一下我整个准备的过程是怎么样的吧。历时不到一年,从一个编程小白到一个可以和面试官battle的老油条。

第一步:肯定是要熟悉java的基本用法了,这里就是需要学习javaSE。我建议刚开始都跟着视频走一遍,你就知道一些简单的用法。从最简单的也是梦开始的程序:编写一个helloworld程序开始。然后了解java的那有些常量类型,还有一些数据类型转化,怎么写循环语句,他们之间有什么区别,如何编写一个类,如何编写一个方法等等,开始入门java。理解java为什么是一门面向对象的语言,并体会这样做的妙处。这里建议看B站上的黑马的视频,JavaSe基础和提高。

第二步 数据结构与算法:这一部分学完之后,就要开始每天坚持刷题了,因为你还没有了解过基本的数据结构和一些算法思想,所以需要看一些视频,还有一些公众号,这里是我踩过的雷最多的地方,首先第一,你不知道看什么视频。在这里我必须先吐槽一下浪费了我整整一个月时间的韩顺平的数据结构与算法。刚开始听由于什么都不懂,开始介绍一些简单的数据结构的时候觉得还行,到后面听完了开始刷粒粒扣子的时候,发现他说的和刷题一点关系都没有。至于看啥视频比价杂散,我是一点一点收集来的,这里不好展开细说。还有就是用什么顺序刷,那些题值得刷,那些题面试高频。你们没面试过肯定不知道所以更加一头雾水。这边的资料确实难收集,后面我整理出来分享给大家,大家先把第一部分做好。

第三步:学完javaSe之后,就是比较重要的javaweb了,这里非常重要的知识点就是mysql数据库,因为这是后端开发避免不了的技术,我建议在学习javaWeb之前,整体学习一下mysql数据的使用,也可以在b站上的教学视频,先看实战篇,再看原理篇(面试的时候非常非常喜欢问mysql的底层原理。)知道怎么建表,怎么写sql语句,怎么加索引,索引的一些使用规则之后,就可以在b站上找javaWeb的视频看了,我是看的黑马的,说的不错,但是我不建议全部看,有选择的性的看,我当时是全部看了,但是我在实际面试的过程中,是发现有很多地方用不上的,所以也浪费了大量的时间。这个后面我会告诉大家如何高效有效的准备。毕竟我们是面向面试的准备哈。把时间利用到最大化才是我们的目的。我们不同人的情况不一样,可能还有些导师push的比较严重,时间就更不够用了。

第四步:也就是现在非常多企业使用的框架了,也就是SSM(Spring+SpringMVC+MyBatis),你都需要知道他们是怎么使用的就行,只看实战篇,不需要知道原理,(为啥不要掌握原理呢,因为面试不常问哈哈哈哈)。最后SSM学习完之后就开始学习SpringBoot,这个很简单,简单的花费两到三天,知道怎么用即可。

第五步也是非常非常重要的一步:就是项目,我建议你如果有时间去实习,就尽量去实习,如果没有时间,那只能向我一样做网上的开源项目,这个项目我是花钱买的两个,一个试牛客网的论坛,一个是随便找的秒杀。这里我非常后悔做这个秒杀,真的被问哭了。但是只有一个项目经理是不够的,所以我只能硬着头皮做,后面也发现很多可做的好项目。如果简历上你对一个项目特别熟悉的话,非常加分,也能让面试变简单,因为有超过一半的面试,面试官都是怼着项目问的,这一部分如果有兴趣你们可以联系我。说起来篇幅可能会非常长hhhh。

这些学完了就是比较重要的八股环节了。我个人看过非常多的八股视频,有些我是建议看的,有些我不建议。

建议看的内容有,黑马的两个,一个是深入理解JVM,一个是并发编程。这里建议有时间一定要把深入理解JVM这本书买下来,反复阅读两三遍,非常多的面试细节都在这里面,也是面试的拉分的地方。

第二个就是通用的计算机基础,操作系统和计算机网络,我建议直接看书,操作系统我学的比较烂hhhh(面试确实也不常问,但是一旦没答上来,面试官就会给你贴一个"基础不好的标签")所以还是得重视起来。然后Linux,你可以自己下载一个虚拟机,然后看一下网上的视频,用一用就熟练了。也属于面试加分项,没有时间可以不弄。

计算机网络我看的是自顶向下的计算机网络这本书。我没有买实体书,我觉得PDF比较好用,hhh。多读几遍,然后有一些是重点比如应用层Http协议,DNS、ARP、IP、TCP、UDP都是重点要一字不差的看个两三遍。最后附录会放一些我认为比较有含金量的面经吧~

以上我就是我总体的心路历程了,有一些细节,比如具体看啥视频,什么链接,每一部分学习多久比较合适,什么阶段该进行到那个部分了。可以加群讨论呀: 681558398 。群里我把我自己准备时候在网上搜集到的资料都放在里面了,还有上面来不及写的坑呀,还有细节,甚至你看我的面经有想讨论的都可以私我哈。哦对了还有我的面试录屏,我还保留呢,后期大家面试的时候我可以分享给大家让大家感受一下真是的面试环境。有什么问题欢迎来Q我哈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值