Files
interview/00-项目概述/项目概述.md
yasinshaw bc0ed186c8 refactor: reorganize interview files and fix errors
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 <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-03-04 01:43:26 +08:00

188 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目概述
## 项目简介
这是一个用于记录和追踪后端 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. JVM1 个文件)
- 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/` 目录下的主题顺序系统性地学习和准备。