Java 学习/面试指南

【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 https://gitee.com/SnailClimb/JavaGuide

 

推荐使用 https://snailclimb.top/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。

目录

  • Java
    • 基础
    • 容器
    • 并发
    • JVM
    • I/O
    • Java 8
    • 编程规范
  • 网络
  • 操作系统
    • Linux相关
  • 数据结构与算法
    • 数据结构
    • 算法
  • 数据库
    • MySQL
    • Redis
  • 系统设计
    • 设计模式
    • 常用框架
    • 数据通信
    • 网站架构
  • 面试指南
    • 备战面试
    • 常见面试题总结
    • 面经
  • 工具
    • Git
    • Docker
  • 资料
    • 书单
    • Github榜单
  • 待办
  • 说明

Java

基础

  • Java 基础知识回顾
  • J2EE 基础知识回顾
  • Collections 工具类和 Arrays 工具类常见方法
  • Java常见关键字总结:static、final、this、super

容器

  • 常见问题总结:
    • 这几道Java集合框架面试题几乎必问
    • Java 集合框架常见面试题总结
  • 源码分析:
    • ArrayList 源码学习
    • 【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
    • LinkedList 源码学习
    • HashMap(JDK1.8)源码学习

并发

  • 并发编程面试必备:synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比
  • 并发编程面试必备:乐观锁与悲观锁
  • 并发编程面试必备:JUC 中的 Atomic 原子类总结
  • 并发编程面试必备:AQS 原理以及 AQS 同步组件总结
  • BATJ都爱问的多线程面试题
  • 并发容器总结

JVM

  • 可能是把Java内存区域讲的最清楚的一篇文章
  • 搞定JVM垃圾回收就是这么简单
  • 《深入理解Java虚拟机》第2版学习笔记

I/O

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

Java 8

  • Java 8 新特性总结
  • Java 8 学习资源推荐

编程规范

  • Java 编程规范

网络

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

操作系统

Linux相关

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

数据结构与算法

数据结构

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

算法

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

数据库

MySQL

  • MySQL 学习与面试
  • 一千行MySQL学习笔记
  • MySQL高性能优化规范建议
  • 搞定数据库索引就是这么简单
  • 事务隔离级别(图文详解)
  • 一条SQL语句在MySQL中如何执行的

Redis

  • Redis 总结
  • Redlock分布式锁
  • 如何做可靠的分布式锁,Redlock真的可行么

系统设计

设计模式

  • 设计模式系列文章

常用框架

Spring

  • Spring 学习与面试
  • Spring中bean的作用域与生命周期
  • SpringMVC 工作原理详解

ZooKeeper

  • 可能是把 ZooKeeper 概念讲的最清楚的一篇文章
  • ZooKeeper 数据模型和常见命令了解一下,速度收藏!

数据通信

  • 数据通信(RESTful、RPC、消息队列)相关知识点总结
  • Dubbo 总结:关于 Dubbo 的重要知识点
  • 消息队列总结:新手也能看懂,消息队列其实很简单
  • 一文搞懂 RabbitMQ 的重要概念以及安装

网站架构

  • 一文读懂分布式应该学什么
  • 8 张图读懂大型网站技术架构
  • 【面试精选】关于大型网站系统架构你不得不懂的10个问题

面试指南

备战面试

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

常见面试题总结

  • 第一周(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)

工具

Git

  • Git入门

Docker

  • Docker 入门
  • 一文搞懂 Docker 镜像的常用操作!

资料

书单

  • Java程序员必备书单

Github榜单

  • Java 项目月榜单

待办

  •  Java 8 新特性总结
  •  Java 8 新特性详解
  •  Java 多线程类别知识重构(---正在进行中---)
  •  BIO,NIO,AIO 总结
  •  Netty 总结(---正在进行中---)
  •  数据结构总结重构(---正在进行中---)

说明

介绍

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

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

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

关于转载

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

 

 

你可能感兴趣的:(bigdata)