场景面试题导航配置指南
概述
本文档说明如何将场景面试题集成到你的文档站点导航系统中。
目录结构
docs/scenario-questions/
├── index.md # 主索引页面
├── high-concurrency/ # 高并发类
│ ├── index.md
│ ├── seckill-system.md
│ ├── red-packet-system.md
│ ├── ticket-system.md
│ ├── live-streaming-system.md
│ └── shopping-festival-system.md
├── geo-location/ # 地理位置类
│ ├── index.md
│ ├── nearby-people.md
│ ├── circular-region-distance.md
│ ├── geofence-system.md
│ └── taxi-system.md
├── system-design/ # 系统设计类
│ ├── index.md
│ ├── like-system.md
│ ├── comment-system.md
│ ├── recommendation-system.md
│ ├── short-url-system.md
│ └── user-relation-system.md
├── distributed-system/ # 分布式系统类
│ ├── index.md
│ ├── distributed-id-generator.md
│ ├── distributed-lock.md
│ ├── distributed-transaction.md
│ ├── distributed-cache.md
│ └── distributed-scheduler.md
├── algorithm-optimization/ # 算法优化类
│ ├── index.md
│ ├── rate-limiter.md
│ ├── consistent-hash.md
│ ├── bloom-filter.md
│ ├── top-k-optimization.md
│ ├── lru-cache.md
│ └── skip-list.md
├── data-processing/ # 数据处理类
│ ├── index.md
│ └── ...
├── high-availability/ # 高可用类
│ ├── index.md
│ └── ...
├── search-recommendation/ # 搜索推荐类
│ ├── index.md
│ └── ...
├── security/ # 安全风控类
│ ├── index.md
│ └── ...
└── messaging/ # 消息通信类
├── index.md
└── ...VitePress配置示例
如果你使用VitePress,可以在.vitepress/config.ts中添加以下配置:
typescript
export default {
themeConfig: {
nav: [
{ text: '首页', link: '/' },
{ text: '技术栈', link: '/golang/' },
{ text: '场景面试题', link: '/scenario-questions/' }, // 新增
{ text: '系统设计', link: '/system-design/' }
],
sidebar: {
'/scenario-questions/': [
{
text: '场景面试题',
items: [
{ text: '概述', link: '/scenario-questions/' },
{ text: '学习路径', link: '/scenario-questions/#学习路径' }
]
},
{
text: '高并发类',
collapsed: false,
items: [
{ text: '概览', link: '/scenario-questions/high-concurrency/' },
{ text: '秒杀系统', link: '/scenario-questions/high-concurrency/seckill-system' },
{ text: '抢红包系统', link: '/scenario-questions/high-concurrency/red-packet-system' },
{ text: '抢票系统', link: '/scenario-questions/high-concurrency/ticket-system' },
{ text: '直播系统', link: '/scenario-questions/high-concurrency/live-streaming-system' },
{ text: '大促系统', link: '/scenario-questions/high-concurrency/shopping-festival-system' }
]
},
{
text: '地理位置类',
collapsed: false,
items: [
{ text: '概览', link: '/scenario-questions/geo-location/' },
{ text: '附近的人', link: '/scenario-questions/geo-location/nearby-people' },
{ text: '圆形区域距离计算', link: '/scenario-questions/geo-location/circular-region-distance' },
{ text: '电子围栏', link: '/scenario-questions/geo-location/geofence-system' },
{ text: '打车系统', link: '/scenario-questions/geo-location/taxi-system' }
]
},
{
text: '系统设计类',
collapsed: false,
items: [
{ text: '概览', link: '/scenario-questions/system-design/' },
{ text: '点赞系统', link: '/scenario-questions/system-design/like-system' },
{ text: '评论系统', link: '/scenario-questions/system-design/comment-system' },
{ text: '推荐系统', link: '/scenario-questions/system-design/recommendation-system' },
{ text: '短链系统', link: '/scenario-questions/system-design/short-url-system' },
{ text: '用户关系系统', link: '/scenario-questions/system-design/user-relation-system' }
]
},
{
text: '分布式系统类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/distributed-system/' },
{ text: '分布式ID生成器', link: '/scenario-questions/distributed-system/distributed-id-generator' },
{ text: '分布式锁', link: '/scenario-questions/distributed-system/distributed-lock' },
{ text: '分布式事务', link: '/scenario-questions/distributed-system/distributed-transaction' },
{ text: '分布式缓存', link: '/scenario-questions/distributed-system/distributed-cache' },
{ text: '分布式任务调度', link: '/scenario-questions/distributed-system/distributed-scheduler' }
]
},
{
text: '算法优化类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/algorithm-optimization/' },
{ text: '限流系统', link: '/scenario-questions/algorithm-optimization/rate-limiter' },
{ text: '一致性哈希', link: '/scenario-questions/algorithm-optimization/consistent-hash' },
{ text: '布隆过滤器', link: '/scenario-questions/algorithm-optimization/bloom-filter' },
{ text: 'TOP K优化', link: '/scenario-questions/algorithm-optimization/top-k-optimization' },
{ text: 'LRU缓存', link: '/scenario-questions/algorithm-optimization/lru-cache' },
{ text: '跳表', link: '/scenario-questions/algorithm-optimization/skip-list' }
]
},
{
text: '数据处理类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/data-processing/' }
]
},
{
text: '高可用类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/high-availability/' }
]
},
{
text: '搜索推荐类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/search-recommendation/' }
]
},
{
text: '安全风控类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/security/' }
]
},
{
text: '消息通信类',
collapsed: true,
items: [
{ text: '概览', link: '/scenario-questions/messaging/' }
]
}
]
}
}
}Markdown文档内部链接
相对路径链接
在Markdown文档中使用相对路径链接到其他文档:
markdown
## 相关场景题
- [秒杀系统](../high-concurrency/seckill-system.md) - 高并发经典案例
- [分布式锁](../distributed-system/distributed-lock.md) - 并发控制
- [限流系统](../algorithm-optimization/rate-limiter.md) - 流量控制绝对路径链接
也可以使用绝对路径(从docs根目录开始):
markdown
## 相关技术栈
- [Redis缓存](/redis/) - 高性能缓存
- [MySQL数据库](/mysql/) - 关系型数据库
- [分布式系统](/distributed-system/) - 分布式理论
- [高性能优化](/high-performance/) - 性能优化技术文档关联示例
在场景题中添加技术栈链接:
markdown
## 三、技术选型
### 推荐技术栈
| 组件 | 技术选型 | 相关文档 |
|------|----------|----------|
| 缓存 | Redis | [Redis文档](/redis/) |
| 数据库 | MySQL | [MySQL文档](/mysql/) |
| 消息队列 | Kafka | [Kafka文档](/middleware/message-queue/kafka-deep-dive.md) |
| 限流 | Sentinel | [限流系统](../algorithm-optimization/rate-limiter.md) |
**扩展阅读**:
- [Redis缓存策略](/redis/3_storage/) - 了解缓存穿透、击穿、雪崩
- [MySQL索引优化](/mysql/index/) - 优化查询性能
- [分布式锁实现](/distributed-system/distributed-lock-implementations.md) - 多种实现对比导航菜单说明
一级导航
- 场景面试题 - 主入口,包含所有类别的索引
二级导航(10大类别)
- 高并发类 - 秒杀、抢红包、抢票、直播、大促
- 地理位置类 - 附近的人、距离计算、电子围栏、打车
- 系统设计类 - 点赞、评论、推荐、短链、用户关系
- 分布式系统类 - 分布式ID、锁、事务、缓存、调度
- 算法优化类 - 限流、一致性哈希、布隆过滤器、TOP K、LRU
- 数据处理类 - 实时统计、数据去重、日志分析
- 高可用类 - 异地多活、降级、灰度、容灾
- 搜索推荐类 - 搜索引擎、推荐算法、排序
- 安全风控类 - 防刷、反爬、风控、权限
- 消息通信类 - IM、推送、弹幕、通知
搜索优化
文档元数据
在每个Markdown文件开头添加frontmatter:
yaml
---
title: 如何设计秒杀系统
description: 深入讲解秒杀系统的设计,包括限流、防超卖、高并发处理等核心技术
keywords: 秒杀, 高并发, 限流, Redis, 分布式锁
category: 场景面试题
tags: [高并发, 系统设计, 面试]
difficulty: 高级
---内容关键词
在文档中合理使用关键词,提升搜索排名:
- 问题关键词:秒杀、高并发、限流、分布式
- 技术关键词:Redis、MySQL、Kafka、Nginx
- 算法关键词:令牌桶、雪花算法、一致性哈希
快速访问
推荐路径
对于初学者:
- 先看场景面试题概览了解整体结构
- 选择自己的岗位和级别,按推荐路径学习
- 从简单到复杂,循序渐进
对于面试准备:
- 查看高频面试题
- 根据目标公司选择重点题目
- 动手实现核心代码,进行压测
对于技术提升:
- 深入学习感兴趣的场景题
- 阅读相关技术栈文档
- 在实际项目中应用和优化
文档维护
添加新场景题
- 在对应类别目录下创建Markdown文件
- 使用统一的8章节模板
- 添加多语言代码实现
- 补充架构图和流程图
- 更新类别索引页面
- 更新导航配置
更新现有文档
- 保持8章节结构不变
- 补充新的技术方案
- 更新性能数据
- 添加相关资源链接
- 优化代码实现
反馈和贡献
如有问题或建议,欢迎:
- 提交Issue
- 提交Pull Request
- 联系维护者
注意:本导航配置基于VitePress,如果你使用其他文档框架(如Docusaurus、GitBook等),请根据对应框架的配置方式调整。
