快手后端一二面面筋
一面
-
请介绍一下你自己。
-
讲一下 Agent 的完整执行链路。
-
Agent 最大执行 20 步和 RAG 最多补查 3 轮有什么区别?
-
Agent 异步执行后,如何接收执行结果并通过 SSE 推送到前端?
-
请求线程直接返回后,为什么还能继续推送模型的输出?
-
不同用户之间如何实现隔离?不同用户的会话如何区分?
-
topK 是如何设置的?有什么依据?
-
检索结果能不能回答用户的问题,由谁来判断?
-
RAG 的完整执行流程是什么?
-
你的向量数据库目前有多大规模?
-
检索相关性是如何判断的?使用的是欧式距离吗?
-
Agent 的思考与执行模式基于什么思想?
-
这个项目是自己做的,还是基于网上的项目改造的?
-
介绍一下第二个项目,你自己改造了哪些部分?
-
将用户信息从 ThreadLocal 改为 RequestScope,有什么区别?
-
如果有几亿用户使用这个系统,每次提问和回答都存数据库吗?你会如何优化?
-
如果只把会话上下文放在缓存中,用户过一段时间回来继续聊天,缓存已经过期了怎么办?
-
MySQL 的事务隔离级别有哪些?分别解决了什么问题?
-
MVCC 的原理是什么?
-
缓存穿透、缓存击穿和缓存雪崩有什么区别?分别如何解决?
-
HashMap 的底层原理是什么?
-
线程池的核心参数有哪些?
-
线上出现慢 SQL,你会如何排查和解决?
-
什么情况下索引会失效?
25.力扣128 最长连续序列
二面
前面忘了后面忘了
-
Agent 知识库项目如何防止恶意会话请求、避免用户绕过权限?
-
稠密向量和稀疏向量有什么区别?
-
Java 中的强引用、软引用、弱引用和虚引用有什么区别?
-
谈谈你对 ThreadLocal 的理解。
-
什么是索引下推?
-
Lock 和 synchronized 有什么区别?synchronized 除了修饰方法,还可以怎么用?
-
公平锁和非公平锁有什么区别?ReentrantLock 如何实现公平锁和非公平锁?非公平锁具体如何抢锁?

