Java学习+面试指南--【JavaGuide】

目录

  • Java

    • 基础
    • 容器
    • 并发
    • JVM
    • I/O
    • Java 8
    • 优雅 Java 代码必备实践(Java编程规范)
  • 网络

  • 操作系统

    • Linux相关
  • 数据结构与算法

    • 数据结构
    • 算法
  • 数据库

    • MySQL
    • Redis
    • 数据库扩展
  • 系统设计

    • 常用框架(Spring/SpringBoot、Zookeeper ... )
    • 数据通信/中间件(消息队列、RPC ... )
    • 权限认证
    • 分布式 & 微服务
      • API 网关
      • 配置中心
      • 唯一 id 生成
      • 服务治理:服务注册与发现、服务路由控制
    • 架构
    • 设计模式(工厂模式、单例模式 ... )
  • 面试指南

    • 备战面试
    • 常见面试题总结
    • 面经
  • Java学习常见问题汇总

  • 工具

    • Git
    • Docker
  • 资源

    • 书单
    • Github榜单
  • 待办

  • 说明

Java

基础

  • Java 基础知识回顾
  • Java 基础知识疑难点/易错点
  • 一些重要的Java程序设计题
  • J2EE 基础知识回顾

容器

  • Java容器常见面试题/知识点总结
  • ArrayList 源码学习
  • LinkedList 源码学习
  • HashMap(JDK1.8)源码学习

并发

  • Java 并发基础常见面试题总结
  • Java 并发进阶常见面试题总结
  • 并发容器总结
  • Java线程池学习总结
  • 如何设置线程池大小?
  • 乐观锁与悲观锁
  • JUC 中的 Atomic 原子类总结
  • AQS 原理以及 AQS 同步组件总结

JVM

  • 一 Java内存区域
  • 二 JVM垃圾回收
  • 三 JDK 监控和故障处理工具
  • 四 类文件结构
  • 五 类加载过程
  • 六 类加载器

I/O

  • BIO,NIO,AIO 总结
  • Java IO 与 NIO系列文章

Java 8

  • Java 8 新特性总结
  • Java 8 学习资源推荐
  • Java8 forEach 指南

优雅 Java 代码必备实践(Java编程规范)

  • Java 编程规范以及优雅 Java 代码实践总结

网络

  • 计算机网络常见面试题
  • 计算机网络基础知识总结
  • HTTPS中的TLS

操作系统

Linux相关

  • 后端程序员必备的 Linux 基础知识
  • Shell 编程入门

数据结构与算法

数据结构

  • 数据结构知识学习与面试

算法

  • 算法学习资源推荐
  • 几道常见的字符串算法题总结
  • 几道常见的链表算法题总结
  • 剑指offer部分编程题
  • 公司真题
  • 回溯算法经典案例之N皇后问题

数据库

MySQL

  • 【推荐】MySQL/数据库 知识点总结
  • 阿里巴巴开发手册数据库部分的一些最佳实践
  • 一千行MySQL学习笔记
  • MySQL高性能优化规范建议
  • 数据库索引总结
  • 事务隔离级别(图文详解)
  • 一条SQL语句在MySQL中如何执行的

Redis

  • Redis 总结
  • Redlock分布式锁
  • 如何做可靠的分布式锁,Redlock真的可行么
  • 几种常见的 Redis 集群以及使用场景

数据库扩展

代办......

系统设计

常用框架

Spring/SpringBoot

  • Spring 学习与面试
  • Spring 常见问题总结
  • SpringBoot 指南/常见面试题总结
  • Spring中bean的作用域与生命周期
  • SpringMVC 工作原理详解
  • Spring中都用到了那些设计模式?

ZooKeeper

  • ZooKeeper 相关概念总结
  • ZooKeeper 数据模型和常见命令

数据通信/中间件

  • 数据通信(RESTful、RPC、消息队列)相关知识点总结

RPC

  • Dubbo 总结:关于 Dubbo 的重要知识点
  • 服务之间的调用为啥不直接用 HTTP 而用 RPC?

消息队列

  • 消息队列总结
  • RabbitMQ 入门
  • RocketMQ的几个简单问题与答案
  • Kafka入门看这一篇就够了
  • Kafka系统设计开篇-面试看这篇就够了

权限认证

  • 权限认证基础:区分Authentication,Authorization以及Cookie、Session、Token
  • JWT 优缺点分析以及常见问题解决方案
  • 适合初学者入门 Spring Security With JWT 的 Demo

分布式 & 微服务

  • 分布式应该学什么

API 网关

网关主要用于请求转发、安全认证、协议转换、容灾。

  • 浅析如何设计一个亿级网关(API Gateway)

配置中心

代办......

唯一 id 生成

