满帮集团全栈开发一面面经
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 介绍一下你的项目。
- 你使用的模型是什么?知识库是公司的吗?
- 知识库有没有泄密风险?如何设计解决?
- HashMap 是线程安全的吗?为什么?
- 并发场景应该使用哪个 Map?如何实现线程安全?
- HashMap 有几个桶?容量会增加吗?
- HashMap 读操作需要加锁吗?读的过程中有写操作时,如何保证并发安全?
- 使用过 Spring 事务吗?
- @Transactional 可以用在静态方法上吗?为什么?
- 如何排查慢 SQL?
- LangGraph 是什么?
- LangGraph 的子图会把输出结果传给下一个子图吗?
《参考解析》
- 并发 Map:HashMap 本身不保证线程安全;并发读写可能出现数据竞争和结构破坏。ConcurrentHashMap 通过 CAS 与分段锁思想(JDK 8 以桶级同步为主)降低锁竞争,适合高并发访问。
- HashMap 扩容:容量通常从默认值开始按 2 倍扩容,元素数量达到容量与负载因子的乘积时触发 resize;扩容会重新分布桶中的节点,因此应按容量预估减少抖动。
- Spring 静态方法事务:Spring 事务依赖代理对象拦截方法调用。静态方法属于类而非代理实例,通常无法被 Spring AOP 代理,因此直接在静态方法上使用 @Transactional 不会产生预期事务效果。
- 慢 SQL 排查:先结合监控定位耗时语句,再用 EXPLAIN 分析访问路径、索引使用和扫描行数,检查锁等待、排序与临时表,最后根据实际数据分布调整索引和 SQL。
- 知识库安全:应按租户和角色隔离数据,敏感字段脱敏或加密,检索前做权限过滤,记录访问审计,并在召回和生成阶段防止越权内容进入上下文。