从 LeetCode 到工程实现:对简单题的思维差异
在毕业前的一年多时间里,我保持了每天刷 LeetCode 的习惯。 通过每日一题,我熟悉了各种类型的算法题,也积累了不少常见的解题套路。那段时间,算法部分在笔试面试中几乎没有成为我的短板🤗 不过入职之后,我逐渐停止了算法题的日常练习。更多精力放在公司项目的开发、后端技术栈的掌握,以及工程设计思维的
MIT 6.824 学习记录:Raft 论文阅读(Section 1 - 5)
Raft论文Section 1-5学习笔记,系统梳理了Raft的核心架构、选主机制、日志复制与安全性设计,并结合实例分析了选举过程中的一致性保障
MIT 6.824 学习记录:Paxos 论文阅读
简要梳理 Paxos Made Simple 核心思想,结合实践问题理解 proposal 编号、共识过程及与 2PC、Raft 的关系。
MIT 6.824 学习记录:Testing Distributed Systems for Linearizability
本笔记总结了 MIT 6.824 第二周关于 Linearizability 的核心概念与测试方法,并结合 Lab2 实践探讨分布式一致性问题与设计权衡
[LeetCode] 每日一题 3170. 删除星号以后字典序最小的字符串(优先队列 + 贪心算法)
使用优先队列和贪心策略,动态维护未删除字符中字典序最小且最靠右的字符,实现删除所有星号后字典序最小的字符串构造
[LeetCode] 每日一题 2434. 使用机器人打印字典序最小的字符串(贪心算法 + 栈)
本题模拟栈操作,通过从后往前预处理最小字符并结合贪心策略,在合适时机输出栈顶,构造字典序最小字符串
[LeetCode] 每日一题 1061. 按字典序排列最小的等效字符串(并查集)
将等价字符建并查集,并在合并时保留字典序最小者为根,最终替换 baseStr,构造字典序最小的等效字符串
MIT 6.824 学习记录:Key/Value Server Lab 学习与实践
本次记录总结了 MIT 6.824 Lab2 的实现过程,涵盖单体 Key/Value Server 与基于其构建的分布式锁的设计与实现思路
[LeetCode] 每日一题 135. 分发糖果(贪心算法)
双向遍历,分别满足左右孩子评分关系,再合并最小糖果数量,是一道典型的贪心算法题
MIT 6.824 学习记录:FT VM 论文阅读与思考
本文是 MIT 6.824 第二周论文《A Practical System for Fault-Tolerant Virtual Machines》的学习笔记,详细整理了其同步机制、网络与磁盘 IO 一致性设计、主备容错流程及防脑裂策略。笔记不仅梳理了关键技术细节,还结合作者理解给出对 shared disk 和分布式系统一致性的思考,适合分布式系统初学者深入掌握 VM 层容错设计