feat: rename Golang files to Chinese and supplement root files

Changes:
- Renamed all 10 Golang files from English to Chinese names
- Created 00-项目概述/项目概述.md with comprehensive project overview
- Created 08-算法与数据结构/算法与数据结构学习指南.md with detailed learning guide
- Created 12-面试技巧/面试准备进度.md with progress tracking
- Added .obsidian configuration for better markdown editing
- Updated Claude.MD with Chinese filename rule

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
yasinshaw
2026-03-01 00:33:32 +08:00
parent ab3a99f131
commit 7f3ab362b3
21 changed files with 1903 additions and 0 deletions

View File

@@ -0,0 +1,121 @@
# 算法与数据结构学习指南
## 概述
本项目包含算法和数据结构相关的面试题和详细解释,涵盖了后端面试中最重要的数据结构及其实现。
## 核心算法主题
### 1. B+ 树B+ Tree
- **位置**`08-算法与数据结构/B+树原理.md`
- **重点**:数据库索引、文件系统
- **核心特性**:多路搜索树、有序叶子节点、高效范围查询
- **应用**MySQL、PostgreSQL、文件系统
### 2. LRU 缓存LRU Cache
- **位置**`08-算法与数据结构/LRU缓存实现.md`
- **重点**:缓存淘汰策略
- **核心特性**最近最少使用淘汰、O(1) 操作
- **应用**Web 缓存、数据库查询缓存、内存管理
### 3. 红黑树Red-Black Tree
- **位置**`08-算法与数据结构/红黑树原理.md`
- **重点**:自平衡二叉搜索树
- **核心特性**红黑着色、O(log n) 操作
- **应用**Java TreeMap、Linux 内核、数据库索引
### 4. 跳表Skip List
- **位置**`08-算法与数据结构/跳表原理.md`
- **重点**:概率型数据结构
- **核心特性**多层链表、O(log n) 操作
- **应用**Redis 有序集合、数据库索引、路由表
### 5. 时间轮Timing Wheel
- **位置**`08-算法与数据结构/时间轮算法.md`
- **重点**:任务调度和延迟执行
- **核心特性**:分层时间桶、高效任务管理
- **应用**:分布式系统、消息队列、缓存过期
## 文档结构
每个算法文档包含:
### 核心组件
1. **原理**:数据结构的详细解释
2. **图解说明**:图表示例
3. **代码实现**:完整可运行的代码
4. **时间复杂度分析**:性能分析
5. **实际应用场景**:真实用例
6. **对比**:与其他数据结构的对比
### 面试重点
- **时间复杂度**:所有操作的大 O 分析
- **空间复杂度**:内存使用分析
- **实际应用**:在何处以及为何使用每种结构
- **常见面试问题**:详细答案的 Q&A 部分
## 使用指南
### 面试准备
1. 从 **B+ 树**开始 - 数据库理解的基础
2. 学习 **LRU 缓存** - 系统设计面试必备
3. 理解 **红黑树** - 理解平衡树
4. 探索 **跳表** - 理解概率平衡方法
5. 掌握 **时间轮** - 分布式系统关键
### 实际实现
- 每个文档包含多种实现方法
- 从基本实现开始,然后探索高级变体
- 研究并发实现用于生产环境
- 理解不同方法的权衡
### 关键学习点
1. **理解"为什么"**:不仅是如何,还有为什么每种结构存在
2. **权衡**:每种结构都有优缺点 - 理解它们
3. **性能**:始终考虑时间和空间复杂度
4. **实际应用**:将正确的结构匹配到正确的问题
## 相关资源
### 系统设计主题
- `01-分布式系统/数据库分库分表.md`:数据库分片策略
- `04-消息队列/消息队列RocketMQ_Kafka.md`:消息队列实现
- `05-并发编程/限流策略与算法.md`:限流算法
- `01-分布式系统/一致性哈希.md`:一致性哈希
### 性能优化
- `02-数据库/MySQL索引优化.md`MySQL 索引优化
- `01-分布式系统/MySQL主从延迟.md`:数据库复制策略
- `03-缓存/缓存穿透击穿雪崩.md`:缓存问题和解决方案
### 微服务和分布式系统
- `01-分布式系统/分布式ID生成.md`:分布式 ID 生成
- `01-分布式系统/分布式事务.md`:分布式事务
- `07-系统设计/社交信息流设计.md`Feed 流系统设计
- `07-系统设计/LBS附近的人设计.md`:负载均衡系统设计
- `07-系统设计/秒杀系统设计.md`:秒杀系统设计
- `07-系统设计/短链接系统设计.md`:短链接系统设计
## 入门指南
1. **阅读每个文档** 理解基础
2. **运行代码示例** 查看实际效果
3. **练习面试问题**:每个文档末尾的 Q&A
4. **对比不同方法**:理解权衡
## 贡献
这是一个持续维护的文档。欢迎:
- 添加新的算法主题
- 改进现有解释
- 添加更多代码示例
- 增强 Q&A 部分
- 分享真实用例
## 许可证
本项目开源,使用 MIT 许可证。
---
**注意**:所有文档使用中文编写,以便更清晰易懂。代码示例使用 Java 以便广泛理解。