这是一个挺有意思的问题,很多公司也在面试中问过。挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。

回答这个问题其实就一句话:因为服务端也不知道你的原密码是什么。存原密码的程序员已经被开了 🤣。
如果服务端知道你的原密码,那就是严重的安全风险问题了。
我们这里来简单分析一下。
这是一个挺有意思的问题,很多公司也在面试中问过。挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。

回答这个问题其实就一句话:因为服务端也不知道你的原密码是什么。存原密码的程序员已经被开了 🤣。
如果服务端知道你的原密码,那就是严重的安全风险问题了。
我们这里来简单分析一下。
分布式系统面试很少让你单独背一个 CAP 定义。面试官通常会从某个业务问题开始追问:服务为什么要拆到多个节点?网络超时后能不能重试?锁提前过期怎么办?跨服务的数据如何保持一致?
这篇文章是 JavaGuide 分布式系统专题的复习入口,按分布式理论、RPC 与网关、分布式 ID/锁/事务、配置中心与 ZooKeeper 四部分整理。每部分只列复习时需要抓住的问题,答案和实现细节放在对应专题文章中。
时间比较紧的话,可以先看 分布式系统常见面试题总结,把不会的问题标出来,再回到本文补原理和工程细节。
微服务面试很少停在“什么是微服务”。面试官通常会从一次架构拆分继续追问:服务为什么这样划分?跨服务调用失败怎么办?多个服务各自管理数据后怎样查询和保证一致性?服务上线、扩容和故障恢复又如何处理?
这篇文章是 JavaGuide 微服务内容的复习入口,按架构拆分、服务通信、数据一致性、稳定性与可观测性组织现有文章。它不会重复展开所有答案,而是帮助你确定复习范围,并把分散在分布式、高可用、消息队列和安全专题中的知识串起来。
时间比较紧的话,可以先看面试突击版的微服务常见面试题总结,标出不会的问题,再回到本文对应的专题文章补细节。
消息队列面试通常从“为什么使用 MQ”开始,随后沿着一条消息的生命周期继续追问:生产者发送超时后能不能重试?Broker 返回成功是否代表消息不会丢?消费者处理成功但确认失败会发生什么?重复消费、顺序错乱和消息积压又该怎样处理?
这篇文章是 JavaGuide 消息队列专题的复习入口,按使用场景、消息可靠性、主流中间件和技术选型四部分整理。每部分只列复习时需要抓住的问题,完整答案和实现细节放在对应专题文章中。
时间比较紧的话,可以先看面试突击版的消息队列常见面试题总结,把讲不清楚的问题标出来,再回到本文补原理和工程细节。
JVM 面试很少停在“堆和栈有什么区别”。回答完内存区域,面试官通常会继续问对象怎样分配、哪些对象可以回收、一次 GC 为什么会停顿,以及线上出现 OOM、频繁 Full GC 或 CPU 飙高时怎样排查。
这篇文章是 JavaGuide JVM 专题的面试复习入口,问题按内存与对象、类文件与类加载、垃圾回收、参数与诊断工具、线上问题排查五部分整理。每个问题的完整答案放在对应专题文章中。
时间比较紧的话,可以先看 JVM 常见面试题总结,把答不完整的问题标出来,再回到本文和专题文章补细节。
高可用面试题经常从一句“系统怎么保证不挂”开始,随后追问单点故障、限流熔断、超时重试、接口幂等和异地容灾。只罗列组件通常答不完整,还要说明故障如何被发现、影响怎样被控制、服务如何恢复,以及数据能否保持正确。
这篇文章是 JavaGuide 高可用专题的复习入口,按高可用基础、冗余与容灾、限流降级熔断、超时重试幂等、性能测试与故障治理五部分整理。答案和实现细节放在对应专题文章中。
高性能系统面试通常从一个具体症状开始:接口变慢、数据库 CPU 升高、消息开始积压,或者大促流量超过了现有容量。回答时先确认 QPS、P99、数据量和读写比例,再沿着请求链查入口、应用、缓存、数据库和消息队列,直接报出“加缓存、上 MQ、分库分表”很容易被继续追问。