京东后端AI开发一面面试题分享
《面试题目》
一、实习经历(RAG项目)
- 实习的RAG项目中,具体负责哪些技术性工作?检索的完整流程?
- 针对RAG流程,你们是如何设计服务降级策略的?触发降级的具体场景有哪些?
- 做了什么prompt调优相关的吗?
- 知识库体系效率如何?
- 服务降级是针对特定场景设计还是通用工具类?
- 线上诊断时使用的Arthus工具,你是如何通过它检测代码问题的?了解其在线诊断的底层原理吗?
二、八股文
(一)Java相关
- Java多线程管理常用线程池,其核心参数分别是什么?
- 线程池的任务处理流程是怎样的?
- 同步和异步的本质区别是什么? (二)数据库相关
- MySQL索引失效的常见场景有哪些?
- 事务的ACID特性分别是什么?
- 事务的应用场景? (三)缓存与分布式相关
- Redis为什么性能较好?
- Redis与MySQL的核心区别有哪些?
- 分布式锁的实现方式有哪些?适用场景分别有什么? (四)其他技术
- 你了解哪些设计模式?
- 消息队列有了解吗?
- ES的核心能力有哪些?与MySQL的区别?
三、AI相关
- 平时写代码会使用哪些AI工具?这些工具在实际开发中起到了什么作用?
- AI工具能替代多少手写代码?
- 结合你的经历,说明AI工具的能力边界是什么?
《参考解析》
1. 线程池核心参数:包括corePoolSize(核心线程数)、maximumPoolSize(最大线程数)、keepAliveTime(空闲存活时间)、workQueue(任务队列)、threadFactory(线程工厂)和handler(拒绝策略)。
2. MySQL索引失效场景:包括使用LIKE以%开头、在索引列上进行计算或函数操作、违反最左前缀法则、隐式类型转换、使用!=或<>等。
3. Redis高性能原因:基于内存操作、单线程架构避免了上下文切换和锁竞争、采用IO多路复用模型,以及高效的数据结构设计。
4. ACID特性:原子性(Atomicity)确保事务作为一个整体不可分割;一致性(Consistency)保证数据库从一个合法状态转到另一个合法状态;隔离性(Isolation)保证事务间互不干扰;持久性(Durability)确保事务提交后永久生效。