2021年后台开发岗找工作需要准备什么?(JAVA/C++)

​2020年的秋招接近尾声了,今年的趋势大家都有目共睹,算法岗灰飞烟灭,开发岗需求旺盛,而且算法岗的薪资已经与开发岗相差不多,这是开发岗的优势。但是在找开发岗的过程中会发现,开发岗的天花板还是较低的,很难有诸如“阿里星”,“北斗计划”的五十万以上的高薪。
我个人在今年的秋招中,既做了算法岗(研究生专业)的准备,也在开发岗(本科专业)有一定的沉淀。算法岗的准备过程参考上一篇2021年算法岗找工作需要准备什么?

1. General

职业生涯建议

程序员如何把控自己的职业 | | 酷 壳 - CoolShell

包罗万象的 Awesome

sindresorhus/awesome

全栈开发知识点

frank-lam/fullstack-tutorial

General knowledge courses 2020

logancyang/my-cs-degree

2. 编程语言

CPP

CPP面试题

JAVA

JVM面试题

JAVA并发面试题

JAVA Collection源码解读

设计模式面试题

JAVA 基础笔记

3. 数据库

数据库

数据库面试题

内功-数据库

Redis

Redis面试题

4. 前端(可选)

前端基础知识

学习前端基础 (HTML、CSS、JavaScript)

Spring Boot官方推荐的是模板引擎是 thymeleaf

大部分项目都优先选择 React、Angular、Vue这些厉害的框架来开发;
(建议先把 JS 基础打好,然后再选择 React、Angular、Vue 其中的一个来认真学习一下。国内使用 Vue 比较多一点,国外一般用的是 React 和 Angular)

thymeleafTutorial: Thymeleaf + SpringTutorial: Using Thymeleaf

Spring Boot - Thymeleaf

大前端

5. 计算机内功

计算机网络

计算机网络面试题

数据结构

内功修炼-数据结构

操作系统

操作系统面试题

内功-操作系统

6. JAVA Web开发(可选)

XML
Ajax
Servlet快速入门
过滤器、监听器快速入门
JSP快速入门
JAVA WEB 项目实战

  • 轻量级JavaEE企业应用实战
  • 深入分析JavaWeb技术内幕
  • 深入剖析Tomcat
  • Head First Servlet and JSP
  • Maven实战
  • Spring实战
  • Camel in Action
  • Spring 5 Recipes, 4th Edition

《Spring 实战》

《深入分析Java Web技术内幕》

《Spring MVC+MyBatis开发从入门到项目实战》

7. 多线程

java 并发

  • Java并发编程实践

    [[(JAVA并发编程之美)笔记]]

  • 《Java 并发编程之美》 :我觉得这本书还是非常适合我们用来学习 Java 多线程的。这本书的讲解非常通俗易懂,作者从并发编程基础到实战都是信手拈来。 另外,这本书的作者加多自身也会经常在网上发布各种技术文章。我觉得这本书也是加多大佬这么多年在多线程领域的沉淀所得的结果吧!他书中的内容基本都是结合代码讲解,非常有说服力!

  • 《实战 Java 高并发程序设计》: 这个是我第二本要推荐的书籍,比较适合作为多线程入门/进阶书籍来看。这本书内容同样是理论结合实战,对于每个知识点的讲解也比较通俗易懂,整体结构也比较清。
    《深入浅出 Java 多线程》:这本书是几位大厂(如阿里)的大佬开源的,Github 地址:https://github.com/RedSpider1/concurrent几位作者为了写好《深入浅出 Java 多线程》这本书阅读了大量的 Java 多线程方面的书籍和博客,然后再加上他们的经验总结、Demo 实例、源码解析,最终才形成了这本书。这本书的质量也是非常过硬!给作者们点个赞!这本书有统一的排版规则和语言风格、清晰的表达方式和逻辑。并且每篇文章初稿写完后,作者们就会互相审校,合并到主分支时所有成员会再次审校,最后再通篇修订了三遍。

  • 《Java 并发编程的艺术》 :这本书不是很适合作为 Java 多线程入门书籍,需要具备一定的 JVM 基础,有些东西讲的还是挺深入的。另外,就我自己阅读这本书的感觉来说,我觉得这本书的章节规划有点杂乱,但是,具体到某个知识点又很棒!这可能也和这本书由三名作者共同编写完成有关系吧!

