Skip to content

「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

License

Notifications You must be signed in to change notification settings

Snailclimb/JavaGuide

Repository files navigation

  • 面试专版:准备 Java 面试的小伙伴可以考虑面试专版:《Java 面试指北 》 (质量很高,专为面试打造,配合 JavaGuide 食用)。
  • 知识星球:专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 JavaGuide 知识星球(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。
  • 使用建议 :有水平的面试官都是顺着项目经历挖掘技术问题。一定不要死记硬背技术八股文!详细的学习建议请参考:JavaGuide 使用建议
  • 求个Star:如果觉得 JavaGuide 的内容对你有帮助的话,还请点个免费的 Star,这是对我最大的鼓励,感谢各位一起同行,共勉!Github 地址:https://github.com/Snailclimb/JavaGuide
  • 转载须知:以下所有文章如非文首说明为转载皆为 JavaGuide 原创,转载请在文首注明出处。如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!

面试突击版本

很多同学有“临时突击面试”的需求,所以我专门做了一个 JavaGuide 面试突击版:在 JavaGuide 原有内容基础上做了大幅精简,只保留高频必考重点,并一直持续更新。

在这些“精简后的重点”里,我又额外用 ⭐️ 标出了重点中的重点,方便你优先浏览、快速记忆。

同时提供亮色(白天)和暗色(夜间)PDF,需要打印的同学记得选亮色版本,纸质阅读体验会更好。

如果你时间比较充裕,更推荐直接在 JavaGuide 官网系统学习:内容比突击版更全面、更深入,更适合打基础和长期提升。

突击版本网站入口interview.javaguide.cn

对应的 PDF 版本,可以直接在公众号后台回复“PDF”获取:

JavaGuide 公众号

Java

基础

知识点/面试题总结 : (必看:+1: ):

重要知识点详解

集合

知识点/面试题总结

源码分析

IO

并发

知识点/面试题总结 : (必看 👍)

重要知识点详解

JVM (必看 👍)

JVM 这部分内容主要参考 JVM 虚拟机规范-Java8 和周志明老师的《深入理解 Java 虚拟机(第 3 版)》 (强烈建议阅读多遍!)。

新特性

计算机基础

操作系统

网络

知识点/面试题总结

重要知识点详解

数据结构

图解数据结构:

其他常用数据结构:

算法

算法这部分内容非常重要,如果你不知道如何学习算法的话,可以看下我写的:

常见算法问题总结

另外,GeeksforGeeks 这个网站总结了常见的算法 ,比较全面系统。

数据库

基础

MySQL

知识点/面试题总结:

重要知识点:

Redis

知识点/面试题总结 : (必看:+1: ):

重要知识点:

MongoDB

搜索引擎

Elasticsearch 常见面试题总结(付费)

JavaGuide 官方公众号

开发工具

Maven

Gradle

Gradle 核心概念总结(可选,目前国内还是使用 Maven 普遍一些)

Docker

Git

系统设计

基础

常用框架

Spring/SpringBoot (必看 👍)

知识点/面试题总结 :

重要知识点详解

MyBatis

MyBatis 常见面试题总结

安全

认证授权

数据安全

定时任务

Java 定时任务详解

Web 实时消息推送

Web 实时消息推送详解

分布式

理论&算法&协议

RPC

ZooKeeper

这两篇文章可能有内容重合部分,推荐都看一遍。

API 网关

分布式 ID

分布式锁

分布式事务

分布式事务常见知识点&面试题总结

分布式配置中心

分布式配置中心常见知识点&面试题总结

高性能

数据库优化

负载均衡

负载均衡常见知识点&面试题总结

CDN

CDN(内容分发网络)常见知识点&面试题总结

消息队列

高可用

高可用系统设计指南

冗余设计

冗余设计详解

限流

服务限流详解

降级&熔断

降级&熔断详解

超时&重试

超时&重试详解

集群

相同的服务部署多份,避免单点故障。

灾备设计和异地多活

灾备 = 容灾 + 备份。

  • 备份:将系统所产生的的所有重要数据多备份几份。
  • 容灾:在异地建立两个完全相同的系统。当某个地方的系统突然挂掉,整个应用系统可以切换到另一个,这样系统就可以正常提供服务了。

异地多活 描述的是将服务部署在异地并且服务同时对外提供服务。和传统的灾备设计的最主要区别在于“多活”,即所有站点都是同时在对外提供服务的。异地多活是为了应对突发状况比如火灾、地震等自然或者人为灾害。

Star 趋势

Stars

公众号

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

JavaGuide 公众号

About

「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published