Java 开发一面面经
完整信息
本篇目录
日期:10.29
面试净时长:约 42 分钟
一、自我介绍
1\. 自我介绍
(1)简单介绍自己和项目经历。
二、基础知识与场景题
2\. 线程池
(1)线程池有哪些核心参数?提交任务的核心流程是什么?
(2)submit 如何实现?提交方等待时,怎样获知任务完成?只是回调吗,两个线程之间如何通信?
3\. 锁机制
(1)介绍 Java 几种锁机制的实现及差异。
(2)synchronized 使用监视器锁、操作系统的互斥锁,还做了哪些优化?锁升级原理是什么?
(3)ReentrantLock 的公平锁与非公平锁,实现有什么差异?
4\. ThreadLocal
(1)实现原理、适用场景是什么?会有什么问题?
(2)为什么会内存泄漏?详细讲一下整个过程。
5\. 垃圾回收
(1)选一个熟悉的垃圾回收器,介绍完整回收流程。
(2)新生代和老年代的回收算法有什么不同?两者有什么差异,为什么导致算法设计不同?
6\. ThreadLocal 场景
(1)Web 系统里具体什么场景会用到 ThreadLocal,用来做什么?
(2)接口把用户信息存入 ThreadLocal,将耗时下载交给异步线程,主线程正常返回。异步线程如何获取用户信息?
7\. 并发累加
(1)全局数字变量初始为 0,10 个线程各累加 100 次,全部执行完后值是多少?
(2)要精确得到 1000,除了加锁还有什么方案?信号量还是加锁,还有其他方案吗?乐观锁方案可以吗?
(3)并发增至 10、100 或 1000 个线程,CAS 方式会有问题,有没有更好的方案?
8\. 事务隔离
(1)MySQL 四种事务隔离级别是什么,各有什么问题?
(2)InnoDB 默认隔离级别是什么,如何尽量避免幻读?
9\. 索引结构
(1)介绍 MySQL 索引的数据结构。相比其他索引结构,这样设计有什么优势?
(2)主键和索引都是 long 类型,按默认页大小,索引树高大概多少层?
三、项目与实习
10\. 项目升级
(1)项目从 Workflow 升级到 MCP 工具调用的动态决策链路,是怎么升级的,原因是什么?
(2)提供了哪些工具?Agent 执行模式是什么样的?做的是 Skill,对吗?是否直接使用了现成的 Agent 框架?
11\. Agent 执行模式
(1)了解哪些 Agent 执行模式?
四、逻辑思考
12\. 时钟夹角
(1)圆形表盘上,3:15 时的时针和分针夹角是多少度?
本篇目录
当前问题0125
- 01
自我介绍
- 02
简单介绍自己和项目经历。
- 03
线程池有哪些核心参数?提交任务的核心流程是什么?
- 04
submit 如何实现?提交方等待时,怎样获知任务完成?只是回调吗,两个线程之间如何通信?
- 05
介绍 Java 几种锁机制的实现及差异。
- 06
synchronized 使用监视器锁、操作系统的互斥锁,还做了哪些优化?锁升级原理是什么?
- 07
ReentrantLock 的公平锁与非公平锁,实现有什么差异?
- 08
实现原理、适用场景是什么?会有什么问题?
- 09
为什么会内存泄漏?详细讲一下整个过程。
- 10
选一个熟悉的垃圾回收器,介绍完整回收流程。
- 11
新生代和老年代的回收算法有什么不同?两者有什么差异,为什么导致算法设计不同?
- 12
Web 系统里具体什么场景会用到 ThreadLocal,用来做什么?
- 13
接口把用户信息存入 ThreadLocal,将耗时下载交给异步线程,主线程正常返回。异步线程如何获取用户信息?
- 14
全局数字变量初始为 0,10 个线程各累加 100 次,全部执行完后值是多少?
- 15
要精确得到 1000,除了加锁还有什么方案?信号量还是加锁,还有其他方案吗?乐观锁方案可以吗?
- 16
并发增至 10、100 或 1000 个线程,CAS 方式会有问题,有没有更好的方案?
- 17
MySQL 四种事务隔离级别是什么,各有什么问题?
- 18
InnoDB 默认隔离级别是什么,如何尽量避免幻读?
- 19
介绍 MySQL 索引的数据结构。相比其他索引结构,这样设计有什么优势?
- 20
主键和索引都是 long 类型,按默认页大小,索引树高大概多少层?
- 21
项目从 Workflow 升级到 MCP 工具调用的动态决策链路,是怎么升级的,原因是什么?
- 22
提供了哪些工具?Agent 执行模式是什么样的?做的是 Skill,对吗?是否直接使用了现成的 Agent 框架?
- 23
了解哪些 Agent 执行模式?
- 24
圆形表盘上,3:15 时的时针和分针夹角是多少度?
- 25
提供了哪些工具?Agent 执行模式是什么样的?做的是 Skill,对吗?是否直接使用了现成的 Agent 框架?