refactor: 重组项目文件结构

- 将项目概述文件移至根目录
- 将算法学习指南移至 questions 目录
- 将面试准备进度移至根目录
- 删除空的 questions 文件
- 更新 Obsidian 主题配置
This commit is contained in:
yasinshaw
2026-03-02 18:14:26 +08:00
parent 7f3ab362b3
commit a95c605bbf
10 changed files with 2277 additions and 20 deletions

157
项目概述.md Normal file
View File

@@ -0,0 +1,157 @@
# 项目概述
## 项目简介
这是一个用于记录和追踪后端 P7 级别面试问题和答案的完整项目。
## 目录结构
```
/Users/yasin/code/interview/
├── 00-项目概述/ # 项目说明(本文件)
├── questions/ # 所有面试题和答案(按主题分类)
└── .git/
```
## 内容组织
### questions/ 目录结构
所有面试题和答案都按主题分类在 `questions/` 目录下:
#### 1. 分布式系统9 个文件)
- 分布式事务
- 分布式锁
- 分布式 ID 生成
- 一致性哈希
- CAP 理论和 BASE 理论
- 数据库分库分表
- MySQL 主从延迟
- 事务隔离级别
- 数据库锁机制
#### 2. 数据库2 个文件)
- MySQL 索引优化
- MyBatis 核心原理
#### 3. 缓存5 个文件)
- 缓存穿透/击穿/雪崩
- Redis 架构
- Redis 数据结构
- ConcurrentHashMap 原理
- LRU 缓存实现
#### 4. 消息队列1 个文件)
- 消息队列RocketMQ/Kafka
#### 5. 并发编程4 个文件)
- Java 并发编程基础
- 线程池核心参数
- 设计模式
- 限流策略与算法
#### 6. JVM1 个文件)
- JVM 和垃圾回收
#### 7. 系统设计10 个文件)
- 秒杀系统设计
- 短链接系统设计
- LBS 附近的人设计
- 即时通讯系统设计
- 社交信息流设计
- API 网关
- 系统设计方法论
- 微服务架构
- RPC 框架
- 服务网格
#### 8. 算法与数据结构6 个文件)
- B+ 树原理
- 红黑树原理
- 跳表原理
- 时间轮算法
- LRU 缓存实现
- 算法与数据结构学习指南
#### 9. 网络与安全3 个文件)
- TCP/IP 网络协议
- 加密与安全
- 性能优化
#### 10. 中间件4 个文件)
- Spring Boot 核心原理
- Nacos 注册中心
- Dubbo 框架
- Nginx
#### 11. 运维4 个文件)
- Docker 容器
- Kubernetes
- CI/CD 持续集成部署
- 可观测性
#### 12. 面试技巧1 个文件)
- 面试技巧和职业规划
#### 13. Golang 语言10 个文件)⭐
- Golang 基础语法
- Goroutine 和并发模型
- 错误处理和测试
- 并发编程进阶
- 内存模型和垃圾回收
- 性能优化
- HTTP 和 Web 开发
- 接口和类型系统
- 反射和 unsafe
- 项目结构和工程化
- 数据库操作
## 面试官设定
- **角色**:资深后端面试官
- **目标职级**P7阿里 P7 相当于资深专家/技术专家)
- **技术栈**Go/Java、微服务、分布式系统、数据库、缓存、消息队列等
## 使用方式
1. **按主题学习**:从你感兴趣或薄弱的主题开始
2. **循序渐进**:先基础,后高级
3. **动手实践**:将代码示例运行起来
4. **定期复习**:面试前定期回顾重点内容
## Git 提交策略
每次面试会话后会提交一个新的 git 版本,方便追踪历史记录。
## 统计信息
- **总文件数**60 个
- **分类数量**13 个
- **总内容量**:约 12,000+ 行
- **覆盖主题**分布式系统、数据库、缓存、消息队列、并发编程、JVM、系统设计、算法与数据结构、网络、安全、性能优化、中间件、运维、面试技巧、Golang 语言
## 学习路径建议
### 初级1-3 个月)
1. 计算机基础
2. 后端核心(语言、并发、内存管理)
3. 数据库基础
### 中级3-6 个月)
1. 分布式系统基础
2. 微服务基础
3. 中间件基础
### 高级6 12 个月)
1. 分布式系统深入
2. 系统设计
3. 性能优化
### P7 级别12 个月+
1. 架构设计能力
2. 技术广度和深度
3. 团队协作和影响力
---
**备注**:建议按照 `questions/` 目录下的主题顺序系统性地学习和准备。