ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Java 面试实战:Spring Boot + Kafka + Redis + Spring Security + RAG 在互联网大厂的 3 轮高频拷问

Java 面试实战:Spring Boot + Kafka + Redis + Spring Security + RAG 在互联网大厂的 3 轮高频拷问 Java 面试实战Spring Boot Kafka Redis Spring Security RAG 在互联网大厂的 3 轮高频拷问场景互联网大厂 Java 求职面试人物严肃面试官、搞笑的水货程序员燕双非第一轮电商订单与缓存基础面试官你先说说我们这个电商大促下单场景为什么后端服务通常会先用 Spring Boot 起项目而不是上来就堆一堆复杂框架燕双非因为 Spring Boot 开箱即用自动配置多少写 XML启动也快。像电商这种订单、库存、支付拆成多个服务的场景用它搭基础比较省事。面试官回答得还行至少知道它解决的是工程效率问题。那如果下单接口要防止重复提交你会怎么设计燕双非嗯……可以先在 Redis 里放一个幂等标记前端点一次就写一次没写进去就说明重复了……大概这样。面试官思路有点影子但你说得不够严谨。你继续补一下为什么不用只靠前端控制燕双非前端不可靠用户可以刷新、重放请求甚至并发点。后端要靠 token、唯一业务单号、Redis 原子操作或者数据库唯一索引一起兜底。面试官这次就对了。那订单创建后库存扣减、积分发放、消息通知为什么通常会接 Kafka燕双非因为它能解耦。下单主流程只管快速返回后面的库存、积分、短信异步消费。高峰期还能削峰填谷避免把订单接口压爆。面试官好至少知道 Kafka 是干什么的。那消息重复消费怎么办燕双非可以让消费者做幂等比如用订单号做去重表或者 Redis setnx。消息处理成功再提交 offset不成功就重试。第二轮风控、鉴权与链路监控面试官电商平台接入风控后登录态和接口鉴权怎么做更合理你讲讲 Spring Security 和 JWT 的组合。燕双非JWT 里放用户身份和权限前端每次带 token后端验签就行。Spring Security 负责拦截请求、做认证授权大概就是这个味儿。面试官方向没错。那 JWT 的缺点是什么别只说“有状态无状态”这种口头禅。燕双非嗯……它一旦签发服务端不好主动让它失效如果 token 泄露风险比较大而且 payload 里不能放敏感信息因为虽然能编码但不是加密。面试官不错终于说到点子上了。那你如何结合 Redis 做登录失效、踢下线、黑名单控制燕双非可以把 token 的 jti 或者用户当前会话版本号放 Redis。每次请求比对发现版本不一致就判定失效。黑名单也能把 token 标记进去过期自动删除。面试官可以。再往下促销活动期间接口抖动明显你怎么做限流、熔断和可观测性燕双非限流我会用 Resilience4j熔断也是它监控用 Micrometer 打点接 Prometheus 和 Grafana 看 QPS、RT、错误率。日志进 ELK链路追踪可以上 Jaeger 或 Zipkin。面试官这个回答很像样。那如果你要定位一次“支付成功但订单状态没变”的问题你会怎么排查燕双非先看日志和 traceId检查支付回调有没有进来再看消息队列有没有堆积再查数据库事务有没有回滚最后看缓存和数据库状态是否一致。面试官思路完整说明你至少知道排障路径。继续保持。第三轮AIGC、企业问答与云原生落地面试官现在公司要做一个电商 AIGC 智能客服既要回答商品问题又要查订单还要能总结售后工单。你会怎么设计整体架构燕双非我会用 Spring AI 作为基础接入层把大模型、提示词、工具调用统一起来。客服知识库先做文档加载和向量化存到 Milvus 或 Redis 向量索引里用 RAG 做检索增强生成订单查询和售后工单走工具执行框架模型通过 Agent 调用业务接口。面试官还不错已经开始像正经人了。那为什么不能只靠大模型直接回答不做 RAG燕双非因为大模型会幻觉容易胡说八道。电商客服最怕把库存、退款政策、售后时效说错所以要先检索企业知识再让模型基于事实回答。面试官很好。那在企业文档问答里文档加载、切分、向量化这三步分别解决什么问题燕双非文档加载负责把 PDF、网页、Word 拉进系统切分是把长文拆成可检索片段向量化是把文本变成向量方便语义检索找相近内容而不是只看关键词。面试官最后一个问题如果这个智能客服要上 Kubernetes你会怎么考虑部署和扩展燕双非我会把服务做成容器镜像配 HPA 自动扩缩容把模型调用、检索服务、业务接口分开部署配置中心和密钥单独管理再用健康检查和滚动发布降低风险。面试官行了今天先到这。你回家等通知吧。所有问题详细解答1. 为什么 Spring Boot 适合电商大促下单场景Spring Boot 的核心价值是快速构建可运行的服务。电商系统通常包含订单、库存、营销、支付、物流等多个模块项目启动效率、依赖管理和部署复杂度都很重要。Spring Boot 提供自动配置、Starter 依赖和内嵌容器能让团队更快交付业务。在大促场景中系统变化快、灰度发布频繁Spring Boot 便于标准化工程结构也便于和 Spring Cloud、Micrometer、Resilience4j 等生态协作。2. 如何防止重复提交仅依赖前端按钮置灰
返回列表