面试官视角:
"简历里写着'熟练掌握 Java 主流技术栈,具备从需求分析到服务治理的分布式微服务架构设计与开发经验',那我就要在 45 min 内验证 4 件事:
- 真干过(深度) 2. 真解决过问题(宽度) 3. 真带过团队(高度) 4. 真持续学习(活度)"
一、青铜区:基础中的"必答题"------答错直接挂
-
自我介绍(1 min 版)
满分模板:
"我叫××,7 年 Java,3 年微服务。0-1 主导过 3 个中台(订单/消息/支付),峰值 1.2 w TPS,P99 1.2 s;把 300 w 行单体拆成 52 个服务,上线 0 事故;带 8 人小组,2 人晋升 P7。本次应聘贵司开发工程师域架构师,希望能把'高并发+高复用'经验复制过来,帮团队至少再省 20% 服务器成本。"
利他得分点:数字、结果、对方公司痛点。
-
SpringBoot 自动装配到底做了什么?
关键词:@EnableAutoConfiguration → spring.factories → Conditional 派生 → 创建 BeanDefinition → 减少样板代码。
扣分点:只答"开箱即用"。
-
常用注册中心区别?
关键词:CP/AP、Watch 机制、雪崩保护、心跳协议。
利他模板:
"Eureka 保证 AP,牺牲一致性,适合交易峰谷明显的场景;Nacos 同时支持 CP/AP 一键切换,我们大促把 order-service 临时切到 CP,避免了脏读超卖。"
二、白银区:日常开发"见血"题------答好才给过
- 配置中心如何做到"热更新"且"线程安全"?
关键词:@RefreshScope 代理 → 延迟刷新 → 配置版本号 → 异步事件。
利他模板:
"我们利用 Nacos 的 MD5 对比版本号,只下发差异,降低 70% 网络流量;对并发读场景,采用 CopyOnWrite + 读写锁,热更新 0 阻塞。"
-
熔断 vs 限流 vs 降级的区别和搭配顺序?
关键词:熔断保护下游、限流保护自己、降级保护用户。
口诀:先限流→再熔断→最后降级。
利他案例:
"618 峰值我们把库存查询限流 1 w/s,超出走本地缓存;下游 Redis 超时率>5% 时 Hystrix 熔断 5 s,返回'排队中'降级页面,核心下单链路 0 影响。"
-
Spring Cloud Gateway 与 Zuul1 性能差多少?怎么选?
关键词:Netty vs Servlet2.x、QPS 差 3~5 倍、长连接、WebSocket。
利他结论:
"新集群直接上 Gateway;老 Zuul1 迁移成本>2 人月可暂缓,但要把 Ribbon 超时调低,防止线程打满。"
-
分布式事务怎么选型?
关键词:2PC、TCC、Saga、最终一致、最大努力通知。
利他模板:
"支付成功→加积分必须强一致,用 RocketMQ 事务消息;库存扣减允许秒级延迟,用 TCC+本地消息表,成本降低 40%。"
三、黄金区:高并发"救命"题------答深才能谈薪水
- 1.2 w TPS 下单接口,你怎么做到 P99 1.2 s?
关键词:缓存预热 + 异步扣库存 + 队列削峰 + 读写隔离。
利他 4 板斧:
- 提前 1 h 把热点 SKU 缓存到本地 Caffeine,命中 95%;
- 下单先写 Redis 队列,返回"排队中",前端轮询,接口 RT 20 ms 内;
- 消费端批量落库,合并 20 条单刷一次,磁盘 IO 降 90%;
- 读写分离 + 分库分表,16 库 32 表,单表 2 kw 行再拆。
-
网关层怎么做"同一用户 1 s 只能请求 1 次"?
关键词:Lua + Redis + TokenKey(用户+接口+时间窗口滑动)。
利他细节:
"用 Redis List 结构,lpush+trim 保持 1 s 长度,lua 脚本保证原子性,网关集群 QPS 6 w 无锁冲突。"
-
Nacos 2.x 升级 gRPC 后,长连接打满 6.5 w 条,CPU 飙高,如何排查?
关键词:epoll_wait 风暴 + gRPC 默认流控窗口 + Netty 参数。
利他答案:
"把 nacos.remote.server.grpc.worker.threads 从默认值调成 CPU*2,同时调小 flow-control-window 1 M→256 k,CPU 降 40%,连接数稳定 4 w。"
-
Sentinel 集群限流"总流量<各节点之和"怎么解?
关键词:Token Server 统一令牌 + 本地兜底 + 自适应时间窗口。
利他方案:
"独立 Token Server 承担 10 w/s 令牌分发,节点本地漏桶兜底 20% 余量,网络抖动时自动降级到单机限流,保证可用。"
-
RocketMQ 消息积压 500 w 条,磁盘只涨不消,如何 1 min 止血?
关键词:先扩容队列→再跳过重试→再死信。
利他 3 步:
- 秒级升配 24 Queue→48 Queue,重平衡;
- 关闭 retry,consumer 直接批量 ack,把 TPS 从 2 k 提到 1.2 w;
- 把 16 次重试改为 2 次,剩余进死信,磁盘 30 min 回落 60%。
四、王者区:架构与团队"灵魂"题------答完给 Offer
- 如果让你从 0 设计一条"秒杀新链路",你会重点考虑哪些质量属性?怎么权衡?
关键词:性能、成本、安全、可观测、可扩展、可运维。
利他结构化回答:
"采用 RBAC 质量属性场景法:
-
性能场景:2 w TPS 下 P99<500 ms,用本地缓存+异步队列;
-
成本场景:峰值机器 200 台→日常 20 台,用 K8s HPA+Spot 实例,节省 65%;
-
安全场景:防黄牛,接入阿里云 WAF+滑动验证码,异常 UA 限速 100 QPS;
-
可观测:OpenTelemetry 埋点,Trace→Metrics→Log 三合一,告警 1 min 内触达;
-
可扩展:业务域垂直分库+事件总线,后续支持虚拟库存、跨境仓;
-
可运维:蓝绿+灰度,Argo Rollout 一键回滚,MTTR<5 min。"
-
怎么说服老板"把 Spring Cloud Alibaba 全家桶从 2021 版升级到 2022.x"?
利他 4 象限:
① 风险:现有版 Sentinel 1.8.1 有流控 bug,官方已 CVE;
② 收益:Nacos 2.2 支持 MCP 协议,配置同步性能+50%;
③ 成本:评估 3 人日,灰度 5% 节点,可回滚;
④ 时机:下月无大促,窗口充裕。
结论:升级 ROI=12 倍,老板当场签字。
-
带 8 人团队,但成员水平参差不齐,如何落地 Code Review 又不拖进度?
关键词:分层 review+LGTMC+静态门禁。
利他实践:
"资深 2 人负责'架构+算法'Review,初级只 Review 规范;引入 SonarQube 质量门禁,覆盖率<60%、Bug>A 一律无法合并,Review 时间从人均 40 min 降到 12 min,线上故障半年 0 P1。"
-
最近一次线上事故,你作为技术负责人怎么复盘?
STAR 法:
S:订单服务因 Druid 连接池 bug 导致 FullGC 10 s;
T:5 min 内止血,30 min 内恢复;
A:1) 立刻重启+降级,2) 把 HikariCP 替换 Druid,3) 把 GC 日志接 Prometheus,4) 写进 ON-CALL 手册;
R:同类型事故再未发生,团队获季度质量奖。
利他亮点:输出 1 份"连接池选型决策表",被公司 5 个部门复用。
五、反杀区:向面试官提 3 个高质量问题
- "贵司当前微服务最大的技术债是什么?如果我入职,最优先解决的战场在哪?"
→ 体现你愿意背锅。 - "团队对'可观测性'的成熟度怎么评估?有没有 SLO 驱动的 Error Budget 机制?"
→ 亮出高阶质量意识。 - "贵司对技术人转产品/IPD 的通道是否开放?我有一套 IPD 实践,已在原部门帮公司节省 20% 成本,是否有内部孵化计划?"
→ 把"利他"写进未来。
六、一句话总结
面试官要的不是"百科全书",而是"能把技术变成钱,还能带着兄弟一起挣"的人。
把上面 30 题打印出来,每题写 20 秒"利他金句",贴墙背 3 天,
面试时你开口,他听到的就不是答案,而是"利润"和"安全感"。
祝你 45 min 后拿到那句------"就你了,期望薪资我们再往上加 2 k。"