为了保证制作简历的安全性和流畅性,建议您使用Chrome浏览器进行访问
郭子艳 中央财经大学·2022届
APP 内打开
分享
18
162

秋招经验谈之Java练级攻略

以下乃一家之言,有用,则吾心甚慰,无用,君权当一笑。 一家之言,常有多家之辩,望诸君善待吾之善心,莫急言于在下。 吾求无错,奈何水平所限,失误再所难免,请各位提之,吾当改之。 吾所求岗位均为研发岗位,故技术人才更适用之。

从电子战领域转向Java后端开发,不到一年,踩了不少坑,走了不少弯路,激烈的校招一直逼迫我快速地吸收知识,加强能力,让我难有喘息的机会。但学习过程中,内心明白效率的重要性,因此始终尽最大努力保证高效地学习,深入地思考,注重将知识融汇贯通,构建合理强大而稳定的知识结构,功夫不负有心人,终取得不错的成绩。在此,将我的学习路径整理成文,供有志于Java后端开发的工程师参考。谨以此文,纪念这高效的一年。

注1:本文首发于我的公众号~

注2:本文希望大家能够扎实基本功,稳扎稳打地练习自己的能力。如果是为了准备校招,大家要酌情选择一些比较复杂的资料的核心章节,例如《深入理解计算机系统》这样的大部头,选择里面的核心章节阅读即可,例如关于硬件部分的就可以忽略不看。

目录

0.概述

1.初阶

2.进阶

3.综合

0. 概述

在《2019秋招经验谈》这篇文章中,我通过我的练级之路篇介绍了我是如何转行的,开启Java后端开发工程师之路的,通过认知思维篇讲述了在开启练级之路之前你需要具备的心态以及思维,通过专业技术篇介绍了Java后端开发工程师需要掌握的核心知识,通过面试技巧篇介绍了作为一个技术人如何在别人面前展示自己的能力,通过面试篇介绍了多家公司的面经,学习资料篇则介绍了一些非常经典的学习资料,但是只是资料的罗列,并没有指明应该如何系统地开始学习,本文将系统的介绍Java开发工程师的练级攻略。

在正式开始介绍Java练级攻略之前,我需要强调以下几个问题:

时刻保持自信。即使遇到困难,也是暂时的,不要因此泄气,跳过它,继续学习,待你学完后面的知识,你便会豁然开朗。

始终保持思考。一定要学习思考,思考为什么要这样,而不是那样。当你具备一定知识的时候,还要举一反三的思考,将知识融汇贯通,变成能力,最终构建出自己的知识和能力体系。

一定要动手。无论示例多简单,都一定要自己手过一遍,好记性不如烂笔头,大量的思考笔记,大量的编程实践是永远少不了的。你可以读的少,但是不能码的少。

不要犹豫。既然选择了一条路,你就坚持走下去,不要想这条路对不对,你只有走了才知道对不对,不要犹豫,开始了,就有收获,走下去,就有结果。

迭代学习。不要想着一口吃成个胖子,要讲究迭代学习,即首先了解知识结构,然后再逐层深入,一层层深度逐渐解决问题,这样的迭代学习,不仅会让你的效率提高,而且会让你对知识有不同层面的理解。 接下来,正式开始Java练级攻略。


1. 初阶

初阶的学习,主要是全面了解各个科目的整体的知识结构,在脑海中对每个科目的知识结构能有个全面的印象,主要解决的是怎么做的问题。

1.1 Java核心知识 作为Java后端开发工程师,Java是我们的武器,因此精通Java是必须的。首先我们需要整体掌握Java的知识结构,在此推荐以下2本书(任选其一即可):

书籍:《Head First Java》:具有大量插图,非常适合入门

书籍:《Java核心技术(卷一):基础知识 》 :sun公司官方出版,与《Java编程思想》齐名的Java图书泰斗

1.2 数据结构与算法

数据结构与算法是一个工程师的内功,当我们掌握了Java的核心知识之后,开始数据结构与算法的学习,是一个不错的选择,一来掌握数据结构与算法,二来也强化Java核心知识的理解,为Java的进阶打下坚实的基础。