8. 框架和中间件

中间件和框架

Spring面试题

SpringBoot面试题

zookeeper面试题

netty(nio模型)面试题

dubbo (RPC)面试题

kafka(存储流程)面试题

后台-SpringBoot

Spring Boot 基础

Spring Boot 进阶

Spring、SpringMVC、Hibernate、Mybatis、shiro 等框架的使用, (可选) 熟悉 Spring 原理(大厂面试必备)
SpringBoot ,学好 SpringBoot 真的很重要
(很多公司对于应届生都是直接上手 SpringBoot,不过如果时间允许的话,我还是推荐你把 Spring、SpringMVC 提前学一下)

  1. Spring

    1. Spring 学习与面试
    2. Spring 常见问题总结
    3. Spring中 Bean 的作用域与生命周期
    4. SpringMVC 工作原理详解
    5. Spring中都用到了那些设计模式?

    SpringBoot

    MyBatis

常用框架

Spring/SpringBoot

  • 《Spring 实战(第 4 版)》 :不建议当做入门书籍读,入门的话可以找点国人的书或者视频看。这本定位就相当于是关于 Spring 的新华字典,只有一些基本概念的介绍和示例,涵盖了 Spring 的各个方面,但都不够深入。就像作者在最后一页写的那样:“学习 Spring,这才刚刚开始”。
  • 《Spring源码深度解析 第2版》 :读Spring源码必备的一本书籍。市面上关于Spring源码分析的书籍太少了。
  • 《Spring 5高级编程(第5版)》 :推荐阅读,对于Spring5的新特性介绍的很好!不过内容比较多,可以作为工具书参考。
  • 《精通Spring4.x企业应用开发实战》 :通过实战讲解,比较适合作为Spring入门书籍来看。
  • 《Spring入门经典》 :适合入门,也有很多示例!
    《Spring Boot实战派》 zhihu :这本书使用的Spring Boot 2.0+的版本,还算比较新。整本书采用“知识点+实例”的形式编写。本书通过“58个基于知识的实例+2个综合性的项目”,深入地讲解Spring Boot的技术原理、知识点和具体应用;把晦涩难懂的理论用实例展现出来,使得读者对知识的理解变得非常容易,同时也立即学会如何使用它。说实话,我还是比较推荐这本书的。
  • 《Spring Boot编程思想(核心篇)》 :SpringBoot深入书,不适合初学者。书尤其的厚,这本书的缺点是书的很多知识点的讲解过于啰嗦和拖沓,优点是书中对SpringBoot内部原理讲解很清楚。

Netty

  • 《Netty进阶之路:跟着案例学Netty》 : 这本书的优点是有不少实际的案例的讲解,通过案例来学习是很不错的!
  • 《Netty 4.x 用户指南》 :《Netty 4.x 用户指南》中文翻译(包含了官方文档以及其他文章)。
  • 《Netty 入门与实战:仿写微信 IM 即时通讯系统》 :基于 Netty 框架实现 IM 核心系统,带你深入学习 Netty 网络编程核心知识
  • 《Netty 实战》 :可以作为工具书参考!

Java工具

  • Java se 11中文 api

9. 分布式

学习 Dubbo、Zookeeper来实现简单的分布式服务
学习 Redis 来提高访问速度,减少对 MySQL数据库的依赖;
学习 Elasticsearch 的使用,来为我们的网站增加搜索功能
学习常见的消息队列(比如RabbitMQ、Kafka)来解耦我们的服务(ActiveMq不要学了,已经淘汰);

