1.哈曼夫编码、解码很简单对着表一个一个对就行纯小孩题。详解前缀码核心机制哈夫曼编码之所以能进行无歧义解码完全依赖于它是一个前缀码。解题逻辑你在做题时之所以敢读到0101就停下来翻译成d而不担心后面还有更长的编码比如01010...对应其他字符就是因为你潜意识里知道没有任何一个编码是另一个编码的前缀。避坑指南如果不是前缀码解码结果就不是唯一的比如1是a10是b那遇到10就不知道是a接0还是直接是b。所以这道题本质上就是在考你懂不懂利用前缀码的特性来切割字符串。2.寄存器这道题的考点非常经典它其实是在考察你对计算机存储体系结构Memory Hierarchy的理解特别是CPU 寄存器与内存RAM之间的速度差异。从出题人的角度来看这道题的“套路”在于让你区分变量的存储位置对执行效率的影响。如果按访问速度从快到慢排序正确的顺序是寄存器 栈 堆 / 静态存储区(注堆和静态存储区都在主存中物理访问速度相当但在使用逻辑上有所不同通常认为栈比堆略快一点点因为栈的内存管理更简单)3.观察者设计模式解读为了帮你彻底搞懂我用通俗的语言和生活化的例子为你总结一下这四种模式的适用场景及核心区别观察者模式 核心逻辑“订阅-通知”机制一对多依赖。适用场景当一个对象被观察者的状态发生改变所有依赖于它的对象观察者都需要自动收到通知并更新。生活案例微信公众号。公众号气象站发了一篇文章天气变了。所有关注了这个号的粉丝PC端、手机端都会收到推送提醒自动更新。出题套路只要看到“联动更新”、“广播”、“订阅”、“多端同步”首选观察者。备忘录模式 (Memento)核心逻辑“后悔药”机制状态保存与恢复。适用场景你需要保存一个对象在某个时刻的状态以便在将来某个时刻可以恢复它且不能破坏对象的封装性。生活案例游戏存档或Word的撤销(CtrlZ)。打Boss前存个档保存备忘录。打输了读档重来恢复状态。出题套路只要看到“撤销”、“恢复”、“回退”、“存档”、“历史记录”必选备忘录。策略模式 (Strategy)核心逻辑“锦囊妙计”机制算法的可替换性。适用场景针对同一个问题有多种不同的解决办法算法并且你可以在运行时根据需要灵活切换这些办法避免大量的if-else判断。生活案例出行旅游。目的地一样目标一致。你可以选择坐飞机、坐高铁或骑自行车不同的策略。如果赶时间就选飞机想省钱就选火车根据上下文切换策略。出题套路只要看到“多种算法”、“不同的计算方式”、“支付方式选择”、“动态切换规则”考虑策略模式。状态模式 (State)核心逻辑“变身”机制行为随状态改变。适用场景一个对象的行为取决于它的状态并且它必须在运行时刻根据状态改变它的行为。重点在于对象内部状态的流转导致了行为的改变。生活案例超级玛丽。吃了蘑菇状态变为“大”这时候撞砖块砖块碎行为A。没吃蘑菇状态为“小”这时候撞砖块自己死行为B。出题套路只要看到“状态流转”、“不同状态下行为不同”、“工作流”、“订单状态变更待支付-已支付-发货”考虑状态模式。总结出题人的“秒杀”技巧模式核心关键词结构特征一句话口诀观察者通知、更新1对多一人变全员动备忘录撤销、恢复存快照时光倒流吃后悔药策略算法、替换接口多实现条条大路通罗马看心情选路状态状态、行为状态机流转见人说人话见鬼说鬼话回到这道题题目说“天气变化”源头改变会影响“多种设备”多个接收者且需要“及时更新”自动通知。这完全符合“一人变全员动”的特征所以是观察者模式。