嗨喽大叫好,我是sirwsl,断断续续的写博客,断断续续的生活,一个在校大四的老学长,准备在1024给在校小白的一些忠告。
今天不想写知识相关的东西,就谈谈感想吧。因为要是我大一时候要是有人和我聊这些,哪怕是大二和我会所这些,我也会觉得受益匪浅。
本人知识淡泊,懂得不多,以下纯属为个人见解。我是97年出生的,现在才大四,和同级的人比大了很多,也因为青春玩的太过火。填志愿时候从一本甜到专科全是计算机,顺其自然学了计算机。大学读的是二本,从大三上学期结束开始投简历,投简历各种想办法找内推(实习、应届内推真的很重要)之后面了阿里、腾讯、字节、美团、饿了吗、4399、等等国内大厂十多家屡战屡败,基本死在一面二面上,之后自己因为课程原因没在投,大三结束,继续投还是国内一线大厂,有的二面有的三面,有的被捞三四次,但是最终没上岸,之后种种原因下选了当地一家还行的。
然后进入公司,不是说啥也不会,其实很多东西自己还是有了解,只是不熟练,但是来到公司确确实实学到了很多的东西,以前在学校压根不知道mybatis-plus、mapstruct、VO、BO...等等东西,来了之后,虽然也是搬砖但是自己也学会了很多东西。在此告诫各位小白们,大学里面在大二时候最好假期去一个互联网公司待一段时间,会有一个质的飞跃,真的很重要。
在校期间呢,最重要的就是明白自己要干嘛,这个东西越早明白越好,有的人大一就明白,有的人大四毕业才明白,结果天差地别,如果大一进去就要考研,那你就干你考研的事,认真学习,别有事没事去什么乱七八糟的社团学生会要是有经历也可以去(嘿嘿,当初大一结束时候我也是我们学校计算机协会会长,这里没有黑学生会和社团,是真的没啥意思)。与其去这些东西你还不如写篇论文发表发表,或者是参加几个牛逼的比赛获个奖再或者有精力了你就去参加几个立项。然后一定要过四级最好六级一起打包(虽然我现在还没有过四级)因为这些对你的保送或者考研复试都有帮助。
如果要考公务员事业单位或者文职的,那你也就干好你的事,无聊可以去社团学生会帮帮砖,毕竟那玩意在某些地方还是可以学到点东西。然后早点开始准备相关的学习计划,然后早人一步,一次上岸,别来回折腾。
如果你是要工作了,还是个程序员,那么看看下面的。从大一进来学习相关的什么C语言、Python、java之类,但是你要记住一点。明白自己要干嘛,每种语言的领域完全不同,虽然都说语言处处相同,但是你要记住语言也是处处不同。就像在java中你可以成为调包小丸子,在C中你啥也不是一样。所以说早点确定一门语言,然后深入学下去,别图多,学好一门,用四年时间学精一门,哪怕你和我一样只是二本,一旦你四年时间都用在一门语言上,不说90%的人,最低80%的竞争者被你打败了。有时间就好好刷算法什么力扣、OJ、之类的平台多去几个,没事就刷题,然后熟悉GitHub等等之类的开源社区,千万别脱离了开源,这样对你以后有帮助,要是有时间了,你就谢谢博客,要是可以坚持下来,你也很牛逼。
我是做后端java的说了这么多,我也要睡觉了,下面是大学四年如果你做java你需要学会的东西,要是有人早点告诉我这些东西,哪怕半年,一年,我也不至于现在啥也不是,这份秘诀就送给大家了,对应的知识点大家自己下去搜视频教程、百度、google、自己去找吧,毕竟每个人的学习习惯不一样,但是知识点就是那么些。
要是这些都被你吃透了,那进个一线大厂基本没多大问题了。
java学习路程
java基础:
循环、判断、赋值、数组
对象、类、方法、继承、多肽、抽象类、接口
异常处理、基本数据类型
(map、hashmap、hashtable、crurrectHashMap、TreeMap、ArrayList、LinckedList、set、栈、队列)
看hashmap、hashTable、ArrayList、LinckedList、String、StringBuffer、StringBuilder源码
java刷题-链表反转、动态规划、排序算法
mysql基础
复习SQL语句,jion、like、limit等等相关的东西
mysql索引(实现、优缺点、原理) mysql存储引擎(LnnoDB、MyISAM区别、原理)
SQL优化
SQL分库分表
web基础:
HTML、CSS、JS用法
Servlet:
servlet原理、servlet实现、Session、Cache等相关的东西,看视频做一个项目
数据库连接池
SSM:
Spring原理(AOP、IOC、作用域、声明、运用)、SpringMVC使用,做简单Demo
Mybatis、SSM实战,看视频做
配置文件学习
了解SSH、会简单使用Habinate
项目部署:
Tomcat项目部署(三种方式)
虚拟机安装(CentOS7.5以上),虚拟机搭建内网,命令行熟悉使用
nginx搭建、原理、使用
nginx负载均衡、原理、实战
Docker安装使用、Docker部署mysql、Docker部署项目、Docker+Nginx实现反向代理
中间件:
Readis:
redis基本知识、redis使用、redis集群、redis哨兵、redis命令,jedis使用
Jedis使用、redis连接池
Zookeeper:
zookeeper搭建、基础知识学习、zookeeper原理、zookeeper简单使用
MQ:
MQ集群搭建、原理学习、基础知识、相关使用
SpringBoot:
SpringBoot入门,实战
springboot框架整合
springboot进阶,看视频敲代码
手写SpringMVC
多线程:
多线程学习、基本知识、相关原理
悲观锁、乐观锁、互斥锁、共享锁、轻量级锁、重量级锁
Synchronized关键字源码、Lock源码、java.util中的并非包
多线程实战
设计模式:
设计模式中重要的:工厂模式、适配器、单例模式等等相关的重要的设计模式实现,明白原理和使用
JVM虚拟机:
java虚拟机基础知识、jvm原理
内存回收机制、垃圾回收机制、内存分配、新生代老生代
垃圾回收算法
JVM调优、参数设置
项目实战:
1、博客系统实现(1个周)
2、秒杀项目实现(整合MQ、Redis、Zookeeper、布隆过滤器。。。)
3、OA系统或者SASS平台项目看源码
面试相关的东西:
三层、五层、七层、TCP/IP HTTP/HTTPS 加密算法、三次握手、四次挥手、网络编程
java基础、算法、底层源码、设计模式、java虚拟机、多线程、分布式、大数据