分布式

  • 《从 Paxos 到 Zookeeper》:简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了 Paxos 和 ZAB 协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解 ZooKeeper,并更好地使用和运维 ZooKeeper。
  • 《RabbitMQ 实战指南》:《RabbitMQ 实战指南》从消息中间件的概念和 RabbitMQ 的历史切入,主要阐述 RabbitMQ 的安装、使用、配置、管理、运维、原理、扩展等方面的细节。如果你想浅尝 RabbitMQ 的使用,这本书是你最好的选择;如果你想深入 RabbitMQ 的原理,这本书也是你最好的选择;总之,如果你想玩转 RabbitMQ,这本书一定是最值得看的书之一
  • 《Spring Cloud 微服务实战》:从时下流行的微服务架构概念出发,详细介绍了 Spring Cloud 针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,《Spring Cloud 微服务实战》主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。

10. 深入学习

可以再回来看一下多线程方面的知识,还可以利用业余时间学习一下 NIO 和 Netty ;
JVM 的一些知识也是必学的(Java 内存区域、虚拟机垃圾算法、虚拟垃圾收集器、JVM 内存管理)推荐《深入理解 Java 虚拟机:JVM 高级特性与最佳实践(最新第二版》和《实战 Java 虚拟机》;

jvm

  • 深入理解Java虚拟机
  • 《实战 JAVA 虚拟机》:作为入门的了解 Java 虚拟机的知识还是不错的。

Java进阶

  • 代码大全
  • 代码整洁之道
  • 敏捷软件开发
  • Effective Java(中文)
  • Effective Java(英文)
  • Java性能优化权威指南
  • [互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析2019.3

代码优化

  • 《重构_改善既有代码的设计》:豆瓣 9.1 分,重构书籍的开山鼻祖。
  • 《Effective java 》:本书介绍了在 Java 编程中很多极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。这篇文章能够非常实际地帮助你写出更加清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。
  • 《代码整洁之道》:虽然是用 Java 语言作为例子,全篇都是在阐述 Java 面向对象的思想,但是其中大部分内容其它语言也能应用到。
  • 阿里巴巴 Java 开发手册 :https://github.com/alibaba/p3c
  • Google Java 编程风格指南: http://www.hawstein.com/posts/google-java-style.html

11. 微服务

网关 :kong,soul;
分布式调用链: SkyWalking、Zipkin
日志系统: Kibana

Spring Cloud 相关:

  1. Eureka:服务注册与发现;
  2. Ribbon:负载均衡;
  3. Hytrix :熔断;
  4. Zuul :网关;
  5. Spring Cloud Config:配置中心;
  • 《SpringCloud 微服务实战》

网站架构

  • 《大型网站技术架构:核心原理与案例分析+李智慧》:这本书我读过,基本不需要你有什么基础啊~读起来特别轻松,但是却可以学到很多东西,非常推荐了。另外我写过这本书的思维导图,关注我的微信公众号:“Java 面试通关手册”回复“大型网站技术架构”即可领取思维导图。
  • 《亿级流量网站架构核心技术》:一书总结并梳理了亿级流量网站高可用和高并发原则,通过实例详细介绍了如何落地这些原则。本书分为四部分:概述、高可用原则、高并发原则、案例实战。从负载均衡、限流、降级、隔离、超时与重试、回滚机制、压测与预案、缓存、池化、异步化、扩容、队列等多方面详细介绍了亿级流量网站的架构核心技术,让读者看后能快速运用到实践项目中。
  • 《从零开始学架构(李运华)》 : 这本书对应的有一个极客时间的专栏—《从零开始学架构》,里面的很多内容都是这个专栏里面的,两者买其一就可以了。我看了很小一部分,内容挺全面的,是一本真正在讲如何做架构的书籍。
  • 《架构修炼之道——亿级网关、平台开放、分布式、微服务、容错等核心技术修炼实践》 :非常喜欢的一本书,对一些知识点比如消息队列、API网管讲解的很好,通俗易懂。

在这里插入图片描述