面试的体验是不错的,面试官一直在引导,奈何太久没有接触八股文了🤣
- 岗位 :后端开发
- 时间:2023-05
- 面试时长:1 小时 24 分钟
Java#
基础#
-
String 、StringBuilder 、StringBuffer 的区别
- StringBuilder 性能更好的原因是什么
-
Java 开发中使用过的 List 有哪些,能说一下各自的特点吗
- 那 ArrayList 和 LinkedList 的区别是什么
-
Java 开发中使用过的 Map 有哪些,能说一下各自的特点吗
- HashMap 在并发场景下会存在什么问题,有什么方法可以解决呢
并发#
-
在日常开发中在什么情况下需要使用线程池
- 为什么要使用线程池而不是直接新开一个新的线程呢
-
在日常开发当中除了使用多线程的的方式去解决并发问题之外,还会使用什么方式去编程解决并发的问题(比如说锁之类的)
- Java 的 synchronized 关键字使用过吗,能说一下一般都怎么使用的吗
- synchronized 如果是修饰方法可以吗,会有什么现象
-
Sleep () 和 Wait () 这 2 种方法的使用和区别
JVM 虚拟机#
- Java 虚拟机 GC 这方面你有了解过吗
- 在项目中使用的 GC 模型是哪个呢
数据库#
- MySQL 有哪些事务等级吗,每个事务等级能举个例子说明一下吗
- MySQL 的锁,比如说间隙锁之类的,能介绍一下吗
- 索引你了解过吗
- 为什么主键索引查询效率比普通索引快
- 那唯一索引与主键索引的区别是什么
数据结构和算法#
- 快排和堆排介绍一下
- 用递归的方法写一下二叉树的中序、前序遍历
项目#
- 详细讲一下你做过的项目
- 项目当中为什么要使用 SpringCloud 的 OpenFegin 来调用的第三方服务
- 项目当中日志调用的链路是怎么做的,实战中链路怎么起到效果
- MySQL 与 ProgresSQL 的区别是什么,为什么要将数据库从 MySQL 切换到 ProgresSQL
- 数据库切换迁移过程如何完成平滑切换的呢
- 对于不停止服务的条件下,如何实现平滑切换数据库
- 场景:调用一个接口,A 步骤是顺序执行,B 步骤是异步在后台执行记录调用日志(执行比较慢),现在如果 A 步骤执行成功返回给用户了,但是在 B 步骤执行的过程中服务挂掉了日志没有记录丢失了怎么处理