摘要本文以互联网大厂面试为背景严肃面试官与“水货”程序员谢飞机三轮过招围绕JVM、Spring全家桶、微服务治理、Kafka/Redis、安全与K8s等核心技术问题递进、场景真实文末附详细答案解析助小白快速上手。大厂Java面试实战JVM(G1/ZGC)、Spring Boot/Cloud、Kafka/Redis、安全与K8s全链路问答含答案场景开篇面试地点在某互联网大厂的会议室。面试官冷静严谨坐在桌子另一端谢飞机略显紧张但爱抖机灵捧着保温杯进门。面试官我们按电商业务链路来聊三轮。简单题答得清楚我会夸你并引导难题如果答不清也没关系尽量说思路。 谢飞机好的领导我准备了三套表情包。第一轮电商下单主链路Java基础、Spring Boot、数据库与缓存Q1.热身-简单Java 11/17 相比 8 的关键改进会影响你的服务开发哪些点Q2.场景-中等订单服务用 Spring Boot JPA/Hibernate 访问 MySQL连接池为何首选 HikariCP如何设置最大连接数Q3.性能-中等下单接口QPS上来后如何用 Redis 缓存热点商品详情并避免缓存穿透/击穿/雪崩Q4.工程-进阶多环境数据库变更如何做可回滚、可审计的迁移Flyway 与 Liquibase 怎么选Q5.测试-中等如何用 JUnit 5 Mockito 做 Service 层单元测试并在CI里跑面试官前面还行思路基本对。 谢飞机夸我 面试官继续。第二轮微服务与消息Spring Cloud、Resilience4j、KafkaQ6.治理-简单在 Spring Cloud 里服务间调用超时与重试如何配置为什么建议配合Resilience4j做隔离和限流Q7.一致性-进阶电商“下单→扣减库存”跨服务用 Kafka 异步解耦。如何保证消息不丢、幂等处理和“准”Exactly-OnceQ8.可观测-中等如何用 Micrometer Prometheus Grafana 监控下单延迟、错误率并在链路上接入 Zipkin/JaegerQ9.接口-中等订单API如何用 OpenAPI/Swagger 管理版本给前端与第三方开放面试官有些点说得不错比如限流与隔离。 谢飞机主要是我做人也比较限流。第三轮安全与运维Spring Security/OAuth2、CI/CD、K8sQ10.鉴权-简单如何用 Spring Security OAuth2 Keycloak 做统一认证与角色权限支持BFF/前后端分离Q11.发布-中等GitHub Actions/Jenkins 构建 Docker 镜像并部署到 Kubernetes如何进行滚动更新与灰度发布Q12.应急-进阶生产事故Kafka 积压、Redis 热点Key抖动、数据库慢查询你的止血与根因分析步骤面试官好的今天就到这。回去等通知。 谢飞机我等你消息就像消费者等消息队列。全部问题答案详解新手友好版A1. Java 11/17 关键点与影响语言/库var、本地变量类型推断Records、Sealed Classes17新HTTP ClientText Blocks15。JVM/GCG1 默认化、ZGC/ Shenandoah 低停顿Class Data SharingJEP系列性能增强。影响内存占用更稳、延迟可控结合容器化-XX:UseContainerSupport更友好对高并发接口、流式场景收益大。A2. HikariCP 与连接数HikariCP 延迟低、抖动小、监控暴露友好。最大连接数需与MySQL后端、实例规格、服务Pod数匹配maxPoolSize ≈ 后端最大连接数 - 预留/ Pod数。常配connectionTimeout、idleTimeout、minimumIdle。JPA/Hibernate注意批量写入hibernate.jdbc.batch_size、二级缓存关闭或精细化。A3. Redis 缓存三板斧穿透布隆过滤器/缓存null 短TTL击穿热点Key加互斥锁set nx ex或逻辑过期异步刷新雪崩随机TTL、分散失效结合 Spring Cache 或 CacheManagerCaffeineRedis构建多级缓存。A4. 数据库迁移Flyway以版本脚本V1__init.sql为主简单直观LiquibaseXML/YAML/JSON变更集表达力强适合复杂变更与审计。选型中小团队多用Flyway金融/审计要求高的团队偏Liquibase。均可在CI中做pre-check并支持回滚策略备份表/可逆变更集。A5. 测试与CIJUnit5 Mockito/AssertJ 做单测覆盖Service层业务Dockerfile 构建时跑 mvn -DskipTestsfalse testGitHub Actions/Jenkins 流水线并行执行单测与静态检查SpotBugs/Checkstyle。A6. 超时、重试、隔离OpenFeign 超时connectTimeout/readTimeoutRetryer 控制重试策略Resilience4j限流RateLimiter、熔断CircuitBreaker、隔离Bulkhead、超时TimeLimiter与Prometheus联动暴露熔断率。A7. Kafka 一致性生产acksall、enable.idempotencetrue、retries 合理事务型生产者确保“写库发消息”一致OutboxCDC更稳。消费幂等关键业务端去重幂等键、消费位点手动提交、Exactly-Once Processing 借助事务幂等保障达到“实际几乎一次”。A8. 可观测Micrometer 采集业务指标订单延迟、错误率、QPSPrometheus拉取Grafana看板TraceSleuth/OTel埋点Zipkin/Jaeger收敛日志Logback JSON 输出接入 ELKFilebeat→Logstash→ES→Kibana。A9. API治理OpenAPI 规范定义接口契约与版本SpringDoc/Swagger UI 提供交互文档HATEOAS 在部分场景增强可发现性Retrofit/Jersey/RESTEasy 作为客户端/服务端备选。A10. 认证授权Keycloak 做IdP支持OIDCSpring Security Resource Server 校验JWT多端BFF/前后端分离RBAC 与细粒度权限必要时引入 Attribute-Based Access Control单点登录与登出、Token刷新、跨域与CSRF保护。A11. CI/CD 与 K8s构建Maven/Gradle → Docker 镜像多阶段构建减小体积部署Kubernetes Deployment 滚动更新maxSurge/maxUnavailable灰度可用Service Ingress 权重路由/服务网格配置ConfigMap/SecretHPA基于CPU/QPS回滚利用镜像tagDeployment revision。A12. 事故处置Kafka 积压限流入口、扩容分区与消费者、排查慢消费反序列化/下游IO临时跳过死信Redis 热点引入本地缓存Caffeine、Key打散、热点隔离DB 慢查询explain 优化索引、读写分离、引入缓存/异步化、观察连接池等待全链路结合Prometheus告警、ELK检索、Trace定位关键服务。扩展话题简述MVC vs WebFlux前者线程/阻塞模型适合大多数IO非密集场景WebFlux适合高并发IO密集与流式推送。MyBatis 与 JPA前者SQL可控、性能透明后者开发效率高、适合CRUD与领域建模。AI 与搜索在内容/UGC推荐或客服可结合RAG、向量检索Milvus/Chroma/Redis、EmbeddingOpenAI/Ollama、Agent工作流注意“AI幻觉”的结果校验与监控。其它Dubbo作为RPC补充R2DBC用于响应式数据库访问WebSocket用于订单状态实时推送。结束语祝每位候选人都能在真实业务里把技术用出来。