面灵AI→

某小厂 Java 实习一面:订单号计数表、秒杀与 RAG

轮次
一面
时间
2026-10
来源
牛客网

《面试题目》

  1. 自我介绍。
  2. 实习都做了什么?
  3. 简历上写的订单号独立计数表是什么?怎么设计的?
  4. 介绍一下秒杀项目。
  5. 智能体项目做了哪些功能?
  6. 你还有什么想问的?

《参考解析》

订单号用「日期 + 序号」生成,核心是并发下不重号。独立计数表按天一行,用 update ... set seq = seq + 1 where day = ? 原子自增再读回,或者用数据库序列/Redis INCR;要注意事务边界和跨天切换。单机可以用原子变量,多机必须走共享存储。高并发下更好的方案是雪花算法或号段模式,避免每次生成都打数据库。

秒杀项目的标准链路:前端限流 → 网关校验 → Redis 预扣库存(Lua 保证原子)→ 写入消息队列 → 消费端落订单并扣数据库库存 → 异步通知。要点是超卖防护(Redis 原子扣减 + 数据库唯一约束兜底)、幂等(订单号唯一)、削峰(队列)和降级(售罄直接返回)。

智能体项目讲清 RAG 和工具调用的分工:知识类问题走检索增强,操作类需求走工具调用;再加上意图识别、上下文管理和失败兜底。

面试官不问八股,说明小厂更看重能不能直接干活:把项目的链路、你写的代码、遇到的问题讲清楚,比背概念有效。