diff --git a/README.md b/README.md index 8f319f13..2a6e3359 100755 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ ### 基础 -**知识点/面试题** : (必看:+1: ): +**知识点/面试题总结** : (必看:+1: ): 1. [Java 基础常见知识点&面试题总结(上)](docs/java/basis/java-basic-questions-01.md) 2. [Java 基础常见知识点&面试题总结(中)](docs/java/basis/java-basic-questions-02.md) @@ -53,6 +53,7 @@ * [为什么 Java 中只有值传递?](docs/java/basis/why-there-only-value-passing-in-java.md) * [Java 序列化详解](docs/java/basis/serialization.md) +* [泛型&序列化详解](docs/java/basis/generics-and-wildcards.md) * [反射机制详解](docs/java/basis/reflection.md) * [Java 代理模式详解](docs/java/basis/proxy.md) * [IO 模型详解](docs/java/basis/io.md) @@ -60,7 +61,7 @@ ### 集合 -**知识点/面试题** : +**知识点/面试题总结** : 1. [Java 集合常见知识点&面试题总结(上)](docs/java/collection/java-collection-questions-01.md) (必看 :+1:) 2. [Java 集合常见知识点&面试题总结(下)](docs/java/collection/java-collection-questions-02.md) (必看 :+1:) @@ -74,7 +75,7 @@ ### 并发 -**知识点/面试题** : (必看 :+1:) +**知识点/面试题总结** : (必看 :+1:) 1. [Java 并发常见知识点&面试题总结(基础篇)](docs/java/concurrent/java-concurrent-questions-01.md) 2. [Java 并发常见知识点&面试题总结(进阶篇)](docs/java/concurrent/java-concurrent-questions-02.md) @@ -112,8 +113,6 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ## 计算机基础 -👉 **[图解计算机基础 PDF 下载](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100021725&idx=1&sn=2db9664ca25363139a81691043e9fd8f&chksm=4ea19a1679d61300d8990f7e43bfc7f476577a81b712cf0f9c6f6552a8b219bc081efddb5c54#rd)** 。 - ### 操作系统 1. [操作系统常见问题总结!](docs/cs-basics/operating-system/operating-system-basic-questions-01.md) @@ -166,7 +165,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ### MySQL -**总结:** +**知识点/面试题总结:** - **[MySQL知识点总结](docs/database/mysql/mysql-questions-01.md)** (必看 :+1:) - [一千行 MySQL 学习笔记](docs/database/mysql/a-thousand-lines-of-mysql-study-notes.md) @@ -185,8 +184,9 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ### Redis - [Redis 常见问题总结](docs/database/redis/redis-questions-01.md) -- [3种常用的缓存读写策略](docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md) -- [Redis 内存碎片](./docs/database/redis/redis-memory-fragmentation.md) +- [3种常用的缓存读写策略详解](docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md) +- [Redis 内存碎片详解](./docs/database/redis/redis-memory-fragmentation.md) +- [Redis 集群详解](./docs/database/redis/redis-cluster.md) ## 搜索引擎 @@ -218,17 +218,18 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle #### Spring/SpringBoot (必看 :+1:) -**知识点/面试题** : +**知识点/面试题总结** : -1. **[Spring 常见知识点&面试题总结](docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md)** -2. **[SpringBoot 入门指南](https://github.com/Snailclimb/springboot-guide)** +- [Spring 常见知识点&面试题总结](docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md) +- [SpringBoot 常见知识点&面试题总结](docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md) +- [Spring/Spring Boot 常用注解总结](./docs/system-design/framework/spring/spring-common-annotations.md) +- [SpringBoot 入门指南](https://github.com/Snailclimb/springboot-guide) **重要知识点详解** : -1. **[Spring/Spring Boot 常用注解总结!安排!](./docs/system-design/framework/spring/spring-common-annotations.md)** -2. **[Spring 事务总结](docs/system-design/framework/spring/spring-transaction.md)** -3. [Spring 中都用到了那些设计模式?](docs/system-design/framework/spring/spring-design-patterns-summary.md) -4. **[SpringBoot 自动装配原理](docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md)** +- [Spring 事务详解](docs/system-design/framework/spring/spring-transaction.md) +- [Spring 中的设计模式详解](docs/system-design/framework/spring/spring-design-patterns-summary.md) +- [SpringBoot 自动装配原理详解](docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md) #### MyBatis diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 23d37163..b1c4ffec 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -48,7 +48,7 @@ module.exports = defineHopeConfig({ "link", { rel: "stylesheet", - href: "//at.alicdn.com/t/font_2922463_99aa80ii7cf.css", + href: "/iconfont/iconfont.css", }, ], ], diff --git a/docs/.vuepress/navbar.ts b/docs/.vuepress/navbar.ts index b1126803..8b1d3493 100644 --- a/docs/.vuepress/navbar.ts +++ b/docs/.vuepress/navbar.ts @@ -3,13 +3,20 @@ import { defineNavbarConfig } from "vuepress-theme-hope"; export const navbarConfig = defineNavbarConfig([ { text: "面试指南", icon: "java", link: "/home.md" }, { text: "优质专栏", icon: "recommend", link: "/zhuanlan/" }, - { text: "项目精选", icon: "github", link: "/open-source-project/" }, - { text: "书籍精选", icon: "book", link: "/books/" }, + { text: "开源项目", icon: "github", link: "/open-source-project/" }, + { text: "技术书籍", icon: "book", link: "/books/" }, + { text: "技术文章", icon: "article", link: "/high-quality-technical-articles/" }, { - text: "旧版链接", - icon: "java", - link: "https://snailclimb.gitee.io/javaguide/#/", + text: "网站相关", + icon: "info", + children: [ + { text: "走近作者", icon: "zuozhe", link: "/about-the-author/" }, + { + text: "旧版入口", + icon: "java", + link: "https://snailclimb.gitee.io/javaguide/#/", + }, + { text: "RSS", icon: "rss", link: "https://javaguide.cn/feed.json" }, + ], }, - { text: "RSS订阅", icon: "rss", link: "https://javaguide.cn/feed.json" }, - { text: "关于作者", icon: "zuozhe", link: "/about-the-author/" }, ]); diff --git a/docs/.vuepress/public/iconfont/iconfont.css b/docs/.vuepress/public/iconfont/iconfont.css new file mode 100644 index 00000000..2d65f1c0 --- /dev/null +++ b/docs/.vuepress/public/iconfont/iconfont.css @@ -0,0 +1,203 @@ +@font-face { + font-family: "iconfont"; /* Project id 2922463 */ + src: url('iconfont.woff2?t=1655095748938') format('woff2'), + url('iconfont.woff?t=1655095748938') format('woff'), + url('iconfont.ttf?t=1655095748938') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-search:before { + content: "\e7de"; +} + +.icon-featured:before { + content: "\e633"; +} + +.icon-codelibrary-fill:before { + content: "\e84b"; +} + +.icon-tool:before { + content: "\e70c"; +} + +.icon-highavailable:before { + content: "\ea23"; +} + +.icon-big-data:before { + content: "\e632"; +} + +.icon-work:before { + content: "\e8d7"; +} + +.icon-project:before { + content: "\e702"; +} + +.icon-article:before { + content: "\e672"; +} + +.icon-a-MachineLearning:before { + content: "\e617"; +} + +.icon-github:before { + content: "\e673"; +} + +.icon-rss:before { + content: "\e768"; +} + +.icon-mianshi:before { + content: "\e614"; +} + +.icon-et-performance:before { + content: "\e623"; +} + +.icon-virtual_machine:before { + content: "\e73f"; +} + +.icon-basic:before { + content: "\e67b"; +} + +.icon-container:before { + content: "\e641"; +} + +.icon-MQ:before { + content: "\e684"; +} + +.icon-redis:before { + content: "\e619"; +} + +.icon-mysql:before { + content: "\e613"; +} + +.icon-recommend:before { + content: "\e639"; +} + +.icon-chat:before { + content: "\e66a"; +} + +.icon-tips:before { + content: "\e62a"; +} + +.icon-chajian1:before { + content: "\e69d"; +} + +.icon-star:before { + content: "\e61d"; +} + +.icon-docker1:before { + content: "\e659"; +} + +.icon-zuozhe:before { + content: "\e688"; +} + +.icon-pdf:before { + content: "\e740"; +} + +.icon-suanfaku:before { + content: "\e63a"; +} + +.icon-jichushuju:before { + content: "\e60c"; +} + +.icon-people-network-full:before { + content: "\e865"; +} + +.icon-git:before { + content: "\e708"; +} + +.icon-luxianchaxun:before { + content: "\e622"; +} + +.icon-computer:before { + content: "\e601"; +} + +.icon-framework:before { + content: "\e69e"; +} + +.icon-Tools:before { + content: "\ed5f"; +} + +.icon-xitongsheji:before { + content: "\e63e"; +} + +.icon-database:before { + content: "\e8e4"; +} + +.icon-security-fill:before { + content: "\e78b"; +} + +.icon-docker:before { + content: "\e616"; +} + +.icon-java:before { + content: "\e6e0"; +} + +.icon-book:before { + content: "\e7c7"; +} + +.icon-network:before { + content: "\e67a"; +} + +.icon-caozuoxitong:before { + content: "\e686"; +} + +.icon-gaojixiaozuzhibeifen:before { + content: "\e756"; +} + +.icon-distributed-network:before { + content: "\e8d5"; +} + +.icon-intellijidea:before { + content: "\ebd1"; +} + diff --git a/docs/.vuepress/public/iconfont/iconfont.ttf b/docs/.vuepress/public/iconfont/iconfont.ttf new file mode 100644 index 00000000..2d485398 Binary files /dev/null and b/docs/.vuepress/public/iconfont/iconfont.ttf differ diff --git a/docs/.vuepress/public/iconfont/iconfont.woff b/docs/.vuepress/public/iconfont/iconfont.woff new file mode 100644 index 00000000..aaa52180 Binary files /dev/null and b/docs/.vuepress/public/iconfont/iconfont.woff differ diff --git a/docs/.vuepress/public/iconfont/iconfont.woff2 b/docs/.vuepress/public/iconfont/iconfont.woff2 new file mode 100644 index 00000000..4b040376 Binary files /dev/null and b/docs/.vuepress/public/iconfont/iconfont.woff2 differ diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index 97977cfc..791c9c22 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -15,7 +15,6 @@ export const sidebarConfig = defineSidebarConfig({ ], "/books/": [ "cs-basics", - "cs-basic-coureses", "database", "search-engine", "java", @@ -76,7 +75,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "工作", - icon: "work0", + icon: "work", prefix: "work/", collapsable: false, children: ["get-into-work-mode-quickly-when-you-join-a-company"], @@ -111,11 +110,12 @@ export const sidebarConfig = defineSidebarConfig({ "java-basic-questions-03", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "why-there-only-value-passing-in-java", "serialization", + "generics-and-wildcards", "reflection", "proxy", "io", @@ -136,6 +136,7 @@ export const sidebarConfig = defineSidebarConfig({ { text: "源码分析", collapsable: true, + icon: "star", children: [ "arraylist-source-code", "hashmap-source-code", @@ -154,7 +155,7 @@ export const sidebarConfig = defineSidebarConfig({ "java-concurrent-questions-02", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "java-thread-pool-summary", @@ -188,7 +189,7 @@ export const sidebarConfig = defineSidebarConfig({ { text: "新特性", prefix: "new-features/", - icon: "features", + icon: "featured", collapsable: true, children: [ "java8-common-new-features", @@ -265,8 +266,12 @@ export const sidebarConfig = defineSidebarConfig({ prefix: "database/", collapsable: true, children: [ - "basis", - "character-set", + { + text: "基础", + icon: "basic", + collapsable: true, + children: ["basis", "character-set"], + }, { text: "MySQL", prefix: "mysql/", @@ -278,7 +283,7 @@ export const sidebarConfig = defineSidebarConfig({ "mysql-high-performance-optimization-specification-recommendations", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "mysql-index", @@ -298,14 +303,16 @@ export const sidebarConfig = defineSidebarConfig({ icon: "redis", collapsable: true, children: [ + "cache-basics", "redis-questions-01", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "3-commonly-used-cache-read-and-write-strategies", "redis-memory-fragmentation", + "redis-cluster", ], }, ], @@ -314,7 +321,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "开发工具", - icon: "Tools", + icon: "tool", prefix: "tools/", collapsable: true, children: [ @@ -339,6 +346,37 @@ export const sidebarConfig = defineSidebarConfig({ }, ], }, + { + text: "常用框架", + prefix: "system-design/framework/", + icon: "framework", + collapsable: true, + children: [ + { + text: "Spring&Spring Boot", + prefix: "spring/", + collapsable: true, + children: [ + "spring-knowledge-and-questions-summary", + "springboot-knowledge-and-questions-summary", + "spring-common-annotations", + { + text: "重要知识点", + icon: "star", + collapsable: true, + children: [ + "spring-transaction", + "spring-design-patterns-summary", + "spring-boot-auto-assembly-principles", + ], + }, + ], + }, + "mybatis/mybatis-interview", + "netty", + "springcloud/springcloud-intro", + ], + }, { text: "系统设计", icon: "xitongsheji", @@ -353,33 +391,6 @@ export const sidebarConfig = defineSidebarConfig({ collapsable: true, children: ["RESTfulAPI", "naming", "refactoring"], }, - { - text: "常用框架", - prefix: "framework/", - icon: "framework", - collapsable: true, - children: [ - { - text: "Spring", - prefix: "spring/", - collapsable: true, - children: [ - "spring-knowledge-and-questions-summary", - "spring-common-annotations", - "spring-transaction", - "spring-design-patterns-summary", - "spring-boot-auto-assembly-principles", - ], - }, - "mybatis/mybatis-interview", - "netty", - { - text: "SpringCloud", - prefix: "springcloud/", - children: ["springcloud-intro"], - }, - ], - }, { text: "安全", prefix: "security/", @@ -455,7 +466,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "高可用", - icon: "CalendarAvailability-1", + icon: "highavailable", prefix: "high-availability/", collapsable: true, children: [ diff --git a/docs/books/cs-basic-coureses.md b/docs/books/cs-basic-coureses.md deleted file mode 100644 index 42fee641..00000000 --- a/docs/books/cs-basic-coureses.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: 计算机专业基础课 -category: 计算机书籍 ---- - -## 通用课 - -通用课的部分我想分为两大部分来介绍,主要就是数学和英语,一般在大一和大二两学年就可以全部修完,大二大三逐渐接触专业课。通用课作为许多高中生升入大学的第一门课,算是高中阶段到本科阶段的一个过渡,从职业生涯重要性上来说,远不及专业课重要,但是在本科阶段的学习生活规划中,有着非常重要的地位。由于通用课的课程多,学分重,占据了本科阶段绩点的主要部分,影响到学生在前两年的专业排名,也影响到大三结束时的推免资格分配,也就是保研。而从升学角度来看,对于攻读研究生和博士生的小伙伴来说,数学和英语这两大基础课,还是十分有用的。 - -### 数学 - -#### 微积分(高等数学) - -微积分,即传说中的高数,成为了无数新大一心中的痛。但好在,大学的课程考核没那么严格,期末想要拿高分,也不至于像高中那样刷题刷的那么狠。微积分对于计算机专业学生的重要性,主要体现在计算机图形学中的函数变换,机器学习中的梯度算法,信号处理等领域。 - -微积分的知识体系包括微分和积分两部分,一般会先学微分,再学积分,也有的学校把高数分为两个学期。微分就是高中的导数的升级版,对于大一萌新来说还算比较友好。积分恰好是微分的逆运算,思想上对大一萌新来说比较新,一时半会可能接受不了。不过这门课所有的高校都有开设,而且大部分的名校都有配套的网课,教材也都打磨的非常出色,结合网课和教材的“啃书”学习模式,这门课一定不会落下。 - -书籍的话,推荐《普林斯顿微积分读本》。这本书详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155056751.png) - -#### 线性代数(高等代数) - -线性代数的思维模式就更加复杂了一些,它定义了一个全新的数学世界,所有的符号、定理都是全新的,唯一能尝试的去理解的方式,大概就是用几何的方式去理解线性代数了。由于线性代数和几何学有着密不可分的关系,比如空间变换的理论支撑就是线性代数,因此,网上有着各种“可视化学习线性代数”的学习资源,帮助理解线性代数的意义,有助于公式的记忆。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409153940473.png) - -书籍的话,推荐中科大李尚志老师的 **[《线性代数学习指导》](https://book.douban.com/subject/26390093/)** 。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155325251.png) - -#### 概率论与数理统计 - -对于计算机专业的小伙伴来说,这门课可能是概率论更有用一点,而非数理统计。可能某些学校只开设概率论课程,也可能数理统计也教,但仅仅是皮毛。概率论的学习路线和微积分相似,就是一个个公式辅以实例,不像线性代数那么抽象,比较贴近生活。在现在的就业形势下,概率论与数理统计专业的学生,应该是数学专业最好就业的了,他们通常到岗位上会做一些数据分析的工作,因此,**这门课程确实是数据分析的重要前置课程,概率论在机器学习中的重要性也就不言而喻了。** - -书籍的话,推荐 **[《概率论与数理统计教程》](https://book.douban.com/subject/34897672/)** 。这本书共八章,前四章为概率论部分,主要叙述各种概率分布及其性质,后四章为数理统计部分,主要叙述各种参数估计与假设检验。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155738505.png) - -#### 离散数学(集合论、图论、近世代数等) - -离散数学是计算机专业的专属数学,但实际上对于本科毕业找工作的小伙伴来说,离散数学还并没有发挥它的巨大作用。离散数学的作用主要在在图研究等领域,理论性极强,需要读研深造的小伙伴尽可能地扎实掌握。 - -### 英语 - -英语算是大学里面比较灵活的一项技能了,有的人会说,“英语学的越好,对个人发展越有利”,此话说的没错,但是对于一些有着明确发展目标的小伙伴,可能英语技能并不在他们的技能清单内。接下来的这些话只针对计算机专业的小伙伴们哦。 - -英语课在大学本科一般只有前两年开设,小伙伴们可以记住,**想用英语课来提升自己的英语水平的,可以打消这个念头了。** 英语水平的提高全靠自己平时的积累和练习,以及有针对性的刷题。 - -**英语的大学四六级一定要过。** 这是必备技能,绝大部分就业岗位都要看四六级水平的,最起码要通过的。四级比高中英语稍微难一些,一般的小伙伴可能会卡在六级上,六级需要针对性的训练一下,因为大学期间能接触英语的实在太少了,每学期一门英语课是不足以保持自己的英语水平的。对于一些来自于偏远地区,高中英语基础薄弱的,考四六级会更加吃力。建议考前集中训练一下历年真题,辅以背一下高频词汇,四六级通过只需要 425 分,这个分数线还是比较容易达到的。稍微好一点的小伙伴可能冲一下 500 分,要是能考到 600 分的话,那是非常不错的水平了,算是简历上比较有亮点的一项。 - -英语的雅思托福考试只限于想要出国的小伙伴,以及应聘岗位对英语能力有特殊要求的。雅思托福考试裸考不容易通过,花钱去比较靠谱的校外补课班应该是一个比较好的选择。 - -对于计算机专业的小伙伴来说,英语能力还是比较重要的,虽然应聘的时候不会因为没有雅思托福成绩卡人,但是你起码要能够: - -- **熟练使用英文界面的软件、系统等** -- **对于外网的一些博客、bug 解决方案等,阅读无压力** -- **熟练阅读英文文献** -- **具备一定的英文论文的撰写能力** - -毕竟计算机语言就是字符语言,听说读写中最起码要满足**读写**这两项不过分吧。 - -## 编译原理 - -编译原理相比于前面介绍的专业课,地位显得不那么重要了。编译原理的重要性主要体现在: - -- 底层语言、引擎或高级语言的开发,如 MySQL,Java 等 -- 操作系统或嵌入式系统的开发 -- 词法、语法、语义的思想,以及自动机思想 - -**编译原理的重要前置课程就是形式语言与自动机,自动机的思想在词法分析当中有着重要应用,学习了这门课后,应该就会发现许多场景下,自动机算法的妙用了。** - -总的来说,这门课对于各位程序员的职业发展来说,相对不那么重要,但是从难度上来说,学习这门课可以对编程思想有一个较好的巩固。学习资源的话,除了课堂上的幻灯片课件以外,还可以把 《编译原理》 这本书作为参考书,用以辅助自己学不懂的地方(大家口中的龙书,想要啃下来还是有一定难度的)。 - -![](https://img-blog.csdnimg.cn/20210406152148373.png) - -其他书籍推荐: - -- **[《现代编译原理》](https://book.douban.com/subject/30191414/)** :编译原理的入门书。 -- **[《编译器设计》](https://book.douban.com/subject/20436488/)** : 覆盖了编译器从前端到后端的全部主题。 - -我上面推荐的书籍的难度还是比较高的,真心很难坚持看完。这里强烈推荐[哈工大的编译原理视频课程](https://www.icourse163.org/course/HIT-1002123007),真心不错,还是国家精品课程,关键还是又漂亮有温柔的美女老师讲的! - -![](https://img-blog.csdnimg.cn/20210406152847824.png) \ No newline at end of file diff --git a/docs/books/cs-basics.md b/docs/books/cs-basics.md index 0ff3a71e..8eae5051 100644 --- a/docs/books/cs-basics.md +++ b/docs/books/cs-basics.md @@ -1,6 +1,7 @@ --- title: 计算机基础 category: 计算机书籍 +icon: computer head: - - meta - name: keywords @@ -190,4 +191,84 @@ Github 上就有一些名校的计算机网络试验/Project: 视频的话推荐你看浙江大学的国家精品课程—**[《数据结构》](https://www.icourse163.org/course/ZJU-93001#/info)** 。 -姥姥的数据结构讲的非常棒!不过,还是有一些难度的,尤其是课后练习题。 \ No newline at end of file +姥姥的数据结构讲的非常棒!不过,还是有一些难度的,尤其是课后练习题。 + +## 计算机专业基础课 + +数学和英语属于通用课,一般在大一和大二两学年就可以全部修完,大二大三逐渐接触专业课。通用课作为许多高中生升入大学的第一门课,算是高中阶段到本科阶段的一个过渡,从职业生涯重要性上来说,远不及专业课重要,但是在本科阶段的学习生活规划中,有着非常重要的地位。由于通用课的课程多,学分重,占据了本科阶段绩点的主要部分,影响到学生在前两年的专业排名,也影响到大三结束时的推免资格分配,也就是保研。而从升学角度来看,对于攻读研究生和博士生的小伙伴来说,数学和英语这两大基础课,还是十分有用的。 + +### 数学 + +#### 微积分(高等数学) + +微积分,即传说中的高数,成为了无数新大一心中的痛。但好在,大学的课程考核没那么严格,期末想要拿高分,也不至于像高中那样刷题刷的那么狠。微积分对于计算机专业学生的重要性,主要体现在计算机图形学中的函数变换,机器学习中的梯度算法,信号处理等领域。 + +微积分的知识体系包括微分和积分两部分,一般会先学微分,再学积分,也有的学校把高数分为两个学期。微分就是高中的导数的升级版,对于大一萌新来说还算比较友好。积分恰好是微分的逆运算,思想上对大一萌新来说比较新,一时半会可能接受不了。不过这门课所有的高校都有开设,而且大部分的名校都有配套的网课,教材也都打磨的非常出色,结合网课和教材的“啃书”学习模式,这门课一定不会落下。 + +书籍的话,推荐《普林斯顿微积分读本》。这本书详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155056751.png) + +#### 线性代数(高等代数) + +线性代数的思维模式就更加复杂了一些,它定义了一个全新的数学世界,所有的符号、定理都是全新的,唯一能尝试的去理解的方式,大概就是用几何的方式去理解线性代数了。由于线性代数和几何学有着密不可分的关系,比如空间变换的理论支撑就是线性代数,因此,网上有着各种“可视化学习线性代数”的学习资源,帮助理解线性代数的意义,有助于公式的记忆。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409153940473.png) + +书籍的话,推荐中科大李尚志老师的 **[《线性代数学习指导》](https://book.douban.com/subject/26390093/)** 。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155325251.png) + +#### 概率论与数理统计 + +对于计算机专业的小伙伴来说,这门课可能是概率论更有用一点,而非数理统计。可能某些学校只开设概率论课程,也可能数理统计也教,但仅仅是皮毛。概率论的学习路线和微积分相似,就是一个个公式辅以实例,不像线性代数那么抽象,比较贴近生活。在现在的就业形势下,概率论与数理统计专业的学生,应该是数学专业最好就业的了,他们通常到岗位上会做一些数据分析的工作,因此,**这门课程确实是数据分析的重要前置课程,概率论在机器学习中的重要性也就不言而喻了。** + +书籍的话,推荐 **[《概率论与数理统计教程》](https://book.douban.com/subject/34897672/)** 。这本书共八章,前四章为概率论部分,主要叙述各种概率分布及其性质,后四章为数理统计部分,主要叙述各种参数估计与假设检验。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155738505.png) + +#### 离散数学(集合论、图论、近世代数等) + +离散数学是计算机专业的专属数学,但实际上对于本科毕业找工作的小伙伴来说,离散数学还并没有发挥它的巨大作用。离散数学的作用主要在在图研究等领域,理论性极强,需要读研深造的小伙伴尽可能地扎实掌握。 + +### 英语 + +英语算是大学里面比较灵活的一项技能了,有的人会说,“英语学的越好,对个人发展越有利”,此话说的没错,但是对于一些有着明确发展目标的小伙伴,可能英语技能并不在他们的技能清单内。接下来的这些话只针对计算机专业的小伙伴们哦。 + +英语课在大学本科一般只有前两年开设,小伙伴们可以记住,**想用英语课来提升自己的英语水平的,可以打消这个念头了。** 英语水平的提高全靠自己平时的积累和练习,以及有针对性的刷题。 + +**英语的大学四六级一定要过。** 这是必备技能,绝大部分就业岗位都要看四六级水平的,最起码要通过的。四级比高中英语稍微难一些,一般的小伙伴可能会卡在六级上,六级需要针对性的训练一下,因为大学期间能接触英语的实在太少了,每学期一门英语课是不足以保持自己的英语水平的。对于一些来自于偏远地区,高中英语基础薄弱的,考四六级会更加吃力。建议考前集中训练一下历年真题,辅以背一下高频词汇,四六级通过只需要 425 分,这个分数线还是比较容易达到的。稍微好一点的小伙伴可能冲一下 500 分,要是能考到 600 分的话,那是非常不错的水平了,算是简历上比较有亮点的一项。 + +英语的雅思托福考试只限于想要出国的小伙伴,以及应聘岗位对英语能力有特殊要求的。雅思托福考试裸考不容易通过,花钱去比较靠谱的校外补课班应该是一个比较好的选择。 + +对于计算机专业的小伙伴来说,英语能力还是比较重要的,虽然应聘的时候不会因为没有雅思托福成绩卡人,但是你起码要能够: + +- **熟练使用英文界面的软件、系统等** +- **对于外网的一些博客、bug 解决方案等,阅读无压力** +- **熟练阅读英文文献** +- **具备一定的英文论文的撰写能力** + +毕竟计算机语言就是字符语言,听说读写中最起码要满足**读写**这两项不过分吧。 + +### 编译原理 + +编译原理相比于前面介绍的专业课,地位显得不那么重要了。编译原理的重要性主要体现在: + +- 底层语言、引擎或高级语言的开发,如 MySQL,Java 等 +- 操作系统或嵌入式系统的开发 +- 词法、语法、语义的思想,以及自动机思想 + +**编译原理的重要前置课程就是形式语言与自动机,自动机的思想在词法分析当中有着重要应用,学习了这门课后,应该就会发现许多场景下,自动机算法的妙用了。** + +总的来说,这门课对于各位程序员的职业发展来说,相对不那么重要,但是从难度上来说,学习这门课可以对编程思想有一个较好的巩固。学习资源的话,除了课堂上的幻灯片课件以外,还可以把 《编译原理》 这本书作为参考书,用以辅助自己学不懂的地方(大家口中的龙书,想要啃下来还是有一定难度的)。 + +![](https://img-blog.csdnimg.cn/20210406152148373.png) + +其他书籍推荐: + +- **[《现代编译原理》](https://book.douban.com/subject/30191414/)** :编译原理的入门书。 +- **[《编译器设计》](https://book.douban.com/subject/20436488/)** : 覆盖了编译器从前端到后端的全部主题。 + +我上面推荐的书籍的难度还是比较高的,真心很难坚持看完。这里强烈推荐[哈工大的编译原理视频课程](https://www.icourse163.org/course/HIT-1002123007),真心不错,还是国家精品课程,关键还是又漂亮有温柔的美女老师讲的! + +![](https://img-blog.csdnimg.cn/20210406152847824.png) \ No newline at end of file diff --git a/docs/books/database.md b/docs/books/database.md index 07fe2867..3a11b145 100644 --- a/docs/books/database.md +++ b/docs/books/database.md @@ -1,6 +1,7 @@ --- title: 数据库 category: 计算机书籍 +icon: database head: - - meta - name: keywords diff --git a/docs/books/java.md b/docs/books/java.md index 0c7e22e7..2964d531 100644 --- a/docs/books/java.md +++ b/docs/books/java.md @@ -1,6 +1,7 @@ --- title: Java category: 计算机书籍 +icon: java --- ## Java 基础 diff --git a/docs/books/search-engine.md b/docs/books/search-engine.md index 4ac8fe32..d441c34f 100644 --- a/docs/books/search-engine.md +++ b/docs/books/search-engine.md @@ -1,6 +1,7 @@ --- title: 搜索引擎 category: 计算机书籍 +icon: search --- ## Lucene diff --git a/docs/books/software-quality.md b/docs/books/software-quality.md index f65df7f0..ad706874 100644 --- a/docs/books/software-quality.md +++ b/docs/books/software-quality.md @@ -1,6 +1,7 @@ --- title: 软件质量 category: 计算机书籍 +icon: highavailable head: - - meta - name: keywords diff --git a/docs/database/basis.md b/docs/database/basis.md index 19451395..6a926fe3 100644 --- a/docs/database/basis.md +++ b/docs/database/basis.md @@ -1,5 +1,5 @@ --- -title: 数据库基础知识 +title: 数据库基础知识总结 category: 数据库 tag: - 数据库基础 diff --git a/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md b/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md index 00b6535a..c60fa4c5 100644 --- a/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md +++ b/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md @@ -1,5 +1,5 @@ --- -title: 3种常用的缓存读写策略 +title: 3种常用的缓存读写策略详解 category: 数据库 tag: - Redis diff --git a/docs/database/redis/cache-basics.md b/docs/database/redis/cache-basics.md new file mode 100644 index 00000000..d63e6bfd --- /dev/null +++ b/docs/database/redis/cache-basics.md @@ -0,0 +1,26 @@ +--- +title: 缓存基础 +category: 数据库 +tag: + - Redis +--- + +**缓存基础** 为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/database/redis/redis-cluster.md b/docs/database/redis/redis-cluster.md new file mode 100644 index 00000000..5bbf1a22 --- /dev/null +++ b/docs/database/redis/redis-cluster.md @@ -0,0 +1,26 @@ +--- +title: Redis 集群详解 +category: 数据库 +tag: + - Redis +--- + +**Redis 集群** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/database/redis/redis-memory-fragmentation.md b/docs/database/redis/redis-memory-fragmentation.md index 2a4df61f..5005db3c 100644 --- a/docs/database/redis/redis-memory-fragmentation.md +++ b/docs/database/redis/redis-memory-fragmentation.md @@ -1,5 +1,5 @@ --- -title: Redis 内存碎片 +title: Redis 内存碎片详解 category: 数据库 tag: - Redis diff --git a/docs/distributed-system/distributed-transaction.md b/docs/distributed-system/distributed-transaction.md index de735db4..aec037dc 100644 --- a/docs/distributed-system/distributed-transaction.md +++ b/docs/distributed-system/distributed-transaction.md @@ -3,8 +3,22 @@ title: 分布式事务 category: 分布式 --- -分布式事务相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**分布式事务** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/high-availability/cluster.md b/docs/high-availability/cluster.md index 5da34020..a64bc21b 100644 --- a/docs/high-availability/cluster.md +++ b/docs/high-availability/cluster.md @@ -1,3 +1,6 @@ -# 集群 +--- +title: 集群 +category: 高可用 +--- 相同的服务部署多份,避免单点故障。 \ No newline at end of file diff --git a/docs/high-availability/disaster-recovery&remote-live.md b/docs/high-availability/disaster-recovery&remote-live.md index 0b8f87af..82603da0 100644 --- a/docs/high-availability/disaster-recovery&remote-live.md +++ b/docs/high-availability/disaster-recovery&remote-live.md @@ -1,3 +1,5 @@ + + # 灾备设计&异地多活 **灾备** = 容灾+备份。 diff --git a/docs/high-availability/fallback&circuit-breaker.md b/docs/high-availability/fallback&circuit-breaker.md index 18b6fb1f..64508492 100644 --- a/docs/high-availability/fallback&circuit-breaker.md +++ b/docs/high-availability/fallback&circuit-breaker.md @@ -1,7 +1,24 @@ -# 降级&熔断 +--- +title: 降级&熔断 +category: 高可用 +--- -降级&熔断相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**降级&熔断** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/high-availability/high-availability-system-design.md b/docs/high-availability/high-availability-system-design.md index 2fa0f8ae..85e69406 100644 --- a/docs/high-availability/high-availability-system-design.md +++ b/docs/high-availability/high-availability-system-design.md @@ -1,4 +1,7 @@ -# 高可用系统设计 +--- +title: 高可用系统设计指南 +category: 高可用 +--- 一篇短小的文章,面试经常遇到的这个问题。本文主要包括下面这些内容: diff --git a/docs/high-availability/limit-request.md b/docs/high-availability/limit-request.md index 8c93674f..32f7a8f7 100644 --- a/docs/high-availability/limit-request.md +++ b/docs/high-availability/limit-request.md @@ -1,4 +1,7 @@ -# 限流 +--- +title: 限流 +category: 高可用 +--- ## 何为限流?为什么要限流? diff --git a/docs/high-availability/performance-test.md b/docs/high-availability/performance-test.md index dc3ff9ba..bd8c697d 100644 --- a/docs/high-availability/performance-test.md +++ b/docs/high-availability/performance-test.md @@ -1,3 +1,8 @@ +--- +title: 性能测试入门 +category: 高可用 +--- + # 性能测试入门 性能测试一般情况下都是由测试这个职位去做的,那还需要我们开发学这个干嘛呢?了解性能测试的指标、分类以及工具等知识有助于我们更好地去写出性能更好的程序,另外作为开发这个角色,如果你会性能测试的话,相信也会为你的履历加分不少。 diff --git a/docs/java/basis/generics-and-wildcards.md b/docs/java/basis/generics-and-wildcards.md new file mode 100644 index 00000000..43678c3d --- /dev/null +++ b/docs/java/basis/generics-and-wildcards.md @@ -0,0 +1,26 @@ +--- +title: 泛型&序列化详解 +category: Java +tag: + - Java基础 +--- + +**泛型&通配符** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/open-source-project/big-data.md b/docs/open-source-project/big-data.md index b1ea7f03..d36c73e1 100644 --- a/docs/open-source-project/big-data.md +++ b/docs/open-source-project/big-data.md @@ -1,6 +1,7 @@ --- title: 大数据 category: 开源项目 +icon: big-data --- - **[Spark](https://github.com/apache/spark)** :Spark 是用于大规模数据处理的统一分析引擎。 diff --git a/docs/open-source-project/machine-learning.md b/docs/open-source-project/machine-learning.md index 7921c0d1..94e7654d 100644 --- a/docs/open-source-project/machine-learning.md +++ b/docs/open-source-project/machine-learning.md @@ -1,6 +1,7 @@ --- title: 机器学习 category: 开源项目 +icon: a-MachineLearning --- - **[Deeplearning4j](https://github.com/eclipse/deeplearning4j)** : Deeplearning4j 是第一个为 Java 和 Scala 编写的商业级,开源,分布式深度学习库。 diff --git a/docs/open-source-project/practical-project.md b/docs/open-source-project/practical-project.md index 01533aba..c2c80c99 100644 --- a/docs/open-source-project/practical-project.md +++ b/docs/open-source-project/practical-project.md @@ -1,6 +1,7 @@ --- title: 实战项目 category: 开源项目 +icon: project --- ## 博客/论坛/考试系统 diff --git a/docs/open-source-project/system-design.md b/docs/open-source-project/system-design.md index 4c32a71c..06dec122 100644 --- a/docs/open-source-project/system-design.md +++ b/docs/open-source-project/system-design.md @@ -1,6 +1,7 @@ --- title: 系统设计 category: 开源项目 +icon: "xitongsheji" --- ## 基础框架 diff --git a/docs/open-source-project/tool-library.md b/docs/open-source-project/tool-library.md index e27d35e5..f4d23809 100644 --- a/docs/open-source-project/tool-library.md +++ b/docs/open-source-project/tool-library.md @@ -1,6 +1,7 @@ --- title: 工具类库 category: 开源项目 +icon: codelibrary-fill --- ## 代码质量 diff --git a/docs/open-source-project/tools.md b/docs/open-source-project/tools.md index ade85927..a906175b 100644 --- a/docs/open-source-project/tools.md +++ b/docs/open-source-project/tools.md @@ -1,6 +1,7 @@ --- title: 开发工具 category: 开源项目 +icon: tool --- ## Java 相关 diff --git a/docs/open-source-project/tutorial.md b/docs/open-source-project/tutorial.md index b1a632bd..a662f948 100644 --- a/docs/open-source-project/tutorial.md +++ b/docs/open-source-project/tutorial.md @@ -1,6 +1,7 @@ --- -title: 教程 +title: 技术教程 category: 开源项目 +icon: "book" --- ## Java diff --git a/docs/readme.md b/docs/readme.md index 2243e81d..15df3f02 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -16,18 +16,19 @@ footer: |- 鄂ICP备2020015769号-1 | 主题: VuePress Theme Hope --- +## 网站概览 + +- [Java 面试指南](./home.md) :一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide! +- [Java开源项目精选](./open-source-project/readme.md) :收集整理了 Gitee/Github 上非常棒的 Java 开源项目集合。Java 开发必备! +- [Java技术文章精选](/high-quality-technical-articles/) : 精选一些和 Java 相关的优质技术文章,每一篇都值得你阅读 3 遍以上! +- [Java书单精选](/books/) : Java 后端开发值得一读的一些书籍。 +- [走进作者](/about-the-author/) : 个人经历、闲聊杂谈。 + ## 必看专栏 - **[《Java 面试指北》](./zhuanlan/java-mian-shi-zhi-bei.md)** : 与 JavaGuide 开源版的内容互补! - **[《手写 RPC 框架》](./zhuanlan/handwritten-rpc-framework.md)** : 从零开始基于 Netty+Kyro+Zookeeper 实现一个简易的 RPC 框架。 -## 推荐阅读 - -- [Java学习路线](https://zhuanlan.zhihu.com/p/379041500) : 一份涵盖 Java 后端开发必备技能的学习路线!全面且清晰! -- [Java开源项目精选](./open-source-project/readme.md) :收集整理了 Gitee/Github 上非常棒的 Java 开源项目集合。Java 开发必备! -- [Java技术文章精选](/high-quality-technical-articles/) : 精选一些和 Java 相关的优质技术文章,每一篇都值得你阅读 3 遍以上! -- [Java书单精选](https://gitee.com/SnailClimb/awesome-cs) : Java 后端开发值得一读的一些书籍。 - ## PDF - [《JavaGuide 面试突击版》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100029614&idx=1&sn=62993c5cf10265cb7018db7f1ec67250&chksm=4ea1fb6579d67273499b7243641d4ef372decd08047bfbb6dfb5843ef81c7ccba209086cf345#rd) diff --git a/docs/system-design/framework/netty.md b/docs/system-design/framework/netty.md index fcd75b36..ccb64e85 100644 --- a/docs/system-design/framework/netty.md +++ b/docs/system-design/framework/netty.md @@ -3,8 +3,22 @@ title: Netty 知识点&面试题总结 category: 框架 --- -Netty 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**Netty** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md b/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md index 7c4ce3b2..9d620021 100644 --- a/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md +++ b/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md @@ -1,5 +1,5 @@ --- -title: Spring Boot 自动装配原理 +title: SpringBoot 自动装配原理详解 category: 框架 tag: - SpringBoot diff --git a/docs/system-design/framework/spring/spring-common-annotations.md b/docs/system-design/framework/spring/spring-common-annotations.md index 5d1f59b3..2da807ca 100644 --- a/docs/system-design/framework/spring/spring-common-annotations.md +++ b/docs/system-design/framework/spring/spring-common-annotations.md @@ -1,5 +1,5 @@ --- -title: Spring/Spring Boot 常用注解总结! +title: Spring&Spring Boot 常用注解总结! category: 框架 tag: - SpringBoot diff --git a/docs/system-design/framework/spring/spring-design-patterns-summary.md b/docs/system-design/framework/spring/spring-design-patterns-summary.md index d38954df..0f42eab7 100644 --- a/docs/system-design/framework/spring/spring-design-patterns-summary.md +++ b/docs/system-design/framework/spring/spring-design-patterns-summary.md @@ -1,5 +1,5 @@ --- -title: Spring 设计模式总结 +title: Spring 中的设计模式详解 category: 框架 tag: - Spring diff --git a/docs/system-design/framework/spring/spring-transaction.md b/docs/system-design/framework/spring/spring-transaction.md index 8e6f9369..eaada8c8 100644 --- a/docs/system-design/framework/spring/spring-transaction.md +++ b/docs/system-design/framework/spring/spring-transaction.md @@ -1,5 +1,5 @@ --- -title: Spring 事务总结 +title: Spring 事务详解 category: 框架 tag: - Spring diff --git a/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md b/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md new file mode 100644 index 00000000..2d65d244 --- /dev/null +++ b/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md @@ -0,0 +1,26 @@ +--- +title: SpringBoot 常见问题总结 +category: 框架 +tag: + - Spring +--- + +**Spring Boot** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/system-design/schedule-task.md b/docs/system-design/schedule-task.md index 026bfa07..d3f9e8af 100644 --- a/docs/system-design/schedule-task.md +++ b/docs/system-design/schedule-task.md @@ -1,4 +1,4 @@ -# Java定时任务大揭秘 +# Java 定时任务详解 ## 为什么需要定时任务? diff --git a/docs/system-design/system-design-questions.md b/docs/system-design/system-design-questions.md index cdb4489c..0ee0b13e 100644 --- a/docs/system-design/system-design-questions.md +++ b/docs/system-design/system-design-questions.md @@ -3,8 +3,22 @@ title: 系统设计常见面试总结 category: Java面试指北 --- -系统设计相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**系统设计常见面试总结** 为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!