关于数据结构与算法,在这里推荐以下资料:

书籍:《算法·第四版》 视频:CS61B 刷题:算法练级计划

1.3 TCP/IP协议

TCP/IP协议族对于Java后端工程师来讲,是必不可少的,因此,在学习数据结构与算法的同时,可以开启计算机网络的学习,在这里推荐以下2本书(任选其一即可):

书籍:《TCP/IP详解·卷1》

书籍:《计算机网络:自顶向下方法(原书第6版)》

1.4 操作系统(OS)

操作系统的学习对于我们认知计算机系统是非常有必要的,在这里推荐以下的材料:

书籍:《Operating Systems: Three Easy Pieces》(非常非常好的书,强烈推荐) 视频:操作系统(清华大学) 视频:Linux学习视频

1.5 数据库MySQL

对于Java后端工程师来说,数据库必不可少,以下推荐:

视频:与MySQL的零距离接触 书籍:《MySQL必知必会》

1.6 数据库Redis

Redis广泛的应用于缓存和分布式系统中,因此对于Redis的学习非常重要,推荐以下材料:

书籍:《Redis实战》 官网:https://redis.io/(一定要把官网上的命令好好过一遍,把官网的文章好好读一下,非常好)

1.7 Git & Github

非常流行的版本控制系统,推荐以下资料:

视频:GitHub&Git入门基础 视频:廖雪峰Git教程 动画:Learn Git Branching


2. 进阶

进阶学习的目的主要是从应用知识转向思考其底层,深入的研究各个科目的底层逻辑,主要解决的是为什么的问题?

2.1 Java核心知识进阶

掌握核心知识基础之后,需要掌握一些Java的高级用法,推荐以下材料:

书籍:《Java编程思想》 书籍:《Effective Java》 同时,在这里还需要阅读Core Java的底层源码。见《2019秋招经验谈》专业技术篇。

2.2 JVM

掌握Java核心知识之后,我们便需要掌握JVM,推荐以下材料:

书籍:《深入理解Java虚拟机》 视频:Java生产环境下性能监控与调优详解(选做)

2.3 Java并发与多线程

并发与多线程是Java一项很核心的能力,推荐以下资料 (2选1,建议选择后者) :

书籍:《Java并发编程的艺术》

书籍:《Java并发编程实战》

2.4 数据结构与算法进阶

数据结构与算法的进阶很简单,就是大量的刷题,推荐以下材料:

书籍:《剑指offer》

书籍:《程序员代码面试指南》左神

视频:不想看书的,可以直接看左神的视频(我就不用多说了,懂的自然懂)

视频:初级

视频:中高级

刷题:剑指offer

刷题:leetcode

刷题:算法练级计划(通过面试题刷算法)

海量数据处理:

博客: July博客 书籍:《编程珠玑》 动态规划: 经典动态规划问题

2.5 TCP/IP协议进阶

推荐以下材料:

书籍:《图解TCP/IP》(若看完了初阶的书,这本书可以作为复习,或者选择不看)

书籍:《图解HTTP》(若看完了初阶的书,这本书可以作为复习,或者选择不看)

2.6 操作系统(OS)进阶 推荐以下材料:

书籍:《深入理解计算机系统》

书籍:《鸟哥的linux私房菜》

2.7 数据库MySQL进阶 推荐以下材料:

书籍:《MySQL技术内幕 Innodb存储引擎》

书籍: 《高性能MySQL》

2.8 数据库Redis进阶 推荐以下材料:

书籍:《Redis设计与实现》


3. 综合

综合部分主要是介绍如何将前面学过的知识应用起来,即解决的是融会贯通,形成体系的问题。

3.1 面向对象与设计模式

推荐资料如下: 视频:设计模式(马士兵) 书籍:《Head First 设计模式》

3.2 项目(应用)

