Skip to content

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

Notifications You must be signed in to change notification settings

clown-wang/JavaGuide

 
 

Repository files navigation

推荐你通过在线阅读网站进行阅读,体验更好,速度更快!

  1. 面试专版 :准备面试的小伙伴可以考虑面试专版:《Java 面试进阶指北 》 (质量很高,专为面试打造,配合 JavaGuide 食用)。
  2. 知识星球 :专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 JavaGuide 知识星球(点击链接即可查看星球的详细介绍,一定一定一定确定自己真的需要再加入,一定一定要看完详细介绍之后再加我)。
  3. 转载须知 :以下所有文章如非文首说明为转载皆为我(Guide 哥)的原创,转载在文首注明出处,如发现恶意抄袭/搬运,会动用法律武器维护自己的权益。让我们一起维护一个良好的技术创作环境!

项目相关

Java

基础

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

重要知识点详解

集合

知识点/面试题总结

源码分析

IO

并发

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

重要知识点详解

JVM (必看 👍)

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

新特性

计算机基础

操作系统

网络

知识点/面试题总结

重要知识点详解

数据结构

图解数据结构:

其他常用数据结构 :

算法

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

常见算法问题总结

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

数据库

基础

MySQL

知识点/面试题总结:

重要知识点:

Redis

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

重要知识点:

搜索引擎

用于提高搜索效率,功能和浏览器搜索引擎类似。比较常见的搜索引擎是 Elasticsearch(推荐) 和 Solr。

JavaGuide 官方公众号

开发工具

Docker

Git

系统设计

基础

常用框架

Spring/SpringBoot (必看 👍)

知识点/面试题总结 :

重要知识点详解

MyBatis

MyBatis 常见面试题总结

安全

认证授权

数据脱敏

数据脱敏说的就是我们根据特定的规则对敏感信息数据进行变形,比如我们把手机号、身份证号某些位数使用 * 来代替。

敏感词过滤

敏感词过滤方案总结

定时任务

Java 定时任务详解

Web 实时消息推送

Web 实时消息推送详解

分布式

CAP 理论和 BASE 理论

CAP 理论和 BASE 理论解读

Paxos 算法和 Raft 算法

RPC

API 网关

分布式 id

为什么要分布式 id ?分布式 id 生成方案有哪些?

分布式锁

分布式锁

分布式事务

分布式事务

分布式协调

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

高性能

消息队列

消息队列在分布式系统中主要是为了解耦和削峰。相关阅读: 消息队列常见问题总结

读写分离&分库分表

读写分离&分库分表

负载均衡

负载均衡

CDN

CDN(内容分发网络)

高可用

高可用系统设计指南

限流

何为限流?限流算法有哪些?

降级&熔断

降级&熔断

超时&重试

超时&重试

集群

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

灾备设计和异地多活

灾备 = 容灾+备份。

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

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

Star 趋势

公众号

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

JavaGuide 官方公众号

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%