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>
This commit is contained in:
16
.obsidian/workspace.json
vendored
16
.obsidian/workspace.json
vendored
@@ -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-面试技巧",
|
||||
|
||||
187
00-项目概述/项目概述.md
Normal file
187
00-项目概述/项目概述.md
Normal file
@@ -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/` 目录下的主题顺序系统性地学习和准备。
|
||||
@@ -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. 在实际项目中如何权衡一致性、可用性、分区容错性?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user