项目:叶神的高级项目课 目标: 熟悉Java后端开发流程,搞定Java后端项目 涉及技术栈:Spring Boot、MySQL、Redis、Nginx、Python、异步框架、全文搜索技术、排名算法、敏感词过滤算法、项目部署、项目设计、设计模式等 面试相关项目问题:见帖子《2019秋招经验谈》 2.5节:招商银行信用卡中心(信息技术部)面试的问题,对这个项目问的非常详细,给大家一个参考。

至此,关于项目,从项目本身到项目在面试中可能遇到的问题,便都准备完毕了。

参考资料: Spring官网:https://spring.io/ MyBatis官网:http://www.mybatis.org/mybatis-3/

3.3 项目进阶(底层研究)

推荐以下材料:

书籍:《深入分析JavaWeb技术内幕》

书籍:《大型网站技术架构·核心原理与案例分析》

书籍:《Spring技术内幕》 (这本写的太好了)


最后分布式系统相关资料: System Design Primer CAP理论 一致性模型 可用性模式 DNS CDN 负载均衡 反向*** 应用层的微服务和服务发现 关系型数据库和NoSQL 缓存 异步通讯 安全等


写到这里,我想Java后端开发工程师入门应该是够了,甚至可以说已经有了一定的深入了。回顾一下,发现写了很多,但是大家不要吓到,徐徐图之,人生本来就是一个练级迭代的过程,希望你能保持自信,不断思考,坚持到底,搞定这份攻略。 最后,鉴于水平有限,有可能有遗漏的地方或者是不对的地方,烦请大家补充和指正。谢谢大家。如果有用的话,欢迎大家转发分享给同学,也希望大家点个赞鼓励一下~

希望这份攻略能够帮助到大家,也欢迎大家与我留言评论交流~

推荐阅读

1.Java攻略: 《Java练级攻略》

2.算法攻略:《算法练级计划》

3.校招攻略:《2019秋招经验谈》

发布时间:2020年07月18日
用户头像
我来说两句…
共 18 条评论
欲拥i 香港浸会大学·2022届
编译原理,计算机组成原理呢?不包括其中???
2020年10月20日 回复
飞翔的胖子 悉尼大学·2022届
厉害,总结的很到位,很有条理。学习了,感谢!!
2020年10月19日 回复
没有志向的小仙女 大连外国语大学·2022届
楼主写的太棒了 想问下土木工程/动力工程研究生能模仿你的学习之路嘛,相对于电子类来说我的专业好像和IT更不搭边。目前某985交动力工程(本科土木工程研究生被调剂过去了)在读,一片迷茫
2020年10月19日 回复
有一种偏执 东华大学·2022届
这些都有了解,但是都不深,刚刚开始叶神的高级项目的补功课阶段,准备春招来得及么
2020年10月19日 回复
aaaa 北京化工大学·2022届
很棒,upupup,才发现这里没有表情,撒花
2020年10月19日 回复
布拉格的胡生 北京工业大学·2022届
老铁,tcp/ip那一段,是不是把图解http和图解tcp/ip放初阶好一点,个人看法而已。
2020年10月20日 回复
陈芃 中南林业科技大学·2022届
看完感触颇多,相信以这个为路线来学习,过段时间再回来看这帖子的时候又会有不一样的感受和收获,感谢楼主的分享
2020年10月19日 回复
猫腻 深圳大学·2022届
看完得一年了 长点心吧。这根本不是什么好贴
2020年10月19日 回复
好想当一条咸鱼
好棒
2020年10月20日 回复
欧凡001 中南财经政法大学·2022届
Mark
2020年10月20日 回复
皮皮 黑龙江大学·2022届
谢谢
2020年10月20日 回复
努力拧瓶盖的阿陈 南开大学·2022届
收藏
2020年10月20日 回复
李橙 华中科技大学·2022届
感谢分享
2020年10月19日 回复
菇凉你真骚 南京师范大学·2022届
很棒
2020年10月19日 回复
YiYa 北京理工大学·2022届
赞一个
2020年10月19日 回复
腻味 利兹大学·2022届
upup 共勉
2020年10月19日 回复
htsc-ruc 北京航空航天大学·2022届
帮大佬顶
2020年10月19日 回复
七格隆咚锵 广东白云学院·2022届
upup
2020年10月19日 回复