袋鼠云 Java 一面面经

1. 自我介绍
2. 项目拷打
3. 讲讲项目里的动态路由,有什么应用场景
4. 讲讲项目里的频繁实例化改成单例模式的思路
5. 你说你是用火焰图排查的,为什么要用火焰图
6. 这个实例对象真的是问题而不是特殊设计吗?你怎么确认
7. 优化前后有数据检验吗?
8. 你的修改和团队讨论并上线生产了吗?

八股
1. 线程池的主要参数
2. 线程池的拒绝策略
3. 线程池的线程什么时候初始化?
4. Spring的自动装配
5. 讲讲 NameNode 和 #牛客AI配图神器#DataNode
6. SecondaryNameNode 是做什么的
无手撕

已老实。。
全部评论
点赞 回复 分享
发布于 05-09 17:32 湖南
我去校友,同大三下
点赞 回复 分享
发布于 05-09 12:44 海南

相关推荐

05-19 16:58
已编辑
河南工业大学 Web前端
1. 布隆过滤器;缓存空结果;参数校验。2. 延迟双删;基于binlog监听;设置合理缓存过期时间兜底。3. RDB。AOF4. RDB更快。5. 单线程处理命令 + I/O多路复用。单线程避免锁竞争;I/O多路复用使单线程高效管理大量连接,仅当socket就绪时处理IO。6. 读未提交、读已提交、可重复读、串行化7. 可重复读。解决脏读、不可重复读;通过MVCC和间隙锁减少幻读发生。8. 默认 B+树。9. 红黑树的二叉搜索树,树高较高;范围查询需中序遍历效率低;节点存储利用率较低。 B+树的更矮胖;叶节点链表结构使范围查询/全表扫描极高效;节点存储更多键。10. 使用二级索引查询时,若所需列不在该索引中,需根据索引中存储的主键值,回到聚集索引 树中查找完整行数据。额外磁盘IO是主要性能损耗。11. 查询:连接器、查询缓存、分析器、优化器、执行器、返回结果。更新:额外涉及事务开启、写undo log、执行器调引擎修改内存数据、写redo log、写binlog、提交事务。12. 更新:写undo/redo,改内存,写binlog,提交redo;两阶段提交。13. 继承Thread类,实现Runnable接口,实现Callable接口,使用线程池提交任务。14. 核心线程数、最大线程数、存活时间、时间单位、工作队列、线程工厂、拒绝策略。15. CountDownLatch要求子线程主动存结果到共享集合后countDown(),主线程await()阻塞等待;CyclicBarrier由线程在await()前存结果,最后到达的线程触发汇总;而线程池通过主线程收集Future并调用get()阻塞获取结果。16. start() 启动新线程,run()普通方法调用。17. 数组+ 链表/红黑树。18. 非线程安全。19. JDK8 ConcurrentHashMap:改用 synchronized 锁单个桶 + CAS + volatile,替代 JDK7 分段锁,并发度更高。20. MQ 消息可靠:依赖生产者可靠投递(含重试)、Broker 持久化与高可用、消费者手动 ACK 与幂等处理三方协同保障。21. 消费者幂等性:通过唯一约束(如 DB/REDIS 记录消息 ID)防止重复处理,确保多次消费结果一致22. 用过什么java框架?23. 微服务之间怎么相互调用24. RPC怎么从A服务调用B服务25. RabbitMQ怎么调用其他服务
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务