面试:2021年12月22日开课吧Java软件工程师面试题目总结
    
 
2021年12月22日开课吧Java软件工程师面试题目总结
 
 
一面
 
- 先自我介绍一下吧
 - 简单介绍最近做过的项目(业务流程、用户量)
 - 看简历做过微服务,用的spring cloud还是spring cloud alibaba?注册中心用的是nacos?
 - 类加载机制知道吗?简单讲一讲过程
 - 加载器有几种?
 - 双亲委派模型讲一讲
 - JVM的结构组成知道吗?
 - 垃圾回收算法知道几种?能简单讲讲吗?
 - Java内存模型知道吗?(用户态和内核态的交替?操作的地方在哪?为什么有volatile?主内存在哪里?)
 - 并发三大特性?
 - 内存屏障是什么样的?
 - 锁有了解吗?
 - 简单说一下sychronized
 - 简单说一下mysql吧
 - 数据库引擎的数据结构有几种?为啥不用hash改用b+树?
 - 事务的隔离级别知道吗?
 - mysql默认使用哪种?为什么?
 - MVCC知道吗?
 - 讲一下集合中的Map
 - 为什么要改为红黑树?
 - hash key怎么计算的?
 - 说一下扩容?
 - 扩容会遇到什么问题?怎么解决的?
 - 讲一讲线程安全的currentHashMap?
 - 讲一个你做过的业务复杂或有挑战的任务(完整的流程)
 - Redis在什么场景下用的?
 - Kafka用过吗?消息队列有几种?各有什么区别?
 - Redis有几种数据结构?
 - leetcode刷题(三选一):20有效的括号
 
 
二面
 
- 线程池用过吗?怎么用的?核心参数有哪些?
 - 如何配置核心线程数和最大线程数?
 - 设计模式用过哪些?
 - JVM了解得怎么样?
 - 有了解过Java的锁吗?知道锁膨胀机制吗?
 - 用redis做了些什么?
 - 了解过哪些消息队列?
 - 讲一讲mysql
 - mybatis的插件用过吗?分页插件什么的
 - 自己有思索过什么问题吗,或者线上复杂的问题?
 - 有独立搭过服务的经验吗?
 - 平时都怎么学习?
 - 你觉得你擅长哪一方面的技术?
 - 私下研究过JDK或者什么框架吗?
 - 能接受加班吗?
 - leetcode(226.翻转二叉树)