Skip to content

4)面试题 ​

一、鉴权与权限控制 ​

  1. 鉴权和授权的区别是什么?

    • 鉴权(Authentication):验证用户是谁。
    • 授权(Authorization):验证用户能做什么。
  2. JWT 和 Session 有什么区别?各自优缺点?适用场景?

  3. RBAC 与 ABAC 的区别?各适用于什么业务场景?

  4. 如何在分布式系统中统一权限管理?Token 应该如何验证?

  5. 设计一个权限系统(支持角色、菜单、按钮级控制),数据库表结构怎么设计?如何扩展性强?

  6. 前后端分离项目中,如何防止用户伪造权限访问敏感接口?

二、微服务架构设计 ​

  1. 微服务的核心优势是什么?和单体架构的最大区别在哪?

  2. 微服务拆分的粒度怎么把握?是否有最佳实践?

  3. 服务注册与发现的机制是怎么实现的?用过哪些注册中心?(如 Consul、Nacos、Eureka)

  4. 微服务中如何进行配置中心管理?有没有动态配置刷新经验?

  5. 如何实现服务熔断与降级?Spring Cloud、Sentinel、Hystrix 如何选型?

  6. 如何在多个微服务之间共享公共模块(如工具类、通用中间件、实体)?

三、服务间通信 ​

  1. 微服务之间通信方式有哪些?同步与异步通信的场景如何选择?

  2. 说一下 HTTP REST 与 gRPC 的对比?你会选择哪种?为什么?

  3. 消息队列在服务通信中如何使用?有哪些消息队列?区别是什么?

  4. 服务之间调用失败了,如何保证消息不丢失或系统不雪崩?

  5. 接口幂等性在服务间通信中怎么保证?

  6. 如何在链路中追踪一次请求经过了哪些服务?用过哪些链路追踪工具?

四、Redis 实践与优化 ​

  1. Redis 常见的数据结构有哪些?应用场景分别是什么?

  2. Redis 缓存雪崩、穿透、击穿的原理及解决方案?

  3. Redis 分布式锁如何实现?为什么要设置过期时间?如何防止锁误删?

  4. Redis 的持久化机制 RDB 与 AOF 区别?你怎么选?

  5. Redis 是单线程模型,为什么性能这么高?它的并发模型是怎样的?

  6. Redis 集群部署方式有哪几种?如何保证高可用?主从复制、哨兵机制怎么理解?

五、日志、监控与系统管理 ​

  1. 系统日志分为哪几种级别?如何规划日志输出?

  2. 如何设计一个高效的日志采集与分析方案?用过哪些工具?(如 ELK、EFK)

  3. 什么是链路追踪?常见工具有哪些?你了解 Trace ID 的原理吗?

  4. 你如何监控一个线上服务的运行状态?遇到故障如何快速定位问题?

  5. 如何对微服务系统进行 Prometheus + Grafana 的监控部署?

  6. 如果某个接口调用延迟明显变长,你会如何排查性能瓶颈?

六、高并发处理 ​

  1. 什么是高并发?系统承载能力与吞吐量之间的关系是?

  2. 常见限流算法有哪些?(如漏桶、令牌桶)分别应用场景是什么?

  3. 如何实现接口限流?用过哪些限流组件(如 Sentinel、RateLimiter)?

  4. 你如何设计一个秒杀系统?如何防止超卖?如何保证一致性?

  5. 在高并发场景中,数据库如何优化读写性能?如何做到读写分离?

  6. 说说你对 CAP 原理的理解,分布式系统如何权衡一致性与可用性?

七、分库分表与数据拆分 ​

  1. 为什么要分库分表?它解决了什么问题?

  2. 分库分表后 ID 怎么生成?用过哪些方案?(如雪花算法、UUID、数据库自增)

  3. 如何设计分库分表策略?按照时间、ID 还是业务字段?

  4. 查询需要跨库/跨表时怎么处理?如何避免性能下降?

  5. 用过哪些中间件实现分库分表?(如 ShardingSphere、MyCAT)它们的原理是什么?

  6. 分库分表如何做数据迁移?如何保证业务不中断?