面Java开发岗所问的问题整理,相对于Java开发实习岗,问题更深,更广,常问的问题:1. 分布式相关; 2. 项目; 3. 并发; 4. 数据库
面Java实习岗面试题链接 -> 传送门
1. 某SaaS类
- SaaS的理解
- StringBuffer、StringBuilder区别
- Java中其它的包
- Spring bean的加载机制
- Spring bean的生命周期
- mysql的两种引擎,及其区别
- 对ES的了解
- 知道哪些中间件
- 工作流
- 如何实现秒杀系统
- mq 如何避免消息丢失
- redis的高可用
- 现在有两个职位,一个是引入新技术,二是组长,你更倾向于哪个
- xxK-> xxK 的原因
- Spring Aop理解
- jwt
2. 某金融类
- 说下最近的项目,限流的实现,堵塞队列的实现;工作流业务流相关实现逻辑
- class加载机制
- 如何实现一个线程池
- 继承、封装、多态,为什么要用getter、setter方法
- 接口及抽象类的作用
- 如果你的java类和第三方类同包同类名,会报错吗
- Lombok的优点及缺点
3. 某大厂
- 分布式事务
- 分库分表
- java中的锁,AQS两种队列
- ClassLoader 加载机制,会有什么问题,如何处理,jdbc、tomcat怎么重写classloader
- CAP
- redis 一致性hash解决什么问题
- CAS存在的问题及如何解决
4. 某国企
一面
- 自我介绍、项目
- mysql优化、索引失效
- mysql聚集索引
- 线程池
- 接口变慢,分析原因
- 有看过哪些源码
- 为什么离职
- 有什么想问我的
二面
- 自我介绍
- 项目介绍
- 离职原因
- 项目中的难题
- jvm 排查工具
- java8 新特性
- 看哪些技术社区
- 有什么问题想问我的
5. 某传统公司
- 项目介绍
- mysql优化
- 有什么问题想问我的 (主要问项目)
6. 某大厂
一面
- 自我介绍
-
redis:
a. 存储的数据类型有哪些
b. List 存储的是什么
c. 持久化机制
d. RDB与AOF有什么不同
f. 集群方式
g. 存在丢数据问题吗
h. 一致性hash算法 -
mysql:
a. 你们用的存储引擎是什么
b. 有哪些锁
c. 读锁与写锁有什么不同,具体使用
d. 隔离级别有哪些
e. innodb 默认的隔离级别是哪个
f. 可重复读会产生什么问题
g. 可重复读是如何解决的
h. mvcc 实现机制 - Java:
a. 如何处理并发
b. 先说说sychronized 实现原理
c. cas如何保证原子性
d. volatile 关键字作用
e. 工作内存如何将数据写到主内存中
f. 有哪些锁
g. 讲讲原子锁及过程
h. 公平锁与非公平锁
i. AQS内置的数据结构
m. 原子锁与synchronized有什么不同 - 智力题:两个人在圆桌上放硬币,且硬币不能叠加,第一个放硬币的是自己,如何确保最后对手不能再放上硬币
二面
- 自我介绍
- 项目中的难点及解决方案
- 项目中如何实现请求调用的幂等性
- 手写LRU
7. 某大厂
一面
- 自我介绍、项目介绍
- 数据量过大时,如何分库分表?
- maven package 和 install的区别
- 如何排查线上问题
二面
- 项目介绍
- 介绍你们使用的流程引擎和工作流执行的过程
- 项目中用到的幂等
- 微服务有用过吗
- 分布式锁
- 为什么选择redis作为分布式锁?
- 分布式锁还有其他实现方式用吗
- linux命令熟悉吗,说下awk命令,会写shell脚本吗
- 会使用前端技术吗
- 单侧
三面
- 项目介绍,及问题