中科星图维天信后端开发面经
一、项目与架构
请介绍一下你的AI在线面试平台项目,为什么需要设计 single flight(单飞)机制?
项目中是如何用 Redis + Lua 脚本实现 single flight 的选举逻辑的?如何保证原子性?
如果 Redis 宕机,你的 single flight 机制会失效吗?你是怎么设计本地降级方案的?
你的降级方案用到了 CompletableFuture 和 ConcurrentHashMap,为什么选它们?
在 AI Agent 项目中,你是如何解决上下文治理、持久化存储和权限控制的?
二、Redis 与分布式
什么是分布式脑裂问题?你的 single flight 机制中是如何出现的?
你提到的“分析 Token(令牌)”是怎么解决脑裂的?请详细描述校验流程。
新接管者如何拿到合法操作权?原持有者写结果时如何被拦截?
三、Java 并发编程
ConcurrentHashMap 是如何保证线程安全的?
JDK 1.7 和 JDK 1.8 的 ConcurrentHashMap 实现有什么区别?(分段锁 vs CAS + synchronized)
什么是 CAS 乐观锁?它有什么缺陷?
请解释 CAS 的 ABA 问题,以及如何解决?
CAS 自旋可能会带来什么风险?怎么缓解?
四、JVM 与垃圾回收
你了解哪些 JVM 垃圾回收器?CMS、G1、ZGC 的演进核心目标是什么?
G1 回收器相比 CMS 有什么改进?是否完全消除了 Stop The World?
请列举 JVM 中哪些区域会抛出 OOM?哪些不会?分别是什么场景?
虚拟机栈会 OOM 吗?什么情况下会抛出 StackOverflowError?
对象初始分配在哪儿?晋升到老年代的规则有哪些?
动态年龄判定具体是怎么计算的?大对象如何直接进入老年代?
五、MySQL 与索引优化
如何分析一条 SQL 的执行计划?怎么看是否命中索引?
哪些情况会导致索引失效?请举例说明。
为什么禁止 SELECT * ?函数操作对索引有什么影响?
当单表数据量过大时,你是怎么考虑的?分库分表在什么场景下使用?
六、实习意向与综合
学校对跨省实习有什么政策?需要提交哪些材料?三方协议是必需的吗?
你最快多久能到岗?实习时长大概多久?
公众号进入网站体验更佳

