大家好,我是二哥呀。
记得之前发京东的喜报时,评论区总有一些声音质疑京东的 19 薪、20 薪是否能给到位,以至于不少同学在拿到京东的 offer 后,犹豫不敢接。
估计京东官方也看到了这样的声音,所以直接给出了一个量化的信号:根据今年的年终奖规则,全集团超过 92% 的员工可以拿到全薪以及以上。
当然了,即便是官方给出这样明确的信号,估计还是会有质疑的声音,因为这个世界就是这样——你不可能得到所有人的认同😄
但不得不说,京东今年的年终奖是真的香,尤其是京东科技(19 薪)和京东零售(20 薪)的同学。
- 19 薪的部分员工(绩效 A+) 将获得 10 倍月薪年终奖;绩效 A 为 9 倍;绩效 B+为 7 倍;
- 20 薪的部分员工(绩效 A+) 将获得 12 倍月薪年终奖;绩效 A 为 10 倍;绩效 B+为 8 倍;
星球里今年有不少球友拿到京东的 offer,base 给的都很高,比其他大厂要高个好几 K。我上一点点证据。
并且有球友透露,HR 说他们部门 70% 的概率能拿满,按照京东官方给出的数据,这个承诺是有保证的。
所以拿到京东 offer 的同学,可以放心等毕业后的正式入职啦。已经在京东的同学,可以安心等一波年终奖的发放。
京东之所以给这么丰厚的年终奖,主要得益于京东的营收确实给力,不出意外的话,京东应该是整个 2025 年营收最多的互联网大厂(等一个全面财报)。
当然了,京东的整体利润比较薄,员工比较多,薪酬福利是比较大的一块开销。
提醒一下,春节后,暑期实习和春招的网申会同步开启。2026 年 2 月 24 日是春节后的第一天,意味着大家还有 2 个月的准备时间。
至少春节后的第一周,大家要把简历先投递出去,包括年后跳槽的同学(换工作的高峰期)。
简历上最好有一个 AI 强相关的项目,目前最容易落地的业务,我认为是 RAG 和类 dify 的 Agent 工作流编排, 大家可以多花点时间在这两个业务上。
这里给大家分享一道派聪明 RAG 项目中非常经典的一道面试题:混合检索的时候,怎么确认是文件不存在,还是权限不够?
派聪明 RAG
1、遇到自己认为面试官说得对的事情,先拍拍马屁。
面试官您好,你提到的,确实是一个非常深刻的问题,我之前的设计确实没有考虑到这么仔细,这让我对后面的系统升级也有了更深的思考。
2、解释自己为什么是当前这种设计,有理有据。
在我当前的设计中,权限控制是通过 ES 的 filter (过滤器)实现的。也就是说,当一个用户发起查询时,我的查询语句实际上是这样的:
在索引中进行混合搜索,条件是 {用户的查询},并且必须满足以下过滤条件:(文档的 org_tag 属于我的组织) AND (文档是公开的 OR 文档的 user_id 是我自己)。
这种“前置过滤”的方式,优点是性能极高且实现简单,因为 ES 在搜索时可以直接排除掉所有无权访问的文档。但它的缺点也正如您所指出的:对于应用层来说,一个文档是因为不满足过滤条件而被排除,还是因为它本身就不存在, 返回的结果是完全一样的——都是‘空’ 。应用层无法得知‘幕后’发生了什么,因此也就无法给用户更智能的提示。
3、提出更优的架构设计,展示你的设计能力和思考能力。
为了解决您提到的这个问题,我们需要对检索流程进行重构,将‘检索’和‘权限校验’这两个步骤进行解耦。
阶段 1:
用户的查询请求到达后端后,不再由一个代表用户身份的进程去直接查询 ES。而是由一个 拥有系统级特权的服务去执行检索。这个服务在查询 ES 时, 不附加任何权限过滤器。它只负责执行最纯粹的混合搜索,目标是“尽可能广地召回所有可能相关的文档”,无论这些文档属于谁。
复制到浏览器打开:https://paicoding.com/column/10/23
这一步的返回结果是一个包含 chunk_id 和相关性分数的列表,我们称之为“候选集”。
阶段 2:
拿到这个“候选集”后,我们 在应用层 ,而不是在数据库层,进行权限校验。
遍历候选集中的每一个 chunk 。对于每一个 chunk ,我们获取它的元数据( user_id , org_tag , is_public 等)。
用当前登录用户的身份信息 去和这些元数据进行比对。
然后,我们将这些候选的 chunks 分成两个桶:
- A 桶(可访问桶) : 用户有权限访问的 chunks 。
- B 桶(不可访问桶) : 用户没有权限访问的 chunks 。
阶段3:
我们只从 A 桶 中,选取相关性分数最高的 Top-K 个 chunks ,将它们作为上下文(Context)喂给 LLM,生成用户看到的最终答案。 这保证了答案内容绝对不会泄露用户无权查看的信息。
同时,我们检查 B 桶是否为空。如果 B 桶不为空 ,这说明系统确实找到了相关的文档,但用户权限不足。
这时,我们就可以从 B 桶的 chunks 中提取出它们的来源文件名 ( source_file_name ),去重后,在最终的答案后面追加一条智能提示,正如您所设想的那样:
此外,系统还找到了其他可能相关的内容,但您需要以下文档的访问权限才能查看:
- 母猪的产后护理.pdf(搞笑的,你最好说一个相关的)
- 沉默王二是条狗.pdf
4、如果面试官不打断你,你可以继续升华总结。
通过 AB 桶可以完美解决您说的问题,并带来三大好处:
- 用户能明确知道是没有文件还是没有权限。
- 如果 B 桶的文档出现频率很高,那有可能是我们在设置权限的时候给的不够,这个数据可能很有价值。
- 核心答案依然是基于用户有权访问的文档,确保了数据隔离。
下图是一位拿到 B 站和京东日常实习 offer 球友之前给我的反馈,说派聪明非常给力,深受面试官的喜爱,所以也希望冲大厂的同学一定要多往 AI 方向靠。
这口饭必须得吃,冲!
ending
一个人可以走得很快,但一群人才能走得更远。二哥的编程星球已经有 11100 多名球友加入了,如果你也需要一个优质的学习环境,戳链接 🔗 加入我们吧。这是一个 简历精修 + 编程项目实战(RAG 派聪明 Java 版/Go 版本、技术派、微服务 PmHub)+ Java 面试指南的私密圈子,你可以阅读星球专栏、向二哥提问、帮你制定学习计划、和球友一起打卡成长。
最后,把二哥的座右铭送给大家:没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。共勉 💪。
回复