- 0
- 0
- 约5.02千字
- 约 7页
- 2026-08-20 发布于河北
- 举报
阿里巴巴中间件面试真题及详细答案(真实面试版)
说明:本套题目为阿里中间件事业部(微服务、消息、缓存、分布式架构方向)真实高频面试题,适配社招1-3面、实习终面,答案摒弃模板化话术,采用工程师实战表述,贴合阿里面试打分标准,覆盖核心基础、主流中间件、分布式问题、架构落地四大核心板块。
一、Java基础与底层核心(必考基础)
1、线程池核心参数、工作流程,阿里为什么不推荐使用Executors创建线程池?
参考答案:
线程池核心参数共7个:核心线程数、最大线程数、空闲超时时间、时间单位、任务队列、线程工厂、拒绝策略。
工作流程很简单:新任务进来,先判断核心线程是否满,没满直接新建核心线程执行;核心线程满了,就把任务放入阻塞队列;队列也满了,就新建非核心线程;线程总数达到最大值后,触发拒绝策略。
阿里禁止用Executors的核心原因是存在线上OOM风险:
1)newFixedThreadPool/newSingleThreadExecutor:队列是无界LinkedBlockingQueue,高并发任务堆积会无限占用内存,直接OOM;
2)newCachedThreadPool:最大线程数是Integer最大值,瞬时大量请求会创建海量线程,导致CPU打满、线程溢出。
线上规范是手动创建ThreadPoolExecutor,根据业务压测配置核心参数,使用有界队列,自定义拒绝策略。
2
原创力文档

文档评论(0)