6.16面试的杭州某中小厂后端开发
《面试题目》
- 介绍一下你的Agent实习这个项目
- 你的Java实习里面的登录怎么去做的,了解jwt吗,怎么去实现登录的安全呢
- 你的项目的滑动窗口限流是怎么做的,滑动窗口和固定窗口有什么区别,能具体讲一下实现的细节吗
- 你的项目里面哪里用到了异步处理,为什么要用异步处理(主包用了celery和MQ)
- 你的Agent准确率是怎么提升了20%,能讲一下吗,怎么去提高一个召回率呢
- 你的RAG库是用来做什么的(针对的实习项目问)
《参考解析》
-
消息队列:消息队列解决异步解耦、流量削峰。消息可靠性:生产者confirm确认;Broker持久化;消费者手动ACK。幂等性:消费端通过唯一ID+Redis或DB乐观锁实现。顺序消息:同一业务Key路由到同一分区/Queue,单线程消费。消息积压:扩消费者+增加分区+临时跳过非关键消息。
-
RAG与大模型:RAG(检索增强生成)流程:文档切片→向量化(Embedding)→存向量数据库→检索时将query向量化→TopK语义检索→将相关文档拼入prompt→LLM生成。优化:混合检索(语义+关键词)、重排序Rerank、查询改写、上下文压缩。评估:召回率(relevant docs retrieved/total relevant)、精确率、Answer相关性。