1. Spring Cloud 组件介绍
答题结构:核心组件 + 功能说明 + 应用场景简述
- Eureka:服务注册与发现组件,类似于服务的“电话本”。
- Ribbon:客户端负载均衡工具,配合 RestTemplate 使用,实现服务间的请求负载均衡。
- Feign:声明式服务调用工具,简化服务间的 HTTP 通信,基于 Ribbon 和 Hystrix。
- Hystrix / Resilience4j:服务容错、熔断、降级组件,用于防止雪崩效应。
- Gateway:API 网关组件,提供统一入口、权限校验、路由转发等功能。
- Config:集中式配置管理,支持动态刷新,适合多环境配置统一管理。
- Bus:配合 Config 使用,实现配置动态刷新传播。
- Sleuth + Zipkin:分布式链路追踪,分析请求在各服务之间的调用链路。
2. 大批量插入数据的办法
答题结构:常用方法 + 优化建议 + 实战经验
- 使用 JDBC 批处理(
addBatch()
+executeBatch()
),一次性提交多条 SQL。 - 使用数据库特性,如 MySQL 的
LOAD DATA INFILE
,性能极高。 - ORM 框架优化,例如 MyBatis 使用
foreach
标签 + 手动 commit 控制事务大小。 - 合理设置事务大小(如每 500 或 1000 条提交一次),防止内存占用过高。
- 使用中间件(如 Kafka + Flink)进行异步缓冲再写入数据库。
3. RocketMQ 应用场景
答题结构:核心优势 + 场景举例
- 解耦异步:订单系统中,下单后发送消息到库存、物流系统。
- 削峰填谷:秒杀抢购场景,先写入 MQ,消费者异步消费。
- 事务消息:例如电商系统中订单生成与扣款操作需要强一致性。
- 广播消息:全量通知多个系统,如系统升级广播。
- 延时消息:比如 30 分钟未支付订单自动取消。
4. Redis 的数据结构和应用场景
答题结构:数据结构 + 典型应用
- String:最基本类型,常用于缓存简单对象、计数器。
- Hash:适合存储对象,如用户信息(user:id -> {name, age})。
- List:消息队列(先进先出),比如评论列表、日志收集。
- Set:无序不重复,适合标签、点赞用户集合等。
- ZSet(有序集合):排行榜、延迟队列(score 控制时间戳)。
- Bitmap:统计活跃用户、签到、布隆过滤器底层实现。
- HyperLogLog:大数据去重统计,如 UV(独立访客)计数。
5. Git 分支的 release 和 merge 区别
答题结构:用途 + 流程对比
-
release 分支:用于预发布、稳定测试阶段。通常从
develop
分出,测试通过后 merge 到master
和develop
。 -
merge:是 Git 的操作,不是分支;用于将一个分支的变更合并到另一个分支。
- 合并方式:
--no-ff
、--squash
等。 - 注意冲突处理与历史记录维护。
- 合并方式:
6. Redis 的高可用方案
答题结构:核心方案 + 各自特点
- 主从复制:基础高可用架构,读写分离,主库故障无法自动切换。
- 哨兵 Sentinel:自动故障转移 + 客户端通知 + 主从结构。
- Redis Cluster:分片 + 高可用,适合大规模数据处理。
- 持久化机制:RDB(快照)和 AOF(日志)双重保障。
- Keepalived + VIP:构建高可用服务入口层。
7. MySQL 索引类型介绍
答题结构:类型 + 应用场景
- 主键索引(Primary Key):唯一性 + 自动创建聚簇索引。
- 唯一索引(Unique):保证列唯一性。
- 普通索引(Index):提高查询效率,无唯一性限制。
- 联合索引(Composite Index):多列组合索引,需注意最左前缀原则。
- 全文索引(Fulltext):适用于大文本 LIKE 查询,如搜索引擎功能。
- 空间索引(Spatial):用于地理信息系统(GIS)。
8. 分库分表场景
答题结构:背景 + 具体应用 + 难点
- 场景:单表数据量过大(千万级以上)或单库连接压力大。
- 分表:如订单表按用户 ID、时间进行分表。
- 分库:不同业务分库,或按租户、地区等逻辑隔离。
- 实现方式:ShardingSphere、MyCat、中间件路由等。
- 难点:跨库事务、全局 ID、聚合查询、数据迁移。
9. Linux 常用命令
答题结构:按使用场景分类
-
文件管理:
ls
,cd
,cp
,mv
,rm
,mkdir
,touch
-
权限管理:
chmod
,chown
,chgrp
,umask
-
进程管理:
ps
,top
,kill
,htop
,nice
-
网络管理:
ping
,netstat
,ss
,curl
,wget
,telnet
-
磁盘管理:
df
,du
,mount
,umount
-
日志查看:
tail -f
,less
,grep
-
系统资源:
uptime
,free
,vmstat
,iostat
-
包管理(CentOS):
yum install
,rpm -qa
?