3.13 JDY 京东健康后端开发实习一面面经

换个部门面试正常多了,上次那个面试官我能记一辈子😠

整体就是少量八股加项目拷打,但是面试官对我第一个项目还是一点不感兴趣,除了答八股的时候扯了点后面没怎么问,基本问的都是我拿来凑数的rag,,,

10点半结束后12点约二面

我的回答是ai自动总结的,懒得回忆了

00:18 自我介绍

02:24 项目介绍

03:40 Java基础:int取值范围

本章节回答了一个关于Java基础的问题。面试者准确回答了int类型(32位,含符号位)的取值范围是-2^31到2^31-1。

04:24 看你的简历上写了threadlocal,讲讲怎么用的?

本章节讨论了ThreadLocal的应用。面试者在短链项目中用它存储用户信息以减少传参,并特别说明使用了阿里的TransmittableThreadLocal来适配线程池环境,避免数据错乱和上下文丢失。

05:12 讲讲异步线程池怎么用的?

本章节描述了项目中的异步优化实践。在短链创建时,获取原网址图标的操作比较耗时,因此面试者使用自定义的异步线程池将其改为异步处理,以提升性能。

05:58 分页查询怎么实现的?

本章节简要回答了MyBatis分页查询的实现方式。面试者提到使用了MyBatis的分页插件。

06:36 讲讲最左匹配原则,如何判断一条语句走没走索引?

本章节深入讲解了MySQL联合索引。面试者解释了最左匹配原则,即查询条件必须包含联合索引最左边的列才能生效,并提到可以使用EXPLAIN语句分析索引使用情况。

07:36 Redis中除了基础的string类型,各种集合类有没有用过?

本章节详细介绍了Redis在项目中的具体应用。在短链跳转的数据统计环节,为减轻数据库压力,会先用Redis做批量预处理:使用HyperLogLog统计UV,使用Set对IP或PV进行去重,再通过RocketMQ异步写入数据库。

08:35 Set用的是普通set还是zset?

本章节简短确认了Redis Set的类型。面试者回答项目中使用的Set是不涉及排序的普通Set。

08:54 那如果说一个set存的内容过多怎么办?

本章节探讨了Redis大Key问题的解决方案。面试者提出可以通过数据分片(将一个大Set拆分为多个小Set并编号)来处理,若数据量极大则需更换数据结构。为保障数据均匀性,可考虑使用哈希算法进行分配。

10:51 讲讲spring除了IOC和DI之外还了解什么?

本章节重点介绍了Spring AOP的应用。除了依赖注入,面试者认为AOP是Spring的核心特性。他在智能面试助手项目中,结合自定义注解、Redis和Lua脚本,基于令牌桶算法实现了接口限流功能。

12:00 限流具体怎么做的呢,多用户怎么分别控制限流?

本章节补充说明了AOP限流的具体实现和当前局限。通过自定义注解可以方便地标记需要限流的接口。但面试者也承认项目目前是单用户模式,尚未考虑多用户场景下的额度控制。

13:05 讲讲其他spring注解还用过哪些?

本章节讨论了Spring的其他常用注解及事务优化。面试者提到了Spring MVC注解(如@RestController),并分享了对短链项目事务的改进:将原本包裹数据库操作、写缓存和布隆过滤器的声明式事务注解,改为编程式事务,仅将数据库入库操作纳入事务管理。

14:09 为什么一定要是用编程性事务,我把入库操作提出来作为一个新方法不行吗?

这里掉进面试官的坑里了,当时没反应过来,说了应该也行。但实际上会涉及到事务注解调用失效的问题。

15:04 RocketMQ在项目中是怎么应用的?

本章节介绍了RocketMQ的应用。在短链项目中,RocketMQ用于异步数据统计和实现延迟双删以保证缓存一致性。

16:04 RAG系统准确率与召回率怎么优化的?

对于RAG系统,面试者计划从两方面提升准确率:一是在文档分片时绑定关键词和用户信息作为元数据;二是对用户简短提问进行扩写后再做向量检索。

17:57 为什么使用Spring AI 而不是 LangChain4J

本章节解释了项目技术选型的考量。面试者对比了Java领域的两个AI框架:LangChain4J功能全面但复杂,Spring AI则调用更简单,因此选择了后者进行开发。

18:49 流式输出使用的webflux相关的方法知道吗?

不太了解,通过ai写的。

19:06 还有其他亮点么?

本章节阐述了项目的具体实现细节。文档解析耗时,因此没有引入重量级消息队列,而是基于Redis Stream实现异步处理。此外,在解析前会用SHA哈希算法对文件去重,以节约模型Token并处理冗余请求。展望了RAG系统的进一步优化方案。面试者计划:1. 使用HyDE算法,先让大模型生成初步答案再转为向量进行检索;2. 利用PGVector的混合索引(稠密+稀疏)提升召回率;3. 引入ReRanker对召回结果重排序,以平衡召回率与精确度。

能实习多久?

项目都是自己做的吗,有跟老师做过项目吗?

反问

#27届求职交流##发面经攒人品##春招 / 实习投递,你最焦虑的一件事#
全部评论
佬的面经是怎么提取下来的
点赞 回复 分享
发布于 今天 19:59 吉林
这次看懂了佬我喜欢你
点赞 回复 分享
发布于 今天 19:56 吉林
大佬牛逼
点赞 回复 分享
发布于 今天 17:00 辽宁
没有力扣 算法吗
点赞 回复 分享
发布于 今天 15:58 陕西

相关推荐

牛客52071342...:不同的岗位,你得把不对口的内容删掉一些,优化一下,人家公司不管你有多少技能,他只看对他有用的技能,你得根据公司的需求简化简历
那些拿到大厂offer的...
点赞 评论 收藏
分享
评论
6
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务