快手后端一面面经

被狠狠拷打了
上来先问agent项目和传统后端项目
八股
redis集群部署节点怎么key怎么定位到节点
双副本及单副本节点挂了之后的访问情况
HashMap底层数据结构
如何扩容
那在哈希表里面,它的节点是有序的。如果你遍历的时候,它是有序遍历还是随机遍历?那它排序的规则是什么规则?
怎么计算桶位?如果是自定义的对象呢?
创建线程的话,有几种方式?
做线程间数据同步的话,在 Java 里面该怎么做?
那如果加锁的话,有哪些方式在实现上?
用 synchronized 进行了一个加锁,那你的方法里面,临界区里面它抛出了 OOM 的错误,或者抛出了一个异常,这种情况下它的锁会自动释放,还是说需要手动处理?
首先这个 OOM 它是个什么东?这个是个什么东西?是一个异常吗?那这种错误我们可以捕捉自己处理吗?人工处理。
这个它你可以自己捕捉它,让它不退出吗?
对一个JVM,就对于一个 Java 进程来说,对吧?它的退出条件是什么?
那慢方法,他在慢方法里面创建了一堆线程去干活了,这个时候他慢方法依然会return,他这时候才会退出。还是说你需要慢方法阻塞?
创建的那个 THREAD 对象,你刚才查的那个 THREAD 对象,这种 THREAD 对象,它其实是在 Java 这边是属于虚定位,是虚拟线程,这个虚拟线程和操作系统的线程,它们之间的对应关系是怎样的?是一对一的还是一对多的?还是多对多的?
线程崩掉之后,是整个进程就退出了吗?还是。还是说他会由他的副线程捕获去做一个异常处理?
那在操作系统进行任务调度的时候他操作系统要做什么工作,你了解吗?
调度的时候他要做切换的话,他要完成哪些工作?
如果说他已经确定要进行一个他的任务的切换。他操作系统需要做哪些工作才能完成他的切换?
他的上下文主要包括哪些内容?
为什么要用虚拟内存?
手撕 判断B树是不是A树的子树
总结:感觉问的很深入偏基础,这个手动捕获OOM以及程序的退出条件这完全没看过
全部评论
好难啊
点赞 回复 分享
发布于 昨天 01:36 重庆
吓哭了
点赞 回复 分享
发布于 05-04 20:34 广东

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
04-30 17:45
本人简历上 1 个 RAG 项目 + 1 个 Agent demo;这次面的是AI岗一面前我以为:背完八股 + 把项目讲清楚,应该能稳过。0-5 min:自我介绍 + 项目背景- 顺利。讲清楚了我的 RAG 是给法律咨询场景做的,痛点是大模型不懂行业术语。5-20 min:项目深挖(开始崩)- Q1:你的法律文档总共多少?切了多少个 chunk?- 我:约 500 份 PDF,5 万个 chunk- Q2:500 份 PDF 加起来才 5 万 chunk?平均每份 100 个 chunk,你切片粒度是多少?- 我:512 token- Q3:法律文档里"第三条第二款"和"第三条之二"是不同含义,你的切片会不会把它切散?- 我:(沉默 5 秒)……应该会- Q4:那你怎么解决?- 我:我可以加一个 metadata……(开始编)❌ 第一次崩:切片粒度没考虑业务语义。20-35 min:评测体系(继续崩)- Q:你怎么知道你的 RAG 有效?- 我:我用 Recall@5……- Q:评测集多少条?怎么构造的?- 我:100 条,我手工标注的- Q:100 条够吗?分布怎么样?- 我:分布……我没分- Q:那你的 Recall@5 是 0.81,你怎么知道这个数字是好是坏?baseline 是什么?- 我:(沉默 10 秒)❌ 第二次崩:没有 baseline,没分布分析,纯靠"看起来还行"。35-55 min:Agent 部分(彻底崩)- Q:你的 Agent demo 用了几个工具?- 我:3 个,搜索、计算器、文档查询- Q:当用户问一个问题,你的 Agent 怎么决定调哪个工具?- 我:用 ReAct,让模型自己决定- Q:模型决策错了怎么办?- 我:我加了个 reflection……- Q:reflection 失败 3 次后怎么处理?- 我:(沉默 15 秒)……我没想过❌ 第三次崩:异常路径完全没设计。55-65 min:业务理解 + 反问- Q:你觉得字节做 AI 应用最大的瓶颈是什么?- 我:算力?数据?- Q:你看过哪些字节最近发的 AI 产品?- 我:豆包、扣子……- Q:扣子是 Agent 平台还是工作流平台?- 我:(再次沉默)❌ 第四次崩:对面试公司业务一无所知。
面试官拷打AI项目都会问...
点赞 评论 收藏
分享
评论
4
12
分享

创作者周榜

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