合肥某小厂java后端面试
- 时间
- 2026-07
- 来源
- 牛客网
《面试题目》
- 说说类加载机制
- 类是什么时候被jvm加载的
- Jvm故障如何排查,用什么工具
- Thread和Runnable区别
- synchronized是公平锁吗?可重入吗?
- 和ReentrantLock有什么区别
- 大批量卡卷导入是怎么做的,逻辑格式校验呢?
- 如果有两个运营同时导入同一个卡卷呢?
- 你数据库事务怎么做的
- 那大文件断点续传怎么做?
- 如果很多文件很大,要找出前100小的怎么做
- Spring bean生命周期知道吗
- Mybatis了解吗,插件了解吗
- Page helper底层是怎么做的
- 你知道spring自带的缓存注释吗(我说没用过用的都是redis和guava
- Redis怎么实现分布式锁的
- 你拼团原子预占怎么做的
- 如果数据库失败你怎么补偿reids
《参考解析》
- Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
- MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
- 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。