分布式id生成方案总结

服务治理:服务注册与发现、服务路由控制

代办......

架构

  • 8 张图读懂大型网站技术架构
  • 【面试精选】关于大型网站系统架构你不得不懂的10个问题

设计模式

  • 设计模式系列文章

面试指南

备战面试

  • 【备战面试1】程序员的简历就该这样写
  • 【备战面试2】初出茅庐的程序员该如何准备面试?
  • 【备战面试3】7个大部分程序员在面试前很关心的问题
  • 【备战面试4】Github上开源的Java面试/学习相关的仓库推荐
  • 【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答
  • 【备战面试6】美团面试常见问题总结(附详解答案)
  • 【备战面试7】一些刁难的面试问题总结

常见面试题总结

  • 第一周(2018-8-7) (为什么 Java 中只有值传递、==与equals、 hashCode与equals)
  • 第二周(2018-8-13)(String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?、什么是反射机制?反射机制的应用场景有哪些?......)
  • 第三周(2018-08-22) (Arraylist 与 LinkedList 异同、ArrayList 与 Vector 区别、HashMap的底层实现、HashMap 和 Hashtable 的区别、HashMap 的长度为什么是2的幂次方、HashSet 和 HashMap 区别、ConcurrentHashMap 和 Hashtable 的区别、ConcurrentHashMap线程安全的具体实现方式/底层具体实现、集合框架底层数据结构总结)
  • 第四周(2018-8-30).md (主要内容是几道面试常问的多线程基础题。)

面经

  • 5面阿里,终获offer(2018年秋招)
  • 蚂蚁金服2019实习生面经总结(已拿口头offer)
  • 2019年蚂蚁金服、头条、拼多多的面试总结

Java学习常见问题汇总

  • Java学习路线和方法推荐
  • Java培训四个月能学会吗?
  • 新手学习Java,有哪些Java相关的博客,专栏,和技术学习网站推荐?

工具

Git

  • Git入门

Docker

  • Docker 基本概念解读
  • 一文搞懂 Docker 镜像的常用操作!

其他

  • 阿里云服务器使用经验

资源

书单

  • Java程序员必备书单

实战项目推荐

  • Github 上热门的 Spring Boot 项目实战推荐

Github 历史榜单

  • Java 项目月榜单

待办

  •  Java 多线程类别知识重构(---正在进行中---)
  •  Netty 总结(---正在进行中---)
  •  数据结构总结重构(---正在进行中---)

说明

JavaGuide介绍

  • 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
  • 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。

Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET。

利用 docsify 生成文档部署在 Github pages: docsify 官网介绍

作者的其他开源项目推荐

  1. springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护)。
  2. programmer-advancement : 我觉得技术人员应该有的一些好习惯!
  3. spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。

关于转载

如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。

如何对该开源文档进行贡献

  1. 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。
  2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。
  3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点的修改/补充。

为什么要做这个开源文档?

初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。

投稿

由于我个人能力有限,很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。大家也可以对自己的文章进行自荐,对于不错的文章不仅可以成功在本仓库展示出来更可以获得作者送出的 50 元左右的任意书籍进行奖励(当然你也可以直接折现50元)。

联系我

添加我的微信备注“Github”,回复关键字 “加群” 即可入群。

Contributor

下面是笔主收集的一些对本仓库提过有价值的pr或者issue的朋友,人数较多,如果你也对本仓库提过不错的pr或者issue的话,你可以加我的微信与我联系。下面的排名不分先后!

Java学习+面试指南--【JavaGuide】_第1张图片 Java学习+面试指南--【JavaGuide】_第2张图片 Java学习+面试指南--【JavaGuide】_第3张图片 Java学习+面试指南--【JavaGuide】_第4张图片 Java学习+面试指南--【JavaGuide】_第5张图片 Java学习+面试指南--【JavaGuide】_第6张图片 Java学习+面试指南--【JavaGuide】_第7张图片 Java学习+面试指南--【JavaGuide】_第8张图片 Java学习+面试指南--【JavaGuide】_第9张图片 Java学习+面试指南--【JavaGuide】_第10张图片 " Java学习+面试指南--【JavaGuide】_第11张图片 Java学习+面试指南--【JavaGuide】_第12张图片 Java学习+面试指南--【JavaGuide】_第13张图片 Java学习+面试指南--【JavaGuide】_第14张图片 Java学习+面试指南--【JavaGuide】_第15张图片 Java学习+面试指南--【JavaGuide】_第16张图片 Java学习+面试指南--【JavaGuide】_第17张图片

公众号

如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。

《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 即可免费领取!

Java工程师必备学习资源: 一些Java工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。

你可能感兴趣的:(GitHub优秀开源项目)