面试官问"你用过哪些技术栈?"——不是在考你罗列名词,而是在考你能否说清楚这些技术在企业里是怎么组合使用的
1. 知识体系导图
企业开发技术栈全景 (6大模块)
│
├── 1 核心开发框架层
│ ├── Spring Boot (自动配置/Starter/Actuator/多环境配置)
│ ├── Spring Cloud Alibaba (Nacos/Sentinel/Gateway/Seata/OpenFeign)
│ ├── 持久层框架 (MyBatis-Plus/JPA/ShardingSphere)
│ ├── 网关与认证授权 (Gateway/JWT/OAuth2/RBAC/Sa-Token)
│ └── 定时任务与异步 (XXL-JOB/Spring @Async/线程池)
│
├── 2 数据存储与中间件层
│ ├── 关系型数据库 (MySQL/MySQL优化/分库分表/读写分离)
│ ├── 缓存 (Redis/缓存穿透击穿雪崩/分布式锁/Redisson)
│ ├── 消息队列 (RocketMQ/RabbitMQ/Kafka 选型)
│ ├── 搜索引擎 (Elasticsearch/ES查询优化/日志分析)
│ └── 文档数据库 (MongoDB/适用场景)
│
├── 3 DevOps与云原生工具链
│ ├── 容器化 (Docker/Dockerfile优化/Docker Compose)
│ ├── 容器编排 (Kubernetes/Pod/Service/Ingress/Helm)
│ ├── CI/CD (Jenkins/GitLab CI/GitHub Actions/流水线设计)
│ ├── 代码管理 (Git Flow/分支策略/Code Review)
│ └── 基础设施即代码 (Ansible/Terraform)
│
├── 4 监控告警与可观测性
│ ├── 指标监控 (Prometheus/Micrometer/Spring Actuator)
│ ├── 可视化 (Grafana/看板设计/告警规则)
│ ├── 日志聚合 (ELK/Filebeat/日志采集架构)
│ ├── 链路追踪 (SkyWalking/OpenTelemetry/Dapper模型)
│ └── 告警通知 (Alertmanager/企业微信/钉钉)
│
├── 5 不同规模公司的技术栈差异
│ ├── 初创公司 (单体/阿里云全家桶/快速迭代)
│ ├── 中型公司 (Spring Cloud Alibaba/K8s/DevOps初建)
│ └── 大厂 (自研框架/多活架构/全链路可观测/混沌工程)
│
└── 6 2025-2026年技术趋势与面试热点
├── AI赋能开发 (AI代码助手/LLM集成/AI Agent)
├── 云原生深化 (Serverless/Service Mesh/FinOps)
├── 响应式编程 (WebFlux/RSocket/Virtual Threads)
└── 安全与合规 (供应链安全/零信任/SBOM)2. 模块导航
| 序号 | 模块 | 核心内容 | 面试频率 | 难度 |
|---|---|---|---|---|
| 1 | 核心开发框架层 | Spring全家桶、持久层、网关、认证授权、定时任务 | ★★★★★ | ★★★ |
| 2 | 数据存储与中间件层 | MySQL、Redis、MQ、ES、MongoDB | ★★★★★ | ★★★★ |
| 3 | DevOps与云原生工具链 | Docker、K8s、Jenkins、CI/CD | ★★★ | ★★★★ |
| 4 | 监控告警与可观测性 | Prometheus、Grafana、ELK、SkyWalking | ★★ | ★★★ |
| 5 | 不同规模公司的技术栈差异 | 初创/中型/大厂技术选型对比 | ★★ | ★★ |
| 6 | 2025-2026年技术趋势与面试热点 | AI、云原生、响应式编程 | ★★★ | ★★★ |
3. 企业技术栈全景架构图
以下是从用户请求到系统响应的完整链路,展示了各层技术组件的协作关系:
┌─────────────────────────────────────────────────────────────────────┐
│ 用户端 (Client) │
│ Web浏览器 / 移动App / 微信小程序 / 第三方开放平台 │
└──────────────────────────┬──────────────────────────────────────────┘
│ HTTPS / DNS / CDN / Nginx
┌──────────────────────────▼──────────────────────────────────────────┐
│ 接入层 (Ingress) │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │
│ │ Nginx/LVS │ │ DNS解析 │ │ CDN加速 (静态资源) │ │
│ │ (反向代理) │ │ (域名->IP) │ │ (图片/JS/CSS) │ │
│ └──────┬──────┘ └──────────────┘ └──────────────────────────┘ │
└──────────┼──────────────────────────────────────────────────────────┘
│ HTTP/HTTPS
┌──────────▼──────────────────────────────────────────────────────────┐
│ 网关层 (Gateway) │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Spring Cloud Gateway │ │
│ │ 路由转发 | 统一鉴权 | 限流熔断 | 跨域处理 | 请求日志 │ │
│ │ + Sentinel 网关流控 + JWT Token 校验 │ │
│ └─────────────────────────────────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────────────────┘
│ 服务发现 / 配置管理 (Nacos)
┌──────────────────────────▼──────────────────────────────────────────┐
│ 微服务层 (Microservices) │
│ │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ 用户服务 │ │ 订单服务 │ │ 商品服务 │ │ 支付服务 │ │ │
│ │ │ (User) │ │ (Order) │ │ (Product)│ │ (Pay) │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │ │
│ │ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │ │
│ │ │ 通知服务 │ │ 库存服务 │ │ 搜索服务 │ │ 分析服务 │ │ │
│ │ │ (Notify)│ │ (Stock) │ │ (Search) │ │ (Analytics)│ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │
│ │ │ │
│ │ 服务间调用: OpenFeign (同步) + RocketMQ (异步) │ │
│ │ 负载均衡: Spring Cloud LoadBalancer │ │
│ │ 服务熔断: Sentinel + Feign 降级 │ │
│ │ 分布式事务: Seata (AT/TCC) │ │
│ └────────────────────────────────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────────────────┘
│
┌──────────────────────────▼──────────────────────────────────────────┐
│ 中间件层 (Middleware) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ MySQL │ │ Redis │ │ RocketMQ │ │
│ │ (主从+分库) │ │ (缓存+分布式 │ │ (消息解耦+异步) │ │
│ │ MyBatis-Plus│ │ 锁+Session) │ │ 可靠投递+事务 │ │
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Elasticsearch│ │ MongoDB │ │ ShardingSphere │ │
│ │ (搜索+日志) │ │ (非结构化) │ │ (分库分表+读写分离)│ │
│ └──────────────┘ └──────────────┘ └──────────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ XXL-JOB │ │ MinIO/OOS │ │
│ │ (分布式调度) │ │ (对象存储) │ │
│ └──────────────┘ └──────────────┘ │
└──────────────────────────┬──────────────────────────────────────────┘
│
┌──────────────────────────▼──────────────────────────────────────────┐
│ 可观测性层 (Observability) │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Prometheus │ │ Grafana │ │ ELK │ │ SkyWalking │ │
│ │ (指标采集) │ │ (可视化) │ │ (日志分析) │ │ (链路追踪) │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ ┌────────────┐ ┌────────────┐ │
│ │ Alertmanager│ │ 告警通知 │ │
│ │ (告警管理) │ │ (企微/钉钉) │ │
│ └────────────┘ └────────────┘ │
└──────────────────────────┬──────────────────────────────────────────┘
│
┌──────────────────────────▼──────────────────────────────────────────┐
│ DevOps层 (部署运维) │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Docker │ │ Kubernetes │ │ Jenkins │ │ Harbor │ │
│ │ (容器化) │ │ (容器编排) │ │ (CI/CD) │ │ (镜像仓库) │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────────────────────┘核心认知:企业技术栈不是技术名词的堆砌,而是一条完整的请求链路。面试时能把这条链路上每个节点的职责和选型理由讲清楚,远比罗列20个名词更有说服力。
4. 核心概念速查
4.1 核心开发框架层 (15项)
| 技术 | 核心定位 | 面试考察重点 |
|---|---|---|
| Spring Boot | 微服务基石,自动配置 | 自动配置原理、@Conditional、Starter机制 |
| Spring Cloud Alibaba | 微服务全家桶 | Nacos、Sentinel、Gateway、Seata四大组件 |
| Nacos | 注册中心+配置中心 | AP/CP模式、健康检查、配置热更新 |
| Sentinel | 流量控制框架 | 流控模式、熔断降级、热点参数限流 |
| Spring Cloud Gateway | API网关 | 路由谓词、过滤器链、鉴权方案 |
| OpenFeign | 声明式HTTP客户端 | 超时配置、拦截器、性能优化 |
| Seata | 分布式事务框架 | AT/TCC/Saga模式选型 |
| MyBatis-Plus | ORM增强框架 | BaseMapper、条件构造器、分页插件 |
| JPA/Hibernate | ORM标准规范 | 懒加载、N+1问题、级联操作 |
| ShardingSphere | 分库分表中间件 | 分片策略、读写分离、分布式主键 |
| Spring Security | 认证授权框架 | SecurityFilterChain、OAuth2客户端 |
| Sa-Token | 轻量级权限框架 | 登录认证、权限校验、SSO |
| JWT | 无状态令牌 | Token结构、刷新策略、黑名单 |
| OAuth2.0 | 授权协议 | 授权码模式、PKCE、四种授权模式 |
| XXL-JOB | 分布式任务调度 | 分片广播、失败处理、动态调度 |
4.2 数据存储与中间件层 (15项)
| 技术 | 核心定位 | 面试考察重点 |
|---|---|---|
| MySQL | 关系型数据库 | 索引、事务隔离级别、MVCC、锁机制、SQL优化 |
| MySQL分库分表 | 水平扩展 | 分片键选择、跨分片查询、分布式ID |
| Redis | 高性能缓存 | 数据结构、持久化、主从/哨兵/集群 |
| Redis缓存问题 | 缓存设计 | 穿透/击穿/雪崩解决方案 |
| Redisson | Redis客户端 | 分布式锁实现原理、RLock源码 |
| RocketMQ | 消息队列 (阿里系) | 事务消息、顺序消息、消息可靠性 |
| RabbitMQ | 消息队列 (AMQP) | 交换机类型、死信队列、延迟队列 |
| Kafka | 消息队列 (流处理) | 分区机制、ISR、高吞吐原理、Exactly-Once |
| Elasticsearch | 搜索引擎 | 倒排索引、分片路由、DSL查询、聚合分析 |
| MongoDB | 文档数据库 | 文档模型、复制集、分片集群、适用场景 |
| Canal | MySQL binlog同步 | 增量订阅、缓存一致性方案 |
| ShardingSphere-JDBC | 客户端分库分表 | 与MyBatis整合、分片算法 |
| Flyway | 数据库版本管理 | 迁移脚本、版本回滚 |
| HikariCP | 数据库连接池 | 参数调优、连接泄露检测 |
| DataX | 离线数据同步 | 异构数据源、全量+增量同步 |
4.3 DevOps与云原生工具链 (12项)
| 技术 | 核心定位 | 面试考察重点 |
|---|---|---|
| Docker | 容器化引擎 | Dockerfile优化、多阶段构建、镜像瘦身 |
| Docker Compose | 本地编排 | 多容器编排、网络配置、卷挂载 |
| Kubernetes | 容器编排平台 | Pod、Service、Ingress、Deployment、ConfigMap |
| Helm | K8s包管理 | Chart结构、模板化部署、版本管理 |
| Jenkins | CI/CD引擎 | Pipeline语法、Agent机制、插件生态 |
| GitLab CI | CI/CD集成 | .gitlab-ci.yml、Runner、Job编排 |
| GitHub Actions | CI/CD集成 | Workflow语法、Actions市场、矩阵构建 |
| Maven/Gradle | 构建工具 | 依赖管理、多模块、私服Nexus |
| Git | 版本控制 | Git Flow、分支策略、Rebase vs Merge |
| SonarQube | 代码质量 | 静态扫描、质量门禁、技术债 |
| Harbor | 镜像仓库 | 镜像复制、漏洞扫描、RBAC权限 |
| Ansible | 配置管理 | Playbook、Role、Inventory |
4.4 监控告警与可观测性 (8项)
| 技术 | 核心定位 | 面试考察重点 |
|---|---|---|
| Prometheus | 指标采集与告警 | Pull模型、PromQL、Exporter生态 |
| Grafana | 指标可视化 | 看板设计、数据源配置、告警通道 |
| ELK Stack | 日志管理 | Elasticsearch + Logstash + Kibana |
| Filebeat | 日志采集器 | 轻量级、多行处理、Kafka/ES输出 |
| SkyWalking | APM链路追踪 | 探针机制、拓扑图、性能分析 |
| Micrometer | 指标门面 | Meter类型、与Prometheus集成 |
| Alertmanager | 告警管理器 | 分组/抑制/静默、路由配置 |
| OpenTelemetry | 可观测性标准 | Trace/Metric/Log统一规范 |
4.5 不同规模技术栈 (5项)
| 公司规模 | 典型技术栈 | 团队特点 |
|---|---|---|
| 初创(0-50人) | Spring Boot + MySQL + Redis + 阿里云OSS/RDS | 单体为主,选型保守,追求效率 |
| 中型(50-500人) | Spring Cloud Alibaba + Nacos + Gateway + MQ + K8s | 微服务化中,DevOps初建 |
| 大厂(500人+) | 自研RPC框架 + Service Mesh + 多活架构 + 全链路可观测 | 深度定制,云原生成熟 |
4.6 2025-2026年技术趋势 (5项)
| 趋势方向 | 代表技术 | 面试热度 |
|---|---|---|
| AI赋能开发 | GitHub Copilot、Cursor、通义灵码、LangChain4j | |
| 云原生深化 | Serverless、WASM、Service Mesh、FinOps | |
| Java新特性 | Virtual Threads、Record Pattern、Structured Concurrency | |
| 响应式编程 | Spring WebFlux、RSocket、R2DBC | |
| 安全合规 | SBOM、零信任架构、供应链安全 |
核心要点:以上50+项技术名词,面试时不需要全部提及。应该根据面试公司规模、岗位要求、自身经验,有选择性地深入讲解3-5个你最熟悉的技术,并把它们之间的协作关系讲清楚。
5. 面试中如何回答"你用过哪些技术栈"
三层回答法:列举 -> 关系 -> 场景
面试官问这个问题,真正的考察点包括:
- 你用过的东西是停留在"会用API"层面,还是理解其原理和选型依据
- 你能不能说清楚技术之间如何协作
- 你有没有在实际项目中踩过坑、做过取舍
第一层:列举 (List) — 10秒
简明扼要地列出你主要使用的技术栈,按层次组织:
"我在上一家公司主要负责后端开发,技术栈主要是 Spring Cloud Alibaba 这一套,包括 Nacos 做注册中心和配置中心、Sentinel 做限流熔断、Gateway 做API网关。数据层用的是 MySQL + MyBatis-Plus,缓存是 Redis,消息队列用的 RocketMQ。部署在 K8s 上,用 Jenkins 做CI/CD,监控用的是 Prometheus + Grafana + SkyWalking。"
第二层:关系 (Relation) — 30秒
讲清楚这些技术之间如何协作,用一条请求链路串起来:
"举个例子,一条用户下单的请求链路是这样的:
- 请求先经过 Nginx 到达 Spring Cloud Gateway,Gateway做鉴权(解析JWT Token)和限流(集成Sentinel)
- 网关转发到 订单服务,它用 OpenFeign 调用库存服务和用户服务
- 服务间用 Seata AT模式 保证分布式事务一致性
- 缓存用了 Redis,配合 Canal 做MySQL的缓存最终一致性,先删缓存再更新DB
- 订单创建后发 RocketMQ 消息,通知服务异步处理短信通知
- 整个链路的耗时通过 SkyWalking APM追踪,关键指标上报到 Prometheus,Grafana 展示"
第三层:场景 (Scenario) — 60秒
挑1-2个你最有心得的场景,讲讲踩过的坑、做过的选型,这是真正拉开差距的部分:
"举个例子,我们之前在 技术选型 上做过一次迁移决策。最早用的是 Spring Cloud Netflix 那一套(Eureka + Hystrix + Zuul),迁移到 Spring Cloud Alibaba 主要是三个原因:
- Netflix组件进入维护期,不再有大的功能迭代
- Nacos比Eureka功能更丰富,注册中心和配置中心二合一,减少了运维组件
- Sentinel比Hystrix更强大,支持实时监控、热点参数限流、规则持久化到Nacos
迁移过程中遇到的挑战主要是 配置兼容性,从Zuul迁移到Gateway时路由规则需要重写,我们通过灰度发布逐步切换,先切20%流量到新网关,观察SkyWalking上的error rate和响应时间,确认没问题再全量切。"
回答示例总结
✗ 差:"我用过Spring Boot、Spring Cloud、MySQL、Redis、MQ、Docker、K8s..."
(听起来像是在背单词,没有深度)
✓ 中:"我主要用Spring Cloud Alibaba这套,外加MySQL、Redis、RocketMQ..."
(有层次感,有主线)
✓ ✓ 好:"我这边用Spring Cloud Alibaba全家桶...以一次下单请求为例,完整链路是..."
(用请求串联技术栈,展示对协作关系的理解)
✓ ✓ ✓ 优秀:在好的基础上,再加上具体的踩坑和选型理由
(展示深度思考和工程判断力)面试警告:不要张口就是"我全部用过"——面试官会挑一个你最不熟的追着问,露馅了反而扣分。建议主攻3-5个核心技术,保证每个都能讲30分钟以上。
6. 不同公司规模技术栈差异速览
6.1 初创公司 (0-50人)
核心诉求:快速验证、低成本、一人多能
| 维度 | 典型方案 | 说明 |
|---|---|---|
| 架构 | 单体应用 / 简单微服务 | Spring Boot单一应用,最多拆3-5个服务 |
| 注册中心 | Nacos / 甚至不用 | 服务不多时,配置写死也行 |
| 网关 | Nginx + 网关层简化 | 甚至不需要Gateway,Nginx直接反向代理到服务 |
| 部署 | 阿里云ECS / Docker Compose | 一般不碰K8s,成本高、维护重 |
| 数据库 | 单库MySQL + Redis | 不需要分库分表,RDS托管 |
| MQ | 不需要 / RocketMQ轻量版 | 业务简单时异步用线程池就够了 |
| 监控 | 阿里云CloudMonitor | 不需要Prometheus,云厂商自带的够用 |
| CI/CD | Jenkins简单流水线 / 手动部署 | 快速迭代优先 |
| 团队分工 | 全栈开发为主 | 后端也得写前端、运维 |
6.2 中型公司 (50-500人)
核心诉求:规范化、可扩展、团队协作
| 维度 | 典型方案 | 说明 |
|---|---|---|
| 架构 | 微服务 (10-30个服务) | 按业务域拆分,有明确的服务边界 |
| 注册中心 | Nacos (集群, 3节点) | AP/CP模式根据场景选择 |
| 网关 | Spring Cloud Gateway + 灰度发布 | 路由规则存Nacos,动态刷新 |
| 部署 | K8s + Jenkins Pipeline | 容器化基本成熟,DevOps团队已建立 |
| 数据库 | MySQL主从 + ShardingSphere分库 | 已有分库分表需求,读写分离 |
| MQ | RocketMQ (集群) | 事务消息、顺序消息都在用 |
| 监控 | Prometheus + Grafana + SkyWalking | 可观测性三件套基本到位 |
| CI/CD | GitLab CI / Jenkins | 自动化测试+自动部署到K8s |
| 团队分工 | 后端/前端/测试/运维明确分工 | 有专门的架构师或技术Lead |
6.3 大厂 / 头部企业 (500人+)
核心诉求:高可用、极致性能、深度定制
| 维度 | 典型方案 | 说明 |
|---|---|---|
| 架构 | 微服务 + 中台 + 多活 | 上百个服务,多机房/多区域部署 |
| 注册中心 | 自研 / 深度定制Nacos | 基于开源二次开发,支持百万级实例 |
| 网关 | 自研网关 / 多级网关架构 | 接入层+业务层+内部网关分层 |
| 部署 | Service Mesh (Istio) + K8s | Proxy注入、流量控制、安全策略 |
| 数据库 | 自研分布式数据库 / TiDB / OceanBase | 告别单机MySQL,原生分布式 |
| MQ | 自研MQ / 深度定制Kafka | 百万级QPS,高可用强一致性 |
| 监控 | 全链路可观测 + 根因分析 | OpenTelemetry统一标准,AI辅助定位 |
| CI/CD | 自研平台 / 发布系统 | 灰度发布+自动回滚+变更评审 |
| 团队分工 | 细分领域专家 | 有人专门负责JVM优化、数据库DBA、SRE |
面试策略:如果在小公司,可以结合"在小公司虽然规模不大,但因此我接触了从开发到部署的全流程"来展现广度。如果面大厂,强调"我用的是开源方案,但我研究了源码和原理",也能弥补与自研框架的差距。
7. 学习路线推荐
路线A:面试突击路线 (1-2个月)
适合准备面试的同学,优先攻面试最高频的模块:
第1-2周:Spring Boot 原理 + MyBatis-Plus 企业用法
└─ 重点:自动配置原理、条件构造器、分页
第3-4周:Spring Cloud Alibaba 四大组件
└─ 重点:Nacos AP/CP、Sentinel流控、Gateway路由、Seata AT
第5-6周:Redis + MySQL 深度
└─ 重点:缓存三大问题、分布式锁、索引、MVCC
第7-8周:MQ + 项目串讲 + 模拟面试
└─ 重点:消息可靠性、顺序消息 + 用项目经验串联路线B:系统提升路线 (3-6个月)
适合想全面提升的同学,从底层到上层:
阶段1 (1个月):Java核心 + Spring Boot 源码
└─ 读Spring Boot自动配置源码 → 理解@Conditional机制
阶段2 (1个月):微服务全栈 + 数据库深度
└─ 搭建完整微服务Demo + MySQL优化实战
阶段3 (1个月):中间件 + 容器化
└─ Redis集群方案 + RocketMQ整合 + Docker+K8s入门
阶段4 (1个月):可观测性 + DevOps + 项目整合
└─ 搭建Prometheus+Grafana + Jenkins流水线
阶段5 (1个月):新趋势 + 面试冲刺
└─ AI+Java (LangChain4j) + Virtual Threads + 模拟面试路线C:高阶深化路线 (6-12个月)
适合架构师方向的同学:
┌─ 源码级深入:Spring Cloud Alibaba 源码 + 自定义Starter
├─ 云原生转型:Service Mesh (Istio) + Serverless
├─ AI融合:Spring AI + RAG + AI原生应用架构
├─ 性能优化:JVM调优 + 全链路压测 + 性能建模
└─ 架构设计:领域驱动设计 + 事件驱动架构 + 多活架构核心要点:面试准备的重点不是"学过多少技术",而是"能用技术解决什么问题"。把力气花在选型思考和踩坑经验上,比多背10个框架名更有价值。