Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[pull] master from Snailclimb:master #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 1 commit into jamxe:master from Snailclimb:master
Dec 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 25 additions & 4 deletions README.md
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,17 +1,38 @@
## 项目介绍

- 这是 [JavaGuide](https://javaguide.cn/) 面试突击版本,适合突击面试的小伙伴。并且,提供了 PDF 下载,方便大家离线阅读/打印,阅读体验非常高。
- 如果你准备面试的时间比较充足的话,建议阅读完整版,针对重要的知识点有更详细的讲解。地址:[javaguide.cn](https://javaguide.cn/)
- 专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 **[JavaGuide 知识星球](./docs/about-the-author/zhishixingqiu-two-years.md)**(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。
- 如果你准备面试的时间比较充足的话,建议阅读完整版,针对重要的知识点有更详细的讲解。地址:**[javaguide.cn](https://javaguide.cn/)**。
- 专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 **[JavaGuide 知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)**(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。

## Java

- [Java基础常见面试题总结](./docs/java/java-basis.md)
- [Java集合常见面试题总结](./docs/java/java-collection.md)
- [Java并发常见面试题总结](./docs/java/java-concurrent.md)
- [JVM常见面试题总结](./docs/java/java-jvm.md)

## 计算机基础

- [计算机网络常见面试题总结](./docs/cs-basics/network.md)
- [操作系统常见面试题总结](./docs/cs-basics/operating-system.md)
- [数据结构常见面试题总结](./docs/cs-basics/data-structure.md)
- [算法常见面试题总结](./docs/cs-basics/algorithms.md)

## 数据库和缓存

- [MySQL常见面试题总结](./docs/database/mysql.md)
- [Redis常见面试题总结](./docs/database/redis.md)

## 系统设计

- [Spring和Spring Boot常见面试题总结](./docs/system-design/spring.md)
- [设计模式常见面试题总结](./docs/system-design/design-pattern.md)

## 公众号

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

![JavaGuide 官方公众号](https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png)
<img src="https://oss.javaguide.cn/github/javaguide/gongzhonghao-javaguide.png" alt="JavaGuide 公众号" style="zoom: 43%; display: block; margin: 0 auto;" />



<!-- #endregion home -->
2 changes: 1 addition & 1 deletion docs/.vuepress/config.ts
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default defineUserConfig({

title: "JavaGuide(面试突击版)",
description:
"Java 学习&面试指南(Go、Python 后端面试通用,计算机基础面试总结)",
"Java 学习&面试指南(Go、Python 后端面试通用,计算机基础面试总结)",
lang: "zh-CN",

head: [
Expand Down
3 changes: 2 additions & 1 deletion docs/.vuepress/navbar.ts
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ import { navbar } from "vuepress-theme-hope";

export default navbar([
{ text: "Java 面试", icon: "java", link: "/home.md" },
{ text: "PDF 下载", icon: "java", link: "https://mp.weixin.qq.com/s/q14qXzdM4KTmawyMi5mFpg" },
{ text: "PDF 下载", icon: "pdf", link: "https://mp.weixin.qq.com/s/q14qXzdM4KTmawyMi5mFpg" },
// { text: "后端面经", icon: "interview", link: "/system-design/design-pattern.md" },
]);
10 changes: 5 additions & 5 deletions docs/.vuepress/sidebar/index.ts
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default sidebar({
text: "项目介绍",
icon: "star",
collapsible: true,
prefix: "javaguide/",
prefix: "intro/",
children: ["faq"],
},
{
Expand Down Expand Up @@ -38,7 +38,7 @@ export default sidebar({
},
{
text: "计算机基础",
icon: "interview",
icon: "computer",
collapsible: false,
prefix: "cs-basics/",
children: [
Expand All @@ -50,17 +50,17 @@ export default sidebar({
},
{
text: "数据库和缓存",
icon: "interview",
icon: "database",
collapsible: false,
prefix: "database/",
children: ["mysql", "redis"],
},
{
text: "系统设计",
icon: "interview",
icon: "design",
collapsible: false,
prefix: "system-design/",
children: ["design-pattern"],
children: ["spring", "design-pattern"],
},
],
});
12 changes: 0 additions & 12 deletions docs/.vuepress/theme.ts
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,6 @@ export default hopeTheme({
align: true,
codeTabs: true,
gfm: true,
include: {
resolvePath: (file, cwd) => {
if (file.startsWith("@"))
return path.resolve(
__dirname,
"../snippets",
file.replace("@", "./"),
);

return path.resolve(cwd, file);
},
},
tasklist: true,
},

Expand Down
18 changes: 11 additions & 7 deletions docs/README.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ home: true
icon: home
title: Java 面试指南
heroImage: /logo.svg
heroText: JavaGuide
tagline: 「Java学习 + 面试指南」涵盖 Java 程序员需要掌握的核心知识
heroText: JavaGuide 面试突击版
tagline: Java 学习&面试指南(Go、Python 后端面试通用,计算机基础面试总结)
actions:
- text: 开始阅读
link: /home.md
type: primary
- text: 知识星球
link: /about-the-author/zhishixingqiu-two-years.md
link: https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html
type: default
footer: |-
<a href="https://beian.miit.gov.cn/" target="_blank">鄂ICP备2020015769号-1</a> | 主题: <a href="https://theme-hope.vuejs.press/" target="_blank">VuePress Theme Hope</a>
Expand All @@ -22,14 +22,18 @@ JavaGuide 已经持续维护 6 年多了,累计提交了接近 **6000** commit

如果觉得 JavaGuide 的内容对你有帮助的话,还请点个免费的 Star(绝不强制点 Star,觉得内容不错有收获再点赞就好),这是对我最大的鼓励,感谢各位一路同行,共勉!传送门:[GitHub](https://github.com/Snailclimb/JavaGuide) | [Gitee](https://gitee.com/SnailClimb/JavaGuide)。

这是 [JavaGuide](https://javaguide.cn/) 面试突击版本,适合突击面试的小伙伴。并且,提供了 PDF 下载,方便大家离线阅读/打印,阅读体验非常高。

如果你准备面试的时间比较充足的话,建议阅读完整版,针对重要的知识点有更详细的讲解。地址:**[javaguide.cn](https://javaguide.cn/)**。

专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 **[JavaGuide 知识星球](./docs/about-the-author/zhishixingqiu-two-years.md)**(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。

## 关于作者

- [我曾经也是网瘾少年](./about-the-author/internet-addiction-teenager.md)
- [害,毕业三年了!](./about-the-author/my-college-life.md)
- [我的知识星球快 3 岁了!](./about-the-author/zhishixingqiu-two-years.md)
- [坚持写技术博客六年了](./about-the-author/writing-technology-blog-six-years.md)
- [我曾经也是网瘾少年](https://javaguide.cn/about-the-author/internet-addiction-teenager.html)
- [害,毕业三年了!](https://javaguide.cn/about-the-author/my-college-life.html)
- [我的知识星球 4 岁了!](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)
- [坚持写技术博客六年了](https://javaguide.cn/about-the-author/writing-technology-blog-six-years.html)

## 公众号

Expand Down
4 changes: 2 additions & 2 deletions docs/database/mysql.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ MyISAM 不提供事务支持。

InnoDB 提供事务支持,实现了 SQL 标准定义了四个隔离级别,具有提交(commit)和回滚(rollback)事务的能力。并且,InnoDB 默认使用的 REPEATABLE-READ(可重读)隔离级别是可以解决幻读问题发生的(基于 MVCC 和 Next-Key Lock)。

关于 MySQL 事务的详细介绍,可以看看我写的这篇文章:[MySQL 事务隔离级别详解](./transaction-isolation-level.md)。
关于 MySQL 事务的详细介绍,可以看看我写的这篇文章:[MySQL 事务隔离级别详解](https://javaguide.cn/database/mysql/transaction-isolation-level.html)。

**3、是否支持外键**

Expand Down Expand Up @@ -357,7 +357,7 @@ MyISAM 不支持,而 InnoDB 支持。

InnoDB 引擎中,其数据文件本身就是索引文件。相比 MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是按 B+Tree 组织的一个索引结构,树的叶节点 data 域保存了完整的数据记录。

详细区别,推荐你看看我写的这篇文章:[MySQL 索引详解](./mysql-index.md)。
详细区别,推荐你看看我写的这篇文章:[MySQL 索引详解](https://javaguide.cn/database/mysql/mysql-index.html)。

**7、性能有差别。**

Expand Down
4 changes: 1 addition & 3 deletions docs/database/redis.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -927,8 +927,6 @@ maxmemory-policy noeviction

关于淘汰策略的详细说明可以参考 Redis 官方文档:<https://redis.io/docs/reference/eviction/>。

<!-- @include: @article-header.snippet.md -->

## Redis 事务

### 什么是 Redis 事务?
Expand Down Expand Up @@ -1214,7 +1212,7 @@ bigkey 通常是由于下面这些原因产生的:

bigkey 除了会消耗更多的内存空间和带宽,还会对性能造成比较大的影响。

在 [Redis 常见阻塞原因总结](./redis-common-blocking-problems-summary.md) 这篇文章中我们提到:大 key 还会造成阻塞问题。具体来说,主要体现在下面三个方面:
在 [Redis 常见阻塞原因总结](https://javaguide.cn/database/redis/redis-common-blocking-problems-summary.html) 这篇文章中我们提到:大 key 还会造成阻塞问题。具体来说,主要体现在下面三个方面:

1. 客户端超时阻塞:由于 Redis 执行命令是单线程处理,然后在操作大 key 时会比较耗时,那么就会阻塞 Redis,从客户端这一视角看,就是很久很久都没有响应。
2. 网络阻塞:每次获取大 key 产生的网络流量较大,如果一个 key 的大小是 1 MB,每秒访问量为 1000,那么每秒会产生 1000MB 的流量,这对于普通千兆网卡的服务器来说是灾难性的。
Expand Down
35 changes: 29 additions & 6 deletions docs/home.md
View file Open in desktop
Original file line number Diff line number Diff line change
@@ -1,19 +1,42 @@
---
icon: creative
title: JavaGuide(Java学习&面试指南)
title: Java 学习&面试指南(Go、Python 后端面试通用,计算机基础面试总结)
---

::: tip 友情提示
## 项目介绍

- **知识星球**:专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 **[JavaGuide 知识星球](https://javaguide.cn/zhuanlan/java-mian-shi-zhi-bei.html)**(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。
- **求个 Star**:如果觉得 JavaGuide 的内容对你有帮助的话,还请点个免费的 Star,这是对我最大的鼓励,感谢各位一起同行,共勉!传送门:[GitHub](https://github.com/Snailclimb/JavaGuide) | [Gitee](https://gitee.com/SnailClimb/JavaGuide)。
- 这是 [JavaGuide](https://javaguide.cn/) 面试突击版本,适合突击面试的小伙伴。并且,提供了 PDF 下载,方便大家离线阅读/打印,阅读体验非常高。
- 如果你准备面试的时间比较充足的话,建议阅读完整版,针对重要的知识点有更详细的讲解。地址:**[javaguide.cn](https://javaguide.cn/)**。
- 专属面试小册/一对一交流/简历修改/专属求职指南,欢迎加入 **[JavaGuide 知识星球](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)**(点击链接即可查看星球的详细介绍,一定确定自己真的需要再加入)。

:::
## Java

- [Java基础常见面试题总结](./java/java-basis.md)
- [Java集合常见面试题总结](./java/java-collection.md)
- [Java并发常见面试题总结](./java/java-concurrent.md)
- [JVM常见面试题总结](./java/java-jvm.md)

## 计算机基础

- [计算机网络常见面试题总结](./cs-basics/network.md)
- [操作系统常见面试题总结](./cs-basics/operating-system.md)
- [数据结构常见面试题总结](./cs-basics/data-structure.md)
- [算法常见面试题总结](./cs-basics/algorithms.md)

## 数据库和缓存

- [MySQL常见面试题总结](./database/mysql.md)
- [Redis常见面试题总结](./database/redis.md)

## 系统设计

- [Spring和Spring Boot常见面试题总结](./system-design/spring.md)
- [设计模式常见面试题总结](./system-design/design-pattern.md)

## 公众号

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

![JavaGuide 官方公众号](https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png)

<!-- #endregion home -->
2 changes: 0 additions & 2 deletions docs/interview-preparation/interview-experience.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,3 @@ icon: experience

1. 参考资料解释的要更详细一些,还可以顺便让你把相关的知识点复习一下。
2. 给出的参考资料基本都是我的原创,假如后续我想对面试问题的答案进行完善,就不需要挨个把之前的面经写的答案给修改了(面试中的很多问题都是比较类似的)。当然了,我的原创文章也不太可能覆盖到面试的每个点,部分面试问题的答案,我是精选的其他技术博主写的优质文章,文章质量都很高。

<!-- @include: @planet.snippet.md -->
4 changes: 2 additions & 2 deletions docs/interview-preparation/project-experience-guide.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ icon: project

我面试过很多求职者,简历上看着有微服务的项目经验,结果随便问两个问题就知道根本不是自己做的或者说做的时候压根没认真思考。这种情况会给我留下非常不好的印象。

我在 **[《Java 面试指北》](../zhuanlan/java-mian-shi-zhi-bei.md)** 的「面试准备篇」中也说过:
我在 **[《Java 面试指北》](https://javaguide.cn/zhuanlan/java-mian-shi-zhi-bei.html)** 的「面试准备篇」中也说过:

> 个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。
>
Expand Down Expand Up @@ -72,7 +72,7 @@ GitHub 或者码云上面有很多实战类别项目,你可以选择一个来

## 有没有还不错的项目推荐?

**[《Java 面试指北》](../zhuanlan/java-mian-shi-zhi-bei.md)** 的「面试准备篇」中有一篇文章专门整理了一些比较高质量的实战项目,包含业务项目、轮子项目、国外公开课 Lab 和视频类实战项目教程推荐,非常适合用来学习或者作为项目经验。
**[《Java 面试指北》](https://javaguide.cn/zhuanlan/java-mian-shi-zhi-bei.html)** 的「面试准备篇」中有一篇文章专门整理了一些比较高质量的实战项目,包含业务项目、轮子项目、国外公开课 Lab 和视频类实战项目教程推荐,非常适合用来学习或者作为项目经验。

![优质 Java 实战项目推荐](https://oss.javaguide.cn/javamianshizhibei/project-experience-guide.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/interview-preparation/resume-guide.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ FAB 法则由下面 3 个单词组成(FAB 法则的名字就是由它们的首

下面是星球提供的部分服务(点击下方图片即可获取知识星球的详细介绍):

[![星球服务](https://oss.javaguide.cn/xingqiu/xingqiufuwu.png)](../about-the-author/zhishixingqiu-two-years.md)
[![星球服务](https://oss.javaguide.cn/xingqiu/xingqiufuwu.png)](https://javaguide.cn/about-the-author/zhishixingqiu-two-years.html)

这里再提供一份限时专属优惠卷:

Expand Down
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,3 @@ icon: security-fill
在面试中如果你实在没有头绪的话,一个好的面试官也是会给你提示的。

![](https://oss.javaguide.cn/xingqiu/image-20220628102848236.png)

<!-- @include: @planet.snippet.md -->
7 changes: 3 additions & 4 deletions docs/intro/faq.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,10 @@ JavaGuide 已经有了在线阅读版本(地址:https://javaguide.cn/),

## 如何获取最新版本?

你可以通过我的公众号获取到 **《JavaGuide 面试突击版》** 的最新版本。
你可以通过我的公众号获取到 **《JavaGuide 面试突击版》** 的最新版本,后台回复"**PDF**"即可!

<img src="https://oss.javaguide.cn/github/javaguide/gongzhonghao-javaguide.png" alt="JavaGuide 公众号" style="zoom: 43%; display: block; margin: 0 auto;" />

<div align="center">
<img src="https://oss.javaguide.cn/github/javaguide/gongzhonghaoxuanchuan.png" style="margin: 0 auto;" />
</div>
## 如何学习本项目?

不论是在线版本还是 PDF 版本都提供了非常详细的目录,建议可以从头到尾看一遍,如果基础不错的话也可以挑自己需要的章节查看。看的过程中自己要多思考,碰到不懂的地方,自己记得要勤搜索,需要记忆的地方也不要吝啬自己的脑子。
Expand Down
Loading

AltStyle によって変換されたページ (->オリジナル) /