帆软提前批一面(凉)
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
-
一、开场 & 个人情况类
- 做简单自我介绍(基于简历的实习、项目、技术栈等内容)。
- 是本科毕业直接找工作,还是打算读研?
- 为什么不选择读研,选择直接工作?
- 两段实习是上学期间进行的吗?
- 项目和两段实习时间存在重叠,时间是如何分配的?
- 如果简历只能保留一段实习经历,会留哪一段?为什么
-
二、实习业务相关
- 介绍小米实习中音乐数据同步整条业务链路,说明哪些环节是自己负责。
- 为什么部署 canal 组件监听 binlog,而不是上游业务代码直接发 MQ?
- canal 监听 binlog、上游直接发 MQ 这两种方案各自的代价是什么?
- canal 组件挂掉的话,该如何处理?
-
三、项目相关
- RAG 里面的意图识别树是怎么构建的,有几层?
- 为什么选择意图识别树方案,而不是直接让大模型做一次多分类?
- 简历上写的各项技术栈是否全部了解,还是部分仅调用过 API?
-
四、Java 基础、并发
- 介绍什么是乐观锁、什么是悲观锁?
《参考解析》
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。
- 算法题先写出不变量和边界条件,再分析复杂度;常见数组、链表和树问题可分别使用双指针、哈希表、递归或迭代遍历,目标是在线性或对数复杂度内完成。
- Agent或RAG链路应记录工具调用、检索证据和失败原因;对非法参数、路由错误和超时设置校验、重试上限与可观测日志,避免把模型输出直接当作可信结果。