Java后端学习经验分享
一、 学习方针
定目标:在学习初期,最好有个相对明确的目标,如是想找后端,前端,测试,客户端还是其他。定下目标后,找大厂(如BAT、TMD等)对应岗位的招聘需求,先整体对此岗位的硬性需求有宏观了解。
小步快走:互联网的产品有个很明显的特点是迅速产生一个初始可用模型,然后经过非常多的迭代进行迅速优化。平常是互联网公司向我们兜售产品,当求职时,我们需要向公司兜售自己。若把自己看做一个“产品”,也可以借鉴此思路,先掌握最常考的、最重要的知识点,然后形成一个最初代的简历,在不断投简历与面试过程中,进行录音与面经总结,进行反馈,根据反馈补充知识点与迭代简历。切忌不要想着等自己准备好了再去投简历,也切忌不要真零基础去投大厂。
先整体再细节:在学习一个知识的时候,先学整体框架,知道此技术的作用,解决的难点,存在的问题,与其他技术的对比,可以优化的点。在开始学习时不要拘泥于某些细节,有不懂的可以在之后的迭代学习中进行补充。
二、 Java后端学习路线
Java语言基础(重点:集合(List、Set、HashMap、HashTable、ConcurrentHashMap)、异常处理、IO等)
算法与数据结构(剑指offer、左程云算法课与书籍、牛客网OJ、力扣)
MySQL数据库:基本的增删改查(DQL、DML、DDL、TCL)、事务(重点)、索引(重点)、
并发与锁:乐观锁与悲观锁、synchronized、ReentrantLock、volatile、CAS、线程池(实战Java高并发程序设计)
jvm:类加载(双亲委派机制)、jvm内存模型(有哪些种类,存放哪些内容)、gc分代收集算法,常见的垃圾收集器
Spring、spring MVC、springboot:先会用,记常见面试题
Redis:面试常问,需要会使用,看常见面试题(实习可能没有此要求)
Linux:会基本使用
计算机网络、操作系统:看下面试博客与视频,整理常问的问题,若有时间则系统学习
三、 面试
面试=实力+运气,若被刷了,心态不要崩!
一定要有项目,一定要有项目,一定要项目。
项目是面试的敲门砖,也是二面及三面的谈资。
面试一般分为1轮笔试,1-3轮面试,笔试一般为牛客网,需要提前熟悉牛客网的输入输出处理。面试一般一面为简历面或基础面,侧重于知识的广度。二面与三面一般侧重于项目与技术的深度。面试经常会有手撕算法,需要提前储备。
找实习,三年制的话时间在研二的寒假,即3-4月份,实习是加分项,即使不去实习也需要通过实习面试来熟悉面试流程,最好经历5家公司的实习面试,最好不要一开始就面大厂,会有面试评价,表现太差可能会影响秋招。
秋招,研二的暑假,7-10月份,会有提前批,尽量参加提前批,拿到保底offer后心态会比较好。
四、 面经
在面试前,上牛客网看该公司该岗位的面经。在面试时,用手机录音,面试完后整理形成一份个人面经,对着面经进行查漏补缺。
五、 算法
需要熟悉数组、链表、二叉树、栈、队列等结构,熟悉动态规划的题目类型与解法。刷剑指offer上的题目,需要做的比较熟练。在牛客或力扣上按tag进行刷题,进行整理。