SorryToPerson logo
返回
后端2026-04-15

后端面试题:系统设计与架构

总结后端系统设计、服务架构、扩展性与容错性相关的常见面试题。

后端面试题:系统设计与架构

1. 请描述高可用系统的关键要素。

  • 多副本部署。
  • 自动故障切换。
  • 健康检查与服务发现。
  • 数据和状态的可靠存储。

2. 什么是 CAP 定理?

  • 一致性(Consistency)。
  • 可用性(Availability)。
  • 分区容忍性(Partition tolerance)。
  • 系统通常只能在三者中同时满足两项。

3. 你如何设计一个可扩展的 API 服务?

  • 采用水平扩展而不是垂直扩展。
  • 使用负载均衡和反向代理。
  • 解耦服务、使用缓存与异步消息。

4. 数据库读写分离适用哪些场景?

  • 读请求远多于写请求。
  • 可以通过主从复制保证数据最终一致性。
  • 需要处理延迟和主从同步问题。

5. 服务拆分为微服务的优缺点是什么?

优点:更好模块化、独立部署、按需扩展。 缺点:分布式复杂性、网络延迟、运维成本增加。

6. 如何处理分布式系统中的幂等性?

  • 设计接口可以重复调用而不产生额外副作用。
  • 使用唯一请求 ID、幂等写入策略。

7. 什么是缓存穿透、缓存雪崩、缓存击穿?

  • 缓存穿透:查询不存在的数据,直接穿透到后端。
  • 缓存雪崩:缓存同时失效,大量请求打到后端。
  • 缓存击穿:热点数据失效时高并发访问。
  • 解决方式包括布隆过滤器、互斥锁、过期错峰。

8. 你如何评价一个系统的性能瓶颈?

  • 监控 CPU、内存、I/O、网络、请求延迟。
  • 分析日志、Profile 和慢查询。
  • 重点关注最耗时或最频繁的组件。
后端架构系统设计