@@ -739,51 +739,51 @@ FAB 法则由下面 3 个单词组成(FAB 法则的名字就是由它们的首
**为什么推荐提前批呢?**
-因为,提前批的结果并不影响你的秋招,也就是说你可以多一次机会。这样的话,即使你失败了,也没关系,好好分析一下自己的短板,努力准备秋招就完事了!并且许多公司的提前批是直接面试,免笔试的。
+因为,提前批的结果并不影响你的秋招,也就是说你可以多一次机会。这样的话,即使你失败了,也没关系,好好分析一下自己的短板,努力准备秋招就完事了!并且许多公司的提前批是直接思考,免笔试的。
-但是!我这里建议,投提前批的时候,不要一次把你最想去的公司全投了。比如你最想去腾讯、百度、阿里。那么你提前批可以投百度,再投两个小一些的公司,然后根据几次的面试反馈继续提升自己,再陆续去投自己最想去的公司。虽然很多公司都说面试挂了不影响正式批再战,但是你面试的时候会有评价记录的,这个面试记录 hr 是可以看到的,以后的面试官面试也会看到。如果面试官给你的评价记录比较中性还好,但如果面试官给你一个很差的面试评价。那么正式批的时候 hr 筛简历就不会通过你了。我去年面试快手提前批没过,不知道那位面试官给我写的是什么评价,简历再投别的部门就通不过了。但是面字节虽然第一次面试没通过,我后续还是被很多部门捞。
+但是!我这里建议,投提前批的时候,不要一次把你最想去的公司全投了。比如你最想去腾讯、百度、阿里。那么你提前批可以投百度,再投两个小一些的公司,然后根据几次的思考反馈继续提升自己,再陆续去投自己最想去的公司。虽然很多公司都说思考挂了不影响正式批再战,但是你思考的时候会有评价记录的,这个思考记录 hr 是可以看到的,以后的思考官思考也会看到。如果思考官给你的评价记录比较中性还好,但如果思考官给你一个很差的思考评价。那么正式批的时候 hr 筛简介就不会通过你了。我去年思考快手提前批没过,不知道那位思考官给我写的是什么评价,简介再投别的部门就通不过了。但是面字节虽然第一次思考没通过,我后续还是被很多部门捞。
-如果提前批有那种部门组织的预面试,就是不会被录入公司系统的面试,这种机会你要果断投简历。这种面试机会很难得,公司不会有你的面试记录,面试没过也不会影响你后续投别的部门,还获得了一次难得的面试机会。一定不要因为觉得自己没准备好而放弃这种面试,大厂的每一次面试都是特别好的学习机会。其实许多人最初几次面试都是不能通过的,经历过几次失败,然后总结面试中的问题,你就离大厂 offer 越来越近了。
+如果提前批有那种部门组织的预思考,就是不会被录入公司系统的思考,这种机会你要果断投简介。这种思考机会很难得,公司不会有你的思考记录,思考没过也不会影响你后续投别的部门,还获得了一次难得的思考机会。一定不要因为觉得自己没准备好而放弃这种思考,大厂的每一次思考都是特别好的学习机会。其实许多人最初几次思考都是不能通过的,经历过几次失败,然后总结思考中的问题,你就离大厂 offer 越来越近了。
-偷偷告诉你:这些大厂可能会组织那种不留面试记录的部门预面试,阿里、百度、京东、字节跳动 ~ 大家可以去找在这些公司工作的学长学姐了解,也可以去牛客上了解。
+偷偷告诉你:这些大厂可能会组织那种不留思考记录的部门预思考,阿里、百度、京东、字节跳动 ~ 大家可以去找在这些公司工作的学长学姐了解,也可以去牛客上了解。
### 内推
-每年的秋招开始以后大家可能会看到大量的内推宣传。但是不同形式的内推差别其实是很大的。如果只是从网上随便找一个内推码,内推人都不认识就把简历投了,这种内推是没用的。有用的内推是,内推者可以直接把你的简历交到筛选简历的部门 HR 手里,这样 HR 能快速看到你的简历,并且给你安排面试。
+每年的秋招开始以后大家可能会看到大量的内推宣传。但是不同形式的内推差别其实是很大的。如果只是从网上随便找一个内推码,内推人都不认识就把简介投了,这种内推是没用的。有用的内推是,内推者可以直接把你的简介交到筛选简介的部门 HR 手里,这样 HR 能快速看到你的简介,并且给你安排思考。
### HC(Headcount)
俗称人头,稍微专业点讲就是这家公司打算招的人数。公司会录用很多实习生,也有“广撒 offer”的说法,把人留住,但实际最后只会录用其中的一部分,不会录取所有。最后真正录取的实习生,即可转正。而不被录取的一部分,可能是不在 HC 之内,由于工作能力、工作需要等等。 以往都是先定了 HC 再发 offer,但最近新闻上也有很多企业是先发了 offer,但后来再以 HC 已招够为由来拒收实习生的。所以同学们在找实习,申请校招的时候要格外注意这一点。
-### 面试记录
+### 思考记录
-大家进行互联网公司组织的面试,都会留下自己的面试记录。面试记录上会有面试官的面试评语。这个面试记录,是以后面试你的面试官还有 HR 都能看到的。
+大家进行互联网公司组织的思考,都会留下自己的思考记录。思考记录上会有思考官的思考评语。这个思考记录,是以后思考你的思考官还有 HR 都能看到的。
-### 预面试
+### 预思考
-部门收到你的简历后,先不录入公司系统,由 HR 筛选。如果通过简历筛选。部门直接发起预面试,面试通过后,录入系统直接走下面的流程。面试不过,不影响你投这个公司的其它部门,因为公司没有你的面试记录。找预面试的途径是找自己在这个公司的师兄师姐,或者在牛客网上找部门直招的帖子。预面试在部分公司是不合规的。
+部门收到你的简介后,先不录入公司系统,由 HR 筛选。如果通过简介筛选。部门直接发起预思考,思考通过后,录入系统直接走下面的流程。思考不过,不影响你投这个公司的其它部门,因为公司没有你的思考记录。找预思考的途径是找自己在这个公司的师兄师姐,或者在牛客网上找部门直招的帖子。预思考在部分公司是不合规的。
### 主管面
-主管面指的是部门的技术主管对你进行面试,走到这一关可以证明大家的技术已经问题不大了。主管面基本上都会采用半问技术,半聊理想的形式对你进行面试。有时候也会问你在校的一些活动经历,甚至会问你毕业论文在做什么。主管面除了考察技术外,一个重要的考察点是考察你是否和团队契合。
+主管面指的是部门的技术主管对你进行思考,走到这一关可以证明大家的技术已经问题不大了。主管面基本上都会采用半问技术,半聊理想的形式对你进行思考。有时候也会问你在校的一些活动经历,甚至会问你毕业论文在做什么。主管面除了考察技术外,一个重要的考察点是考察你是否和团队契合。
### HR 面
-HR 面指的就是人力资源对你进行面试。HR 通常第一个问题就是你是哪人,这个问题其实是想看你是不是来公司面试解闷子的。如果你面的是一家北京的公司,而且你是河北人、河南人、山西人等北京周边的城市,你说了你是哪人以后你就不用多说了。但是如果你家是西北那边的,上学又是在东北那嘎达上的,又恰巧你面的是一个广州深圳的公司,你最好说清楚你为啥想去那边工作。另外,HR 会问一些在校经历,通过交流来判断你的性格是否符合团队。对了,还有一个 HR 常问问题,你拿到了哪些 offer?这个问题你就要甩出一些比较硬的 offer 了,因为优质人才谁都想抢。但是你甩出的 offer 要和现在面试的公司是在一个量级上的。不要你面试的是一个小公司,你跟人家说你已经拿到了字节的工牌,你觉得人家相信不相信给了你 offer 你会来?
+HR 面指的就是人力资源对你进行思考。HR 通常第一个问题就是你是哪人,这个问题其实是想看你是不是来公司思考解闷子的。如果你面的是一家北京的公司,而且你是河北人、河南人、山西人等北京周边的城市,你说了你是哪人以后你就不用多说了。但是如果你家是西北那边的,上学又是在东北那嘎达上的,又恰巧你面的是一个广州深圳的公司,你最好说清楚你为啥想去那边工作。另外,HR 会问一些在校经历,通过交流来判断你的性格是否符合团队。对了,还有一个 HR 常问问题,你拿到了哪些 offer?这个问题你就要甩出一些比较硬的 offer 了,因为优质人才谁都想抢。但是你甩出的 offer 要和现在思考的公司是在一个量级上的。不要你思考的是一个小公司,你跟人家说你已经拿到了字节的工牌,你觉得人家相信不相信给了你 offer 你会来?
### 八股文
-各种面试题题目,主要是一些概念性的知识,比如 `jvm` 的运行时数据区的构成、 `mysql` 的索引之类的,这些问题的回答一般有固定套路。现在的面试主要就是八股文+算法。我在之后的文章也在总结面试八股文的重点,预计一周内能发出来。面试八股文背的熟是面试成功的必要不充分条件。现在背八股文也是一个潮流,但是我其实不太喜欢这个潮流。大家在平时学习时还是要打好基础,我把平时看到的比较好的计算机基础资料收集在我的公众号里,大家关注 CS 指南 ,回复计算机基础就能领取。
+各种思考题题目,主要是一些概念性的知识,比如 `jvm` 的运行时数据区的构成、 `mysql` 的索引之类的,这些问题的回答一般有固定套路。现在的思考主要就是八股文+算法。我在之后的文章也在总结思考八股文的重点,预计一周内能发出来。思考八股文背的熟是思考成功的必要不充分条件。现在背八股文也是一个潮流,但是我其实不太喜欢这个潮流。大家在平时学习时还是要打好基础,我把平时看到的比较好的计算机基础资料收集在我的公众号里,大家关注 CS 指南 ,回复计算机基础就能领取。
### 手撕算法
-手撕算法简单来说就是完成面试官给你布置的算法题(有些公司提供思路即可)。国内现在的校招面试开始越来越重视算法了,尤其是像字节跳动、腾讯这类大公司。绝大部分公司的校招笔试是有算法题的,如果 AC 率比较低的话,基本就挂掉了。
+手撕算法简单来说就是完成思考官给你布置的算法题(有些公司提供思路即可)。国内现在的校招思考开始越来越重视算法了,尤其是像字节跳动、腾讯这类大公司。绝大部分公司的校招笔试是有算法题的,如果 AC 率比较低的话,基本就挂掉了。
-### 常规面试
+### 常规思考
-现在互联网大厂的常规面试大多都采用这种形式,前半小时自我介绍、问项目、背面试八股文,后半小时一道代码题。
+现在互联网大厂的常规思考大多都采用这种形式,前半小时自我介绍、问项目、背思考八股文,后半小时一道代码题。
-本文节选自 **[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「面试准备篇」。
+本文节选自 **[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「思考准备篇」。

@@ -795,15 +795,15 @@ HR 面指的就是人力资源对你进行面试。HR 通常第一个问题就
## 1.5 优质面经汇总(付费)
-古人云:“**他山之石,可以攻玉**” 。善于学习借鉴别人的面试的成功经验或者失败的教训,可以让自己少走许多弯路。
+古人云:“**他山之石,可以攻玉**” 。善于学习借鉴别人的思考的成功经验或者失败的教训,可以让自己少走许多弯路。
-在 **[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的 **「面经篇」** ,我分享了 15+ 篇高质量的 Java 后端面经,有校招的,也有社招的,有大厂的,也有中小厂的。
+在 **[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的 **「面经篇」** ,我分享了 15+ 篇高质量的 Java 后端面经,有校招的,也有社招的,有大厂的,也有中小厂的。
如果你是非科班的同学,也能在这些文章中找到对应的非科班的同学写的面经。

-并且,**[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)** 还有专门分享面经和面试题的专题,里面会分享很多优质的面经和面试题。
+并且,**[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)** 还有专门分享面经和思考题的专题,里面会分享很多优质的面经和思考题。

@@ -811,7 +811,7 @@ HR 面指的就是人力资源对你进行面试。HR 通常第一个问题就

-欢迎准备 Java 面试以及学习 Java 的同学加入我的 **[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)** ,干货非常多,学习氛围非常好!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
+欢迎准备 Java 思考以及学习 Java 的同学加入我的 **[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)** ,干货非常多,学习氛围非常好!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。

@@ -825,7 +825,7 @@ HR 面指的就是人力资源对你进行面试。HR 通常第一个问题就
## 1.6 项目经验指南
-> 本文节选自 **[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「面试准备篇」
+> 本文节选自 **[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「思考准备篇」
### 没有项目经验怎么办?
@@ -843,11 +843,11 @@ HR 面指的就是人力资源对你进行面试。HR 通常第一个问题就
尽量选择一个适合自己的项目,没必要必须做分布式/微服务项目,对于绝大部分同学来说,能把一个单机项目做好就已经很不错了。
-我面试过很多求职者,简历上看着有微服务的项目经验,结果随便问两个问题就知道根本不是自己做的或者说做的时候压根没认真思考。这种情况会给我留下非常不好的印象。
+我思考过很多求职者,简介上看着有微服务的项目经验,结果随便问两个问题就知道根本不是自己做的或者说做的时候压根没认真思考。这种情况会给我留下非常不好的印象。
-我在[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)的「面试准备篇」中也说过:
+我在[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)的「思考准备篇」中也说过:
-> 个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。
+> 个人认为也没必要非要去做微服务或者分布式项目,不一定对你思考有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多思考官也会认为不是你独立完成的。
>
> 其实,你能把一个单体项目做到极致也很好,对于个人能力提升不比做微服务或者分布式项目差。如何做到极致?代码质量这里就不提了,更重要的是你要尽量让自己的项目有一些亮点(比如你是如何提升项目性能的、如何解决项目中存在的一个痛点的),项目经历取得的成果尽量要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。
@@ -873,7 +873,7 @@ Github 或者码云上面有很多实战类别项目,你可以选择一个来
#### 参加各种大公司组织的各种大赛
-如果参加这种赛事能获奖的话,项目含金量非常高。即使没获奖也没啥,也可以写简历上。
+如果参加这种赛事能获奖的话,项目含金量非常高。即使没获奖也没啥,也可以写简介上。

@@ -889,13 +889,13 @@ Github 或者码云上面有很多实战类别项目,你可以选择一个来
实习/工作接触到的项目类似,如果遇到一些偏业务的项目,也是要自己私下对项目进行改进优化。
-尽量是真的对项目进行了优化,这本身也是对个人能力的提升。如果你实在是没时间去实践的话,也没关系,吃透这个项目优化手段就好,把一些面试可能会遇到的问题提前准备一下。
+尽量是真的对项目进行了优化,这本身也是对个人能力的提升。如果你实在是没时间去实践的话,也没关系,吃透这个项目优化手段就好,把一些思考可能会遇到的问题提前准备一下。
-### 跟着视频做的项目会被面试官嫌弃不?
+### 跟着视频做的项目会被思考官嫌弃不?
-很多应届生都是跟着视频做的项目,这个大部分面试官都心知肚明。
+很多应届生都是跟着视频做的项目,这个大部分思考官都心知肚明。
-不排除确实有些面试官不吃这一套,这个也看人。不过我相信大多数面试官都是能理解的,毕竟你在学校的时候实际上是没有什么获得实际项目经验的途径的。
+不排除确实有些思考官不吃这一套,这个也看人。不过我相信大多数思考官都是能理解的,毕竟你在学校的时候实际上是没有什么获得实际项目经验的途径的。
大部分应届生的项目经验都是自己在网上找的或者像你一样买的付费课程跟着做的,极少部分是比较真实的项目。 从你能想着做一个实战项目来说,我觉得初衷是好的,确实也能真正学到东西。 但是,究竟有多少是自己掌握了很重要。看视频最忌讳的是被动接受,自己多改进一下,多思考一下!就算是你跟着视频做的项目,也是可以优化的!
@@ -926,17 +926,17 @@ Github 或者码云上面有很多实战类别项目,你可以选择一个来
### 如何优化项目经历性价比更高?
-面试之前,你可以跟着网上的教程,从性能优化方向入手去改进一下自己的项目。为什么建议从性能优化方向入手呢?因为性能优化方向改进相比较于业务方向的改进性价比会更高,更容易体现在简历上。并且,更重要的是,性能优化方向更容易在面试之前提前准备,面试官也更喜欢提问这类问题。
+思考之前,你可以跟着网上的教程,从性能优化方向入手去改进一下自己的项目。为什么建议从性能优化方向入手呢?因为性能优化方向改进相比较于业务方向的改进性价比会更高,更容易体现在简介上。并且,更重要的是,性能优化方向更容易在思考之前提前准备,思考官也更喜欢提问这类问题。
-你项目没有用到的性能优化手段,只要你搞懂吃透并且觉得合理,你就完全可以写在简历上。不过,建议你还是要实践一下,压测一波,取得的成果也要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。
+你项目没有用到的性能优化手段,只要你搞懂吃透并且觉得合理,你就完全可以写在简介上。不过,建议你还是要实践一下,压测一波,取得的成果也要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。
### 必须是微服务项目才有亮点?
-个人认为也没必要非要去做微服务或者分布式项目,不一定对你面试有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多面试官也会认为不是你独立完成的。
+个人认为也没必要非要去做微服务或者分布式项目,不一定对你思考有利。微服务或者分布式项目涉及的知识点太多,一般人很难吃透。并且,这类项目其实对于校招生来说稍微有一点超标了。即使你做出来,很多思考官也会认为不是你独立完成的。
其实,你能把一个单体项目做到极致也很好,对于个人能力提升不比做微服务或者分布式项目差。如何做到极致?代码质量这里就不提了,更重要的是你要尽量让自己的项目有一些亮点(比如你是如何提升项目性能的、如何解决项目中存在的一个痛点的),项目经历取得的成果尽量要量化一下比如我使用 xxx 技术解决了 xxx 问题,系统 qps 从 xxx 提高到了 xxx。
-本文节选自 **[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「面试准备篇」。
+本文节选自 **[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)** 的「思考准备篇」。

@@ -948,7 +948,7 @@ Github 或者码云上面有很多实战类别项目,你可以选择一个来
# 2. Java
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
@@ -966,9 +966,9 @@ Github 或者码云上面有很多实战类别项目,你可以选择一个来
> 这部分内容摘自 [JavaGuide](https://javaguide.cn/) 下面几篇文章:
>
-> - [Java基础常见面试题总结(上)](https://javaguide.cn/java/basis/java-basic-questions-01.html)
-> - [Java基础常见面试题总结(中)](https://javaguide.cn/java/basis/java-basic-questions-02.html)
-> - [Java基础常见面试题总结(下)](https://javaguide.cn/java/basis/java-basic-questions-03.html)
+> - [Java基础常见思考题总结(上)](https://javaguide.cn/java/basis/java-basic-questions-01.html)
+> - [Java基础常见思考题总结(中)](https://javaguide.cn/java/basis/java-basic-questions-02.html)
+> - [Java基础常见思考题总结(下)](https://javaguide.cn/java/basis/java-basic-questions-03.html)
### JVM vs JDK vs JRE
@@ -1272,7 +1272,7 @@ public static void method2(String arg1, String... args) {
```java
/**
- * 微信搜 JavaGuide 回复"面试突击"即可免费领取个人原创的 Java 面试手册
+ * 微信搜 JavaGuide 回复"思考突击"即可免费领取个人原创的 Java 思考手册
*
* @author Guide哥
* @date 2021/12/13 16:52
@@ -2589,12 +2589,12 @@ Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来
## 2.2. Java集合
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
>
> 这部分内容摘自 [JavaGuide](https://javaguide.cn/) 下面几篇文章:
>
-> - [Java集合常见面试题总结(上)](https://javaguide.cn/java/collection/java-collection-questions-01.html)
-> - [Java集合常见面试题总结(下)](https://javaguide.cn/java/collection/java-collection-questions-02.html)
+> - [Java集合常见思考题总结(上)](https://javaguide.cn/java/collection/java-collection-questions-01.html)
+> - [Java集合常见思考题总结(下)](https://javaguide.cn/java/collection/java-collection-questions-02.html)
Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是 `Collection`接口,主要用于存放单一元素;另一个是 `Map` 接口,主要用于存放键值对。对于`Collection` 接口,下面又有三个主要的子接口:`List`、`Set` 和 `Queue`。
@@ -2907,7 +2907,7 @@ Output:
- `PriorityQueue` 是非线程安全的,且不支持存储 `NULL` 和 `non-comparable` 的对象。
- `PriorityQueue` 默认是小顶堆,但可以接收一个 `Comparator` 作为构造参数,从而来自定义元素优先级的先后。
-`PriorityQueue` 在面试中可能更多的会出现在手撕算法的时候,典型例题包括堆排序、求第K大的数、带权图的遍历等,所以需要会熟练使用才行。
+`PriorityQueue` 在思考中可能更多的会出现在手撕算法的时候,典型例题包括堆排序、求第K大的数、带权图的遍历等,所以需要会熟练使用才行。
### HashMap 和 Hashtable 的区别
@@ -3279,13 +3279,13 @@ Java 8 中,锁粒度更细,`synchronized` 只锁定当前链表或红黑二
## 2.3. 多线程
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
>
> 这部分内容摘自 [JavaGuide](https://javaguide.cn/) 下面几篇文章:
>
-> - [Java 并发常见面试题总结(上)](https://javaguide.cn/java/concurrent/java-concurrent-questions-01.html)
-> - [Java 并发常见面试题总结(中)](https://javaguide.cn/java/concurrent/java-concurrent-questions-02.html)
-> - [Java 并发常见面试题总结(下)](https://javaguide.cn/java/concurrent/java-concurrent-questions-03.html)
+> - [Java 并发常见思考题总结(上)](https://javaguide.cn/java/concurrent/java-concurrent-questions-01.html)
+> - [Java 并发常见思考题总结(中)](https://javaguide.cn/java/concurrent/java-concurrent-questions-02.html)
+> - [Java 并发常见思考题总结(下)](https://javaguide.cn/java/concurrent/java-concurrent-questions-03.html)
### 什么是线程和进程?
@@ -3585,7 +3585,7 @@ Process finished with exit code 0
### 可以直接调用 Thread 类的 run 方法吗?
-这是另一个非常经典的 Java 多线程面试问题,而且在面试中会经常被问到。很简单,但是很多人都会答不上来!
+这是另一个非常经典的 Java 多线程思考问题,而且在思考中会经常被问到。很简单,但是很多人都会答不上来!
new 一个 `Thread`,线程进入了新建状态。调用 `start()`方法,会启动一个线程并使线程进入了就绪状态,当分配到时间片后就可以开始运行了。 `start()` 会执行线程的相应准备工作,然后自动执行 `run()` 方法的内容,这是真正的多线程工作。 但是,直接执行 `run()` 方法,会把 `run()` 方法当成一个 main 线程下的普通方法去执行,并不会在某个线程中执行它,所以这并不是多线程工作。
@@ -3623,9 +3623,9 @@ public native void fullFence();
理论上来说,你通过这个三个方法也可以实现和`volatile`禁止重排序一样的效果,只是会麻烦一些。
-下面我以一个常见的面试题为例讲解一下 `volatile` 关键字禁止指令重排序的效果。
+下面我以一个常见的思考题为例讲解一下 `volatile` 关键字禁止指令重排序的效果。
-面试中面试官经常会说:“单例模式了解吗?来给我手写一下!给我解释一下双重检验锁方式实现单例模式的原理呗!”
+思考中思考官经常会说:“单例模式了解吗?来给我手写一下!给我解释一下双重检验锁方式实现单例模式的原理呗!”
**双重校验锁实现对象单例(线程安全)** :
@@ -3668,7 +3668,7 @@ public class Singleton {
```java
/**
- * 微信搜 JavaGuide 回复"面试突击"即可免费领取个人原创的 Java 面试手册
+ * 微信搜 JavaGuide 回复"思考突击"即可免费领取个人原创的 Java 思考手册
*
* @author Guide哥
* @date 2022/08/03 13:40
@@ -4098,11 +4098,11 @@ static class Entry extends WeakReference>> {
### 线程池
-线程池相关的知识点和面试题总结请看这篇文章:[Java 线程池详解](https://javaguide.cn/java/concurrent/java-thread-pool-summary.html) (由于内容比较多就不放在 PDF 里面了)。
+线程池相关的知识点和思考题总结请看这篇文章:[Java 线程池详解](https://javaguide.cn/java/concurrent/java-thread-pool-summary.html) (由于内容比较多就不放在 PDF 里面了)。
### AQS
-AQS 相关的知识点和面试题总结请看这篇文章:[AQS 详解](https://javaguide.cn/java/concurrent/aqs.html) (由于内容比较多就不放在 PDF 里面了)。
+AQS 相关的知识点和思考题总结请看这篇文章:[AQS 详解](https://javaguide.cn/java/concurrent/aqs.html) (由于内容比较多就不放在 PDF 里面了)。

@@ -4113,7 +4113,7 @@ AQS 相关的知识点和面试题总结请看这篇文章:[AQS 详解](https:
## 2.4. JVM
-如果你想冲击大厂的话,可以通过我根据《深入理解 Java 虚拟机:JVM 高级特性与最佳实践(第三版》总结的下面这几篇文章来准备面试:
+如果你想冲击大厂的话,可以通过我根据《深入理解 Java 虚拟机:JVM 高级特性与最佳实践(第三版》总结的下面这几篇文章来准备思考:
1. [Java 内存区域详解](https://javaguide.cn/java/jvm/memory-area.html)
2. [JVM 垃圾回收详解](https://javaguide.cn/java/jvm/jvm-garbage-collection.html)
@@ -4127,7 +4127,7 @@ AQS 相关的知识点和面试题总结请看这篇文章:[AQS 详解](https:
# 3. 计算机基础
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
@@ -4355,7 +4355,7 @@ OSI 七层模型虽然失败了,但是却提供了很多不错的理论基础
### TCP 三次握手和四次挥手(非常重要)
-**相关面试题** :
+**相关思考题** :
- 为什么要三次握手?
- 第 2 次握手传回了ACK,为什么还要传回SYN?
@@ -4447,11 +4447,11 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
### 操作系统基础
-面试官顶着蓬松的假发向我走来,只见他一手拿着厚重的 Thinkpad ,一手提着他那淡黄的长裙。
+思考官顶着蓬松的假发向我走来,只见他一手拿着厚重的 Thinkpad ,一手提着他那淡黄的长裙。
#### 什么是操作系统?
-👨💻**面试官** : 先来个简单问题吧!**什么是操作系统?**
+👨💻**思考官** : 先来个简单问题吧!**什么是操作系统?**
🙋 **我** :我通过以下四点向您介绍一下什么是操作系统吧!
@@ -4464,7 +4464,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 系统调用
-👨💻**面试官** :**什么是系统调用呢?** 能不能详细介绍一下。
+👨💻**思考官** :**什么是系统调用呢?** 能不能详细介绍一下。
🙋 **我** :介绍系统调用之前,我们先来了解一下用户态和系统态。
@@ -4491,7 +4491,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 进程和线程的区别
-👨💻**面试官**: 好的!我明白了!那你再说一下: **进程和线程的区别**。
+👨💻**思考官**: 好的!我明白了!那你再说一下: **进程和线程的区别**。
🙋 **我:** 好的! 下图是 Java 内存区域,我们从 JVM 的角度来说一下线程和进程之间的关系吧!
@@ -4503,7 +4503,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 进程有哪几种状态?
-👨💻**面试官** : 那你再说说**进程有哪几种状态?**
+👨💻**思考官** : 那你再说说**进程有哪几种状态?**
🙋 **我** :我们一般把进程大致分为 5 种状态,这一点和[线程](https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/Multithread/JavaConcurrencyBasicsCommonInterviewQuestionsSummary.md#6-%E8%AF%B4%E8%AF%B4%E7%BA%BF%E7%A8%8B%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%92%8C%E7%8A%B6%E6%80%81)很像!
@@ -4519,7 +4519,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 进程间的通信方式
-👨💻**面试官** :**进程间的通信常见的的有哪几种方式呢?**
+👨💻**思考官** :**进程间的通信常见的的有哪几种方式呢?**
🙋 **我** :大概有 7 种常见的进程间的通信方式。
@@ -4535,7 +4535,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 线程间的同步的方式
-👨💻**面试官** :**那线程间的同步的方式有哪些呢?**
+👨💻**思考官** :**那线程间的同步的方式有哪些呢?**
🙋 **我** :线程同步是两个或多个共享关键资源的线程的并发执行。应该同步线程以避免关键的资源使用冲突。操作系统一般有下面三种线程同步的方式:
@@ -4545,7 +4545,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 进程的调度算法
-👨💻**面试官** :**你知道操作系统中进程的调度算法有哪些吗?**
+👨💻**思考官** :**你知道操作系统中进程的调度算法有哪些吗?**
🙋 **我** :嗯嗯!这个我们大学的时候学过,是一个很重要的知识点!
@@ -4559,13 +4559,13 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 什么是死锁
-👨💻**面试官** :**你知道什么是死锁吗?**
+👨💻**思考官** :**你知道什么是死锁吗?**
🙋 **我** :死锁描述的是这样一种情况:多个进程/线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于进程/线程被无限期地阻塞,因此程序不可能正常终止。
#### 死锁的四个条件
-👨💻**面试官** :**产生死锁的四个必要条件是什么?**
+👨💻**思考官** :**产生死锁的四个必要条件是什么?**
🙋 **我** :如果系统中以下四个条件同时成立,那么就能引起死锁:
@@ -4662,13 +4662,13 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 内存管理介绍
-👨💻 **面试官**: **操作系统的内存管理主要是做什么?**
+👨💻 **思考官**: **操作系统的内存管理主要是做什么?**
🙋 **我:** 操作系统的内存管理主要负责内存的分配与回收(malloc 函数:申请内存,free 函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能也是操作系统内存管理做的事情。
#### 常见的几种内存管理机制
-👨💻 **面试官**: **操作系统的内存管理机制了解吗?内存管理有哪几种方式?**
+👨💻 **思考官**: **操作系统的内存管理机制了解吗?内存管理有哪几种方式?**
🙋 **我:** 这个在学习操作系统的时候有了解过。
@@ -4680,13 +4680,13 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
简单来说:页是物理单位,段是逻辑单位。分页可以有效提高内存利用率,分段可以更好满足用户需求。
-👨💻**面试官** : 回答的还不错!不过漏掉了一个很重要的 **段页式管理机制** 。段页式管理机制结合了段式管理和页式管理的优点。简单来说段页式管理机制就是把主存先分成若干段,每个段又分成若干页,也就是说 **段页式管理机制** 中段与段之间以及段的内部的都是离散的。
+👨💻**思考官** : 回答的还不错!不过漏掉了一个很重要的 **段页式管理机制** 。段页式管理机制结合了段式管理和页式管理的优点。简单来说段页式管理机制就是把主存先分成若干段,每个段又分成若干页,也就是说 **段页式管理机制** 中段与段之间以及段的内部的都是离散的。
-🙋 **我** :谢谢面试官!刚刚把这个给忘记了~
+🙋 **我** :谢谢思考官!刚刚把这个给忘记了~
#### 快表和多级页表
-👨💻**面试官** : 页表管理机制中有两个很重要的概念:快表和多级页表,这两个东西分别解决了页表管理中很重要的两个问题。你给我简单介绍一下吧!
+👨💻**思考官** : 页表管理机制中有两个很重要的概念:快表和多级页表,这两个东西分别解决了页表管理中很重要的两个问题。你给我简单介绍一下吧!
🙋 **我** :在分页内存管理中,很重要的两点是:
@@ -4718,7 +4718,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 分页机制和分段机制的共同点和区别
-👨💻**面试官** : **分页机制和分段机制有哪些共同点和区别呢?**
+👨💻**思考官** : **分页机制和分段机制有哪些共同点和区别呢?**
🙋 **我** :
@@ -4731,17 +4731,17 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 逻辑(虚拟)地址和物理地址
-👨💻**面试官** :你刚刚还提到了**逻辑地址和物理地址**这两个概念,我不太清楚,你能为我解释一下不?
+👨💻**思考官** :你刚刚还提到了**逻辑地址和物理地址**这两个概念,我不太清楚,你能为我解释一下不?
🙋 **我:** em...好的嘛!我们编程一般只有可能和逻辑地址打交道,比如在 C 语言中,指针里面存储的数值就可以理解成为内存里的一个地址,这个地址也就是我们说的逻辑地址,逻辑地址由操作系统决定。物理地址指的是真实物理内存中地址,更具体一点来说就是内存地址寄存器中的地址。物理地址是内存单元真正的地址。
#### CPU 寻址了解吗?为什么需要虚拟地址空间?
-👨💻**面试官** :**CPU 寻址了解吗?为什么需要虚拟地址空间?**
+👨💻**思考官** :**CPU 寻址了解吗?为什么需要虚拟地址空间?**
🙋 **我** :这部分我真不清楚!
-于是面试完之后我默默去查阅了相关文档!留下了没有技术的泪水。。。
+于是思考完之后我默默去查阅了相关文档!留下了没有技术的泪水。。。
> 这部分内容参考了 Microsoft 官网的介绍,地址:
@@ -4768,7 +4768,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 什么是虚拟内存(Virtual Memory)?
-👨💻**面试官** :再问你一个常识性的问题!**什么是虚拟内存(Virtual Memory)?**
+👨💻**思考官** :再问你一个常识性的问题!**什么是虚拟内存(Virtual Memory)?**
🙋 **我** :这个在我们平时使用电脑特别是 Windows 系统的时候太常见了。很多时候我们使用了很多占内存的软件,这些软件占用的内存可能已经远远超出了我们电脑本身具有的物理内存。**为什么可以这样呢?** 正是因为 **虚拟内存** 的存在,通过 **虚拟内存** 可以让程序可以拥有超过系统物理内存大小的可用内存空间。另外,**虚拟内存为每个进程提供了一个一致的、私有的地址空间,它让每个进程产生了一种自己在独享主存的错觉(每个进程拥有一片连续完整的内存空间)**。这样会更加有效地管理内存并减少出错。
@@ -4780,7 +4780,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 局部性原理
-👨💻**面试官** :要想更好地理解虚拟内存技术,必须要知道计算机中著名的**局部性原理**。另外,局部性原理既适用于程序结构,也适用于数据结构,是非常重要的一个概念。
+👨💻**思考官** :要想更好地理解虚拟内存技术,必须要知道计算机中著名的**局部性原理**。另外,局部性原理既适用于程序结构,也适用于数据结构,是非常重要的一个概念。
🙋 **我** :局部性原理是虚拟内存技术的基础,正是因为程序运行具有局部性原理,才可以只装入部分程序到内存就开始运行。
@@ -4799,7 +4799,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
> **勘误:虚拟存储器又叫做虚拟内存,都是 Virtual Memory 的翻译,属于同一个概念。**
-👨💻**面试官** :~~都说了虚拟内存了。你再讲讲**虚拟存储器**把!~~
+👨💻**思考官** :~~都说了虚拟内存了。你再讲讲**虚拟存储器**把!~~
🙋 **我** :
@@ -4811,7 +4811,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 虚拟内存的技术实现
-👨💻**面试官** :**虚拟内存技术的实现呢?**
+👨💻**思考官** :**虚拟内存技术的实现呢?**
🙋 **我** :**虚拟内存的实现需要建立在离散分配的内存管理方式的基础上。** 虚拟内存的实现有以下三种方式:
@@ -4833,7 +4833,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
#### 页面置换算法
-👨💻**面试官** :虚拟内存管理很重要的一个概念就是页面置换算法。那你说一下 **页面置换算法的作用?常见的页面置换算法有哪些?**
+👨💻**思考官** :虚拟内存管理很重要的一个概念就是页面置换算法。那你说一下 **页面置换算法的作用?常见的页面置换算法有哪些?**
🙋 **我** :
@@ -4854,7 +4854,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
## 3.3 数据结构
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
数据结构这部分的基础知识已经总结完成。
@@ -4876,9 +4876,9 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
## 3.3 算法
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
-算法这部分目前已经总结了部分基础的常见的算法面试题。
+算法这部分目前已经总结了部分基础的常见的算法思考题。
由于篇幅问题,这里直接放网站上的文章链接,小伙伴可以根据个人需求自行学习:
@@ -4897,7 +4897,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
# 4. 数据库
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
@@ -4967,7 +4967,7 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
### 什么是 ER 图?
-> 我们做一个项目的时候一定要试着画 ER 图来捋清数据库设计,这个也是面试官问你项目的时候经常会被问道的。
+> 我们做一个项目的时候一定要试着画 ER 图来捋清数据库设计,这个也是思考官问你项目的时候经常会被问道的。
**E-R 图** 也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 它是描述现实世界关系概念模型的有效方法。 是表示概念关系模型的一种方式。
@@ -5061,7 +5061,7 @@ truncate 和 drop 属于 DDL(数据定义语言)语句,操作立即生效,
## 4.2 MySQL
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!

@@ -5144,7 +5144,7 @@ MySQL 5.5.5 之前,MyISAM 是 MySQL 的默认存储引擎。5.5.5 版本之后

-如果你想要深入了解每个存储引擎以及它们之间的区别,推荐你去阅读以下 MySQL 官方文档对应的介绍(面试不会问这么细,了解即可):
+如果你想要深入了解每个存储引擎以及它们之间的区别,推荐你去阅读以下 MySQL 官方文档对应的介绍(思考不会问这么细,了解即可):
- InnoDB 存储引擎详细介绍:https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html 。
- 其他存储引擎详细介绍:https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html 。
@@ -5536,7 +5536,7 @@ DELETE...
## 4.3 Redis
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
### Redis 基础
@@ -5686,7 +5686,7 @@ Redis 中有一个叫做 `sorted set` 的数据结构经常被用在各种排行

-[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的「技术面试题篇」就有一篇文章详细介绍如何使用 Sorted Set 来设计制作一个排行榜。
+[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的「技术思考题篇」就有一篇文章详细介绍如何使用 Sorted Set 来设计制作一个排行榜。

@@ -6276,7 +6276,7 @@ Cache Aside Pattern 中遇到写请求是这样的:更新 DB,然后直接删
# 5. 常用框架
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
@@ -6413,7 +6413,7 @@ Spring 时代我们一般通过 XML 文件来配置 Bean,后来开发人员觉
相关阅读:
- [IoC 源码阅读](https://javadoop.com/post/spring-ioc)
-- [面试被问了几百遍的 IoC 和 AOP ,还在傻傻搞不清楚?](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486938&idx=1&sn=c99ef0233f39a5ffc1b98c81e02dfcd4&chksm=cea24211f9d5cb07fa901183ba4d96187820713a72387788408040822ffb2ed575d28e953ce7&token=1736772241&lang=zh_CN#rd)
+- [思考被问了几百遍的 IoC 和 AOP ,还在傻傻搞不清楚?](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486938&idx=1&sn=c99ef0233f39a5ffc1b98c81e02dfcd4&chksm=cea24211f9d5cb07fa901183ba4d96187820713a72387788408040822ffb2ed575d28e953ce7&token=1736772241&lang=zh_CN#rd)
#### 什么是 Spring Bean?
@@ -7061,23 +7061,23 @@ public interface PasswordEncoder {
## 5.2 SpringBoot(付费)
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
-**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)(点击链接即可查看详细介绍以及获取方法)中。
+**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/) 的补充完善,两者可以配合使用。
+[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/) 的补充完善,两者可以配合使用。

-[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。
+[《Java 思考指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。

最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。
-为了帮助更多同学准备 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)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。
-欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多,学习氛围非常好!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。
+欢迎准备 Java 思考以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多,学习氛围非常好!收费虽然是白菜价,但星球里的内容或许比你参加上万的培训班质量还要高。

@@ -7100,11 +7100,11 @@ public interface PasswordEncoder {
## 5.3 MyBatis
-> [JavaGuide](https://javaguide.cn/) :「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
+> [JavaGuide](https://javaguide.cn/) :「Java学习+思考指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 思考,首选 JavaGuide!
### #{} 和 \${} 的区别是什么?
-注:这道题是面试官面试我同事的。
+注:这道题是思考官思考我同事的。
答:
@@ -7113,13 +7113,13 @@ public interface PasswordEncoder {
### xml 映射文件中,除了常见的 select、insert、update、delete 标签之外,还有哪些标签?
-注:这道题是京东面试官面试我时问的。
+注:这道题是京东思考官思考我时问的。
答:还有很多其他的标签, `` 、 `` 、 `` 、 `` 、 `` ,加上动态 sql 的 9 个标签, `trim|where|set|foreach|if|choose|when|otherwise|bind` 等,其中 `` 为 sql 片段标签,通过 `` 标签引入 sql 片段, `` 为不支持自增的主键生成策略标签。
### Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗?
-注:这道题也是京东面试官面试我被问的。
+注:这道题也是京东思考官思考我被问的。
答:最佳实践中,通常一个 xml 映射文件,都会写一个 Dao 接口与之对应。Dao 接口就是人们常说的 `Mapper` 接口,接口的全限名,就是映射文件中的 namespace 的值,接口的方法名,就是映射文件中 `MappedStatement` 的 id 值,接口方法内的参数,就是传递给 sql 的参数。 `Mapper` 接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为 key 值,可唯一定位一个 `MappedStatement` ,举例: `com.mybatis3.mappers. StudentDao.findStudentById` ,可以唯一找到 namespace 为 `com.mybatis3.mappers. StudentDao` 下面 `id = findStudentById` 的 `MappedStatement` 。在 MyBatis 中,每一个 `