字节跳动后端AI开发日常实习一面面经
《面试题目》
- 实习经历深挖
- 缓存读写策略
- 如何保证缓存和数据库一致性
- “先写缓存,再异步批量刷库”方案,除一致性外还有哪些潜在风险
- 如何拦截恶意请求,设计防护手段避免缓存被恶意利用
- 布隆过滤器原理,如何解决缓存穿透
- 布隆过滤器误判概率大概多少,如何估计
- 定时任务5分钟一轮询,任务执行超5分钟时,如何保证状态不丢失、不阻塞调度
- 分布式RPC为什么要自定义协议,而不用HTTP
- 单机QPS 1w+这个数据是怎么统计/得到的
- RPC项目目前瓶颈在哪
- 了解哪些HTTP版本,各版本特性
- HTTP队头阻塞是什么
- 队头阻塞是否只存在于HTTP层面
- TCP会不会存在对应阻塞问题
- HTTP3如何解决HTTP2在TCP上的队头阻塞
- 为什么HTTP3基于QUIC,而不继续在TCP上优化
- TCP如何实现可靠传输和流量控制
- TCP发送窗口如何根据接收窗口和拥塞情况动态调整,窗口结构如何维护变化
- TCP如何判断报文丢失,什么条件触发重传
- TCP除重传计时器外还有哪些计时器
- AI项目中降低大模型幻觉的具体优化方法
- 大模型产生幻觉的底层技术原因
- 算法题:Java原生数组实现栈,实现常用操作
《参考解析》
- 缓存一致性:常用方案有Cache-Aside,通过延时双删或订阅Binlog实现最终一致性。风险点包括缓存积压、内存淘汰导致数据缺失、下游组件崩溃导致数据丢失。
- HTTP队头阻塞:HTTP/1.1的队头阻塞是指管道化请求需串行等待;HTTP/2在应用层实现多路复用,但TCP层仍有队头阻塞。HTTP/3引入QUIC协议,基于UDP实现多流传输,彻底解决因丢包导致的链路阻塞。
- TCP重传计时器:包括重传计时器、坚持(persist)计时器(探测接收窗口)、保活(keepalive)计时器、时间等待(TIME-WAIT)计时器。
- 大模型幻觉优化:核心在于RAG(检索增强生成)减少信息缺失,引入CoT(思维链)改善推理过程,以及通过SFT(监督微调)进行对齐,底层原因是模型在训练时对长尾分布知识的过拟合或记忆偏差。