字节跳动飞书一面
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍,介绍你的专业、掌握技术栈、项目、比赛、实习经历。
- 挑选一段你的实习或项目经历,详细展开讲讲。
- 你是28届毕业生?本科在校上课时间比较紧张,长期实习会不会耽误学业?
- 你可以稳定实习的时长能达到多久?
- 视频帧提取为什么选择每5帧采集一帧,不选择2帧、3帧?是基于什么考量?
- 每5帧采样会丢失关键画面信息,你是如何通过OpenCV解决该问题的,75%像素差异阈值是怎么确定的?
- 公司内部文档入库MeloWorth时,你设计的结构化解析加LM兜底清洗方案具体流程是什么?
- 整套多模态知识库落地后,支撑了哪些业务能力?
- 你开发的API中转平台是服务于什么业务场景?
- 平台高并发场景下,布隆过滤器、Redis缓存、Redis令牌桶限流、缓存预热分别解决了什么问题?
- 如何利用Redis缓存处理重复请求,哪些数据存Redis、哪些存MySQL,分层存储的原因是什么?
- 基于Redis+AOP+自定义注解实现分布式锁,设计这套方案的目的是什么?
- 项目里哪些业务场景用到了你自定义的分布式锁注解,锁的粒度如何划分,为什么选用这个粒度?
- 用户查询长期聊天记录出现MySQL深分页慢,按月分页优化的原理是什么,深分页查询慢的底层原因?
- 除按月分页外,分表、Caffeine本地缓存优化分别起到什么效果,优化后查询耗时下降多少?
- 线上大量用户反馈查询聊天记录超时,你通过哪些监控、链路追踪工具定位到Redis锁冲突问题?
- 全局锁冲突如何通过分片锁优化,优化后解决了哪些线上异常?
- Redis缓存丢失时,你设计了什么兜底方案修复数据?
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。
- Agent或RAG链路应记录工具调用、检索证据和失败原因;对非法参数、路由错误和超时设置校验、重试上限与可观测日志,避免把模型输出直接当作可信结果。