字节后端一面 嗯问八股 有没有大佬评估下难度
《面试题目》
- base成都 中国交易与广告 dy团购部门[好无辜][好无辜][好无辜] 怎么感觉这个base+部门的面经很少
- 先来做个自我介绍
rag项目拷打 2. 你的RAG智能知识管理平台是个人项目还是公司项目? 3. 项目中和AI交互是直接调用什么接口? 4. 你怎么评估这套RAG回复系统的效果好坏? 5. 评测用的问题、知识库内容是来自哪里?跑脚本后如何量化衡量指标? 6. 召回是前置环节,模型生成最终回复后的回答准确度你如何评估? 7. 如果后续业务数据规模很大,你打算怎么规模化做RAG效果评估?有什么落地思路? 8. 你听过哪些智能体相关开源代码、开源库? 9. 抛开评测问题不谈,你当前RAG平台还有哪些不足?如果要面向全校学生、抖音用户大规模使用存在什么缺陷? 10. 你刚才提到权限隔离,举个场景:用户要查询UID=123的钱包,但当前登录用户实际UID是456,这套查询逻辑怎么处理?调用接口前如何判断两边ID是否匹配? 11. 实习项目中你遇到最大的卡点、难点是什么? 12. 快速说一下TCP、UDP的区别 13. TCP建立连接几次握手、断开几次挥手?为什么需要第三次握手? 14. 输入www.baidu.com,完整的一次网络请求经历哪些流程? 15. DNS解析出IP之后,数据包是如何到达服务端物理机器的? 16. 除了ARP协议还有什么地址转换手段?仅凭IP地址能直接找到对应路由器吗? 17. 了解MySQL索引吗? 18. 什么是最左前缀原则?从底层索引结构层面解释不遵循该原则索引失效的原因 19. 索引失效常见有哪几种情况? 20. 一张表存在多个索引,MySQL优化器如何选择使用哪一个索引? 21. MySQL优化器通过什么方式判断索引区分度? 22. 使用Redis缓存,如何保证缓存和数据库的数据一致性? 23. 延时双删方案为什么需要执行第二次删除? 24. 如果使用延时双删,你会设置多久的删除间隔? 25. 了解消息队列吗? 26. 听过有序消息吗?MQ底层做了哪些设计来实现消息有序? 27. 如果让你设计消息分片的哈希映射规则,你会怎么设计? 28. MQ消费过程中是否会产生重复消息? 29. 两条完全一样的重复消息同时分发到两台Pod,业务不允许重复消费,你会怎么设计代码保证幂等? 30. 你方案里用到Redis分布式锁,锁的过期时间设置多久?1万QPS场景下该如何设计这把锁?
继续八股 31. MySQL事务有哪几种隔离级别? 32. MVCC是如何解决幻读的,底层原理是什么? 33. Java GC有哪些垃圾回收算法? 34. 听过G1垃圾回收器吗?说下它的特性 35. 还了解其他哪些垃圾收集器? 36. CMS垃圾收集器是作用在新生代还是老年代? 37. Redis ZSet底层是什么数据结构?ziplist和新版listpack两种结构有什么区别?
编辑距离
《参考解析》
-
计算机网络:TCP(传输控制协议)是面向连接、可靠的传输协议,提供流量控制和拥塞控制;UDP(用户数据报协议)是无连接、不可靠但速度更快的协议。TCP通过三次握手建立连接(SYN→SYN+ACK→ACK),四次挥手断开(FIN→ACK→FIN→ACK)。
-
MySQL深度:MySQL InnoDB使用B+树索引,支持ACID事务。关键知识点:聚簇索引(主键索引)叶节点存完整行数据;辅助索引叶节点存主键值(需回表);MVCC通过undo log版本链+ReadView实现多版本并发控制,解决脏读/不可重复读;事务隔离级别从低到高:读未提交→读已提交→可重复读(默认)→串行化。
-
Redis核心:Redis常用数据结构:String/Hash/List/Set/ZSet。持久化:RDB(定期快照,恢复快,数据可能丢失)和AOF(追加日志,数据安全,文件大)。缓存穿透用布隆过滤器;缓存雪崩加随机过期时间+多级缓存;缓存击穿用互斥锁或逻辑过期。分布式锁用SET key value NX PX + Lua脚本保证原子释放。
-
JVM与GC:JVM内存模型:堆(对象分配,GC管理)、方法区(类信息、常量池)、虚拟机栈(栈帧/局部变量/操作数栈)、本地方法栈、程序计数器。GC算法:标记-清除(内存碎片)、标记-整理(无碎片,但移动对象)、复制(新生代)。G1按Region划分堆,预测停顿时间。