快手-一面

📍**面试公司**:快手  
🕐**面试时间**:03/13  
💻**面试岗位**:java  

❓**面试问题**

1. 可以做个简单的自我介绍。
2. 问毕业时间
3. 问实习地点
4. 以后预期是在北京工作吗?
5. 你比较熟悉的是哪个项目?
6. 列一下你比较熟悉的一个项目的表名、索引、设计用意。
7. 为什么这两个表要分开?
8. 有没有可能没有user表的时候有user_info表?
9. 这两表的数据怎么生成的?从哪来的?
10. 注册的时候会怎么做?操作两个表吗?
11. 他可以不可以不绑定微信号?
12. 那他可以不可以不填nickname和name?
13. 所以你这个user_info表其实不能脱离user表存在,是不是?
14. 那种表在数据库设计里面它叫什么?
15. E-R两个字还记得吗?“丫丫”是什么的缩写?
16. 你的user表为什么需要有个ID字段?
17. 为什么不可以让user_info表里面有一个字段是user的ID?关联关系为什么反过来?
18. 两个表互相关联是最好的吗?你觉得哪种方式最好?
19. 那还需要ID这个字段吗?为什么选这种方案而不选你原来的设计?
20. 你的方案怎么选择?为什么选某一种?在什么场景下选?
21. 向量召回中,embedding是用什么做的?
22. 关键字加向量语义的混合是怎么混合的?
23. 搜索结果里面用哪个?
24. 你们会去干预排序算法吗?排序的分值?
25. 这个RAG检索底座是作为给大模型智能排错的一个工具使用的吗?
26. 从0到1构建以及增量更新,耗时大概什么量级?
27. 简易数据库是公司的项目还是学校的课程设计?
28. 说说PG SQL和MySQL的区别?
29. 可重复读隔离级别是怎么实现的?
30. 算法题:把二叉树用字符串存储,再写方法解回二叉树。(手撕)

🙌**面试感想**  
感谢快手给我双非一次机会,虽然我也没把握住🥲,答得很烂,数据库理论什么的完全没准备。算法不是hot100但是不难,力扣原题。最后毫不意外的挂了。

#发面经攒人品#
全部评论

相关推荐

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

创作者周榜

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