From bc0ed186c82d422306ac4d11c6b4bdd4afdb91d6 Mon Sep 17 00:00:00 2001 From: yasinshaw Date: Wed, 4 Mar 2026 01:43:26 +0800 Subject: [PATCH] refactor: reorganize interview files and fix errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - Fixed CAP theory typo: "CP、AP、AP" → "CP、AP、CA" - Reorganized file classifications for better structure: * Moved 4 database-related files from 01-分布式系统 to 02-数据库 * Moved ConcurrentHashMap from 03-缓存 to 05-并发编程 * Renamed 消息队列(RocketMQ_Kafka).md → 消息队列_RocketMQ_Kafka.md - Updated project overview with new structure (73 files, 15 categories) - Database category now has 6 files (more cohesive) - Concurrency category now has 5 files (better organized) File movements: - 事务隔离级别.md: 01-分布式系统 → 02-数据库 - 数据库锁机制.md: 01-分布式系统 → 02-数据库 - 分库分表.md: 01-分布式系统 → 02-数据库 - MySQL主从延迟.md: 01-分布式系统 → 02-数据库 - ConcurrentHashMap原理.md: 03-缓存 → 05-并发编程 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Co-Authored-By: Happy --- .obsidian/workspace.json | 16 +- 00-项目概述/项目概述.md | 187 ++++++++++++++++++ questions/01-分布式系统/CAP理论和BASE理论.md | 2 +- .../MySQL主从延迟.md | 0 .../事务隔离级别.md | 0 .../数据库分库分表.md => 02-数据库/分库分表.md} | 0 .../数据库锁机制.md | 0 ...RocketMQ_Kafka).md => 消息队列_RocketMQ_Kafka.md} | 0 .../ConcurrentHashMap原理.md | 0 9 files changed, 196 insertions(+), 9 deletions(-) create mode 100644 00-项目概述/项目概述.md rename questions/{01-分布式系统 => 02-数据库}/MySQL主从延迟.md (100%) rename questions/{01-分布式系统 => 02-数据库}/事务隔离级别.md (100%) rename questions/{01-分布式系统/数据库分库分表.md => 02-数据库/分库分表.md} (100%) rename questions/{01-分布式系统 => 02-数据库}/数据库锁机制.md (100%) rename questions/04-消息队列/{消息队列(RocketMQ_Kafka).md => 消息队列_RocketMQ_Kafka.md} (100%) rename questions/{03-缓存 => 05-并发编程}/ConcurrentHashMap原理.md (100%) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 6183e4e..f675c0f 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -196,6 +196,14 @@ }, "active": "fcbc762a80282002", "lastOpenFiles": [ + "00-项目概述/项目概述.md", + "00-项目概述", + "questions/04-消息队列/消息队列_RocketMQ_Kafka.md", + "questions/05-并发编程/ConcurrentHashMap原理.md", + "questions/02-数据库/MySQL主从延迟.md", + "questions/02-数据库/分库分表.md", + "questions/02-数据库/数据库锁机制.md", + "questions/02-数据库/事务隔离级别.md", "questions/14-Web3与区块链/Golang与区块链开发.md", "questions/02-数据库/MyBatis核心原理.md", "questions/02-数据库/MySQL索引优化.md", @@ -216,16 +224,8 @@ "questions/01-分布式系统/分布式锁.md", "questions/14-Web3与区块链/README.md", "questions/14-Web3与区块链/简历项目Web3迁移.md", - "questions/14-Web3与区块链/跨链技术.md", - "questions/14-Web3与区块链/Layer2扩容方案.md", - "questions/14-Web3与区块链/高并发在区块链中的应用.md", - "questions/14-Web3与区块链/智能合约安全.md", - "questions/14-Web3与区块链/DeFi协议与AMM.md", - "questions/14-Web3与区块链/Web3基础知识.md", "questions/14-Web3与区块链", - "questions/01-分布式系统/分布式事务.md", "12-面试技巧", - "00-项目概述", "08-算法与数据结构", "questions/13-Golang语言", "questions/12-面试技巧", diff --git a/00-项目概述/项目概述.md b/00-项目概述/项目概述.md new file mode 100644 index 0000000..7ffef80 --- /dev/null +++ b/00-项目概述/项目概述.md @@ -0,0 +1,187 @@ +# 项目概述 + +## 项目简介 + +这是一个用于记录和追踪后端 P7 级别面试问题和答案的完整项目。 + +## 目录结构 + +``` +/Users/yasin/code/interview/ +├── 00-项目概述/ # 项目说明(本文件) +└── questions/ # 所有面试题和答案(按主题分类) + ├── 01-分布式系统/ + ├── 02-数据库/ + ├── 03-缓存/ + ├── 04-消息队列/ + ├── 05-并发编程/ + ├── 06-JVM/ + ├── 07-系统设计/ + ├── 08-算法与数据结构/ + ├── 09-网络与安全/ + ├── 10-中间件/ + ├── 11-运维/ + ├── 12-面试技巧/ + ├── 13-Golang语言/ + ├── 14-Web3与区块链/ + └── 15-简历面试/ +``` + +## 内容组织 + +### questions/ 目录结构 + +所有面试题和答案都按主题分类在 `questions/` 目录下: + +#### 1. 分布式系统(5 个文件) +- CAP理论和BASE理论 +- 一致性哈希 +- 分布式ID生成 +- 分布式事务 +- 分布式锁 + +#### 2. 数据库(6 个文件) +- MySQL索引优化 +- MyBatis核心原理 +- 事务隔离级别 +- 数据库锁机制 +- 分库分表 +- MySQL主从延迟 + +#### 3. 缓存(4 个文件) +- 缓存穿透/击穿/雪崩 +- Redis架构 +- Redis数据结构 +- LRU缓存实现 + +#### 4. 消息队列(1 个文件) +- 消息队列(RocketMQ/Kafka) + +#### 5. 并发编程(5 个文件) +- Java并发编程基础 +- 线程池核心参数 +- 设计模式 +- 限流策略与算法 +- ConcurrentHashMap原理 + +#### 6. JVM(1 个文件) +- JVM和垃圾回收 + +#### 7. 系统设计(9 个文件) +- 秒杀系统设计 +- 短链接系统设计 +- LBS附近的人设计 +- 即时通讯系统设计 +- 社交信息流设计 +- API网关 +- 系统设计方法论 +- 微服务架构 +- RPC框架 +- 服务网格 + +#### 8. 算法与数据结构(5 个文件) +- B+树原理 +- 红黑树原理 +- 跳表原理 +- 时间轮算法 +- 算法与数据结构学习指南 + +#### 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 +- 项目结构和工程化 +- 数据库操作 + +#### 14. Web3与区块链(9 个文件) +- Web3基础知识 +- 智能合约安全 +- DeFi协议与AMM +- Layer2扩容方案 +- 跨链技术 +- Golang与区块链开发 +- 高并发在区块链中的应用 +- 简历项目Web3迁移 + +#### 15. 简历面试(6 个文件) +- 项目深挖题 +- 场景设计题 +- 个人发展题 +- 离职原因与动机 +- 薪资谈判 + +## 面试官设定 + +- **角色**:资深后端面试官 +- **目标职级**:P7(阿里 P7 相当于资深专家/技术专家) +- **技术栈**:Go/Java、微服务、分布式系统、数据库、缓存、消息队列等 + +## 使用方式 + +1. **按主题学习**:从你感兴趣或薄弱的主题开始 +2. **循序渐进**:先基础,后高级 +3. **动手实践**:将代码示例运行起来 +4. **定期复习**:面试前定期回顾重点内容 + +## Git 提交策略 + +每次面试会话后会提交一个新的 git 版本,方便追踪历史记录。 + +## 统计信息 + +- **总文件数**:73 个 +- **分类数量**:15 个 +- **总内容量**:约 44,000+ 行 +- **覆盖主题**:分布式系统、数据库、缓存、消息队列、并发编程、JVM、系统设计、算法与数据结构、网络、安全、性能优化、中间件、运维、面试技巧、Golang语言、Web3与区块链、简历面试 + +## 学习路径建议 + +### 初级(1-3 个月) +1. 计算机基础 +2. 后端核心(语言、并发、内存管理) +3. 数据库基础 + +### 中级(3-6 个月) +1. 分布式系统基础 +2. 微服务基础 +3. 中间件基础 + +### 高级(6-12 个月) +1. 分布式系统深入 +2. 系统设计 +3. 性能优化 + +### P7 级别(12 个月+) +1. 架构设计能力 +2. 技术广度和深度 +3. 团队协作和影响力 + +--- + +**备注**:建议按照 `questions/` 目录下的主题顺序系统性地学习和准备。 diff --git a/questions/01-分布式系统/CAP理论和BASE理论.md b/questions/01-分布式系统/CAP理论和BASE理论.md index 0d946b1..021335f 100644 --- a/questions/01-分布式系统/CAP理论和BASE理论.md +++ b/questions/01-分布式系统/CAP理论和BASE理论.md @@ -4,7 +4,7 @@ 1. 什么是 CAP 理论?CAP 三者为什么不可兼得? 2. 什么是 BASE 理论? -3. CP、AP、AP 架构分别适用于什么场景? +3. CP、AP、CA 架构分别适用于什么场景? 4. Zookeeper、Eureka、Nacos、Consul 分别是 CP 还是 AP? 5. 在实际项目中如何权衡一致性、可用性、分区容错性? diff --git a/questions/01-分布式系统/MySQL主从延迟.md b/questions/02-数据库/MySQL主从延迟.md similarity index 100% rename from questions/01-分布式系统/MySQL主从延迟.md rename to questions/02-数据库/MySQL主从延迟.md diff --git a/questions/01-分布式系统/事务隔离级别.md b/questions/02-数据库/事务隔离级别.md similarity index 100% rename from questions/01-分布式系统/事务隔离级别.md rename to questions/02-数据库/事务隔离级别.md diff --git a/questions/01-分布式系统/数据库分库分表.md b/questions/02-数据库/分库分表.md similarity index 100% rename from questions/01-分布式系统/数据库分库分表.md rename to questions/02-数据库/分库分表.md diff --git a/questions/01-分布式系统/数据库锁机制.md b/questions/02-数据库/数据库锁机制.md similarity index 100% rename from questions/01-分布式系统/数据库锁机制.md rename to questions/02-数据库/数据库锁机制.md diff --git a/questions/04-消息队列/消息队列(RocketMQ_Kafka).md b/questions/04-消息队列/消息队列_RocketMQ_Kafka.md similarity index 100% rename from questions/04-消息队列/消息队列(RocketMQ_Kafka).md rename to questions/04-消息队列/消息队列_RocketMQ_Kafka.md diff --git a/questions/03-缓存/ConcurrentHashMap原理.md b/questions/05-并发编程/ConcurrentHashMap原理.md similarity index 100% rename from questions/03-缓存/ConcurrentHashMap原理.md rename to questions/05-并发编程/ConcurrentHashMap原理.md