非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享

文章目录

  • 前言
  • 了解自己
  • 前置学习
  • java基础
  • java高阶
  • 微服务SpringBoot
  • 软硬数据库
  • 项目实战

前言

对于很多和我一样的 非科班出身的小白来说,对于编程应该是一种向往但不可及的状态吧?(我记得自己大一时就是这样的)。
心里知道编程薪资高,前程好。也适合像我这样的宅男,不怎么会交际,圈子小也没啥特长的。
但是正是由于非科班出身,所以觉得编程很神秘,也不知道该从何入手?网上很多各种宣传资料广告,什么c++ java python 大数据 ,
乱七八糟的,也不知道该学什么,也不知道哪个是真的适合自己。

了解自己

在你准备学习开发前,我觉得首先还是要洞察下自己,对于写代码这件事,是真的有适合和不适合的。
搞开发的同学,尤其是能有所作为的,基本都是那些不怎么爱和人交流,喜欢自己琢磨自己创造一些东西的人,耐得住寂寞,耐得住性子。
如果你不是这样一个人,那最好不要搞这个,因为对于年轻的同学,时间都是成本。
当你学习了一年开发,进入工作,才发现自己不合适,就太可惜了。
不管是转行还是硬磨,都会让你的人生朝着一个不太好的方向发展。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第1张图片

这对于之后的面试,其实也有很大的意义。
其实对于我们本次文章针对的人群(学生)来说,面试官并不会特别注重你的专业技能,而更多的,是看你到底适不适合这个行业。

前置学习

其实对于编程,直接入手还是会不适应的,尤其对于我们今天的主题,java这门语言。一上来很来明白什么字符串,字符,什么面向对象,接口,类这些东西。毕竟程序和现实世界还是很大差距的,尤其是编程这门课程,和我们以前学习的语文,数学这些传统学科,差别很大的。
所以建议还是有一门入门的课程作为编程的前置。这里我推荐C语言,其实很多软件开发从业者,所学习的第一门语言都是C语言。
包括大学里的计算机相关专业,第一门编程课也都是C语言,因为C语言是所有语言的基础,基本所有的开发语言,都有C语言的影子。
而且C语言基础初步,相对来说入手也容易一些(不往深挖的话)。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第2张图片

java基础

有了一定的C语言基础,就可以开始学习java了。
刚开始学习java,还是不建议所谓直接看源码的,也大可不必买一本老厚的著作看。
还是建议找老师带,可以是学校的老师,也可以找网上的课程。免费的就可以,java基础能讲明白的课还是很多的,而且比较形象的学习,易于理解。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第3张图片

java高阶

对于高阶和基础的区分,我觉得是从多线程,io流这些开始的。
不过这些内容在网上的java学习目录上也都有明显的基础,高阶的区分。
其实多线程,io流,锁机制,网络通信这些高级部分,刚开始学习的小白基本是听一听就过去了,很难做到第一次学就能学的明白。
因为编程这东西,理论是不如实战的,主流的学习方式都是实战实战实战。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第4张图片

微服务SpringBoot

在学习过上面的java基础+高阶后,小白此时应该已经有一定的基础了,起码基本的调包代码是能写一写了。
一开始学习也不必太过于纠结高阶部分,比如多线程,锁机制,套接字这些,因为刚开始敲代码,也不会让你去写这些。
但是原理你要懂,只是不必太过纠结,比如:什么是多线程,锁到底什么时候用?用起来也完全感受不到锁的作用。
对于刚开始学的小白来说,这都是很正常的。

对于我们本次的主题“非科班学生 找工作”
最重要的是做项目,其实这也是给你一个模拟实际工作的方式。
对于小白来说,可能一听“项目”,就被吓退了,好像觉得项目是一个多么大的东西,其实这里的项目是可以加个引号的,只是实现一个具体的功能的程序。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第5张图片
其实现在网上也有很多类似的程序demo可供学习了,不过应该很少有会把整个项目从头到尾都写给你看的。
所以到了做项目阶段,如果你不是对自己特别自信的话,还是建议能找个人带,有个人能给你解答疑惑,最好能当面教你。
程序代码这玩意,很多时候打字或者语言都交流不明白的,但是当你的面把这代码一敲,你就会发现原来也不过如此。
这也同时印证了上面那句话,实战的重要性。

找个师兄,或者老师,带带你。做一些类似于学生管理系统之类的demo,当然这些系统可能让你觉得实在没什么技术含量,说白了就是一些CRUD。但是也不要小瞧了这些,认认真真学好,慢慢去领会和感悟。

软硬数据库

要做项目,数据库就肯定得有了。
毕竟敲代码,程序和存储都是必须的。
此处所谓软硬数据库,其实是我自己起的一个名字。硬数据库,就是指的硬盘数据库,比如最常用的mysql。软数据库,其实是和硬相比的,其实就是内存数据库,比如redis,当然你也可以自己写一个缓存,那也算是软存了。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第6张图片

项目实战

有了上面的基础,基本够一个简单项目用的了。
而其实CRUD,也是你作为初级程序员,到了公司以后干的事情。(当然可能连CRUD都不行,毕竟涉及到sql语句,老板不放心你 O(∩_∩)O哈哈~)

当然学习是永不停止的,这里讲的只是一个面向面试,面向找工作的学习路线,个人觉得差不多一年的学习,应该能达到面试所要求的水平。
谨记,一定要真的学会,网上很多说背面经的,我个人认为,面经是要背,但绝对不是只会背个面经就可以做开发,毕竟进入公司只是第一步,往后的日子都是一天天的敲代码,而不是谁听你背理论。

还是那句话,学开发,最重要的就是自己亲手写代码,亲手调bug,大佬都是这样实战出来的,刚开始可能吃力和不适应,慢慢就好了。也锻炼自己解决问题的能力,其实整个过程还是挺有成就感的。
非科班出身的我 如何靠自学编程 毕业拿大厂20k x 16 offer 自学java路线总结 经验分享_第7张图片

你可能感兴趣的:(经验分享,java技术,java,经验分享,开发语言,面试,学生)