你好,我是 Guide。这篇文章分享的是一位读者的 2022 年跳槽面试经历,希望对你有帮助。
京东一面
- 单例模式、模板方法
- Redis 分布式锁
- Redis 的缓存击穿
- 为什么要用反射?反射的应用场景和优缺点。
- 子线程中获取父线程的
ThreadLocal
中的值、ThreadLocal
的数据结构 - Spring 事务
- InnoDB 锁算法
- InnoDB存储引擎对MVCC的实现
- Integer 可以和 int 用 equals,会进行自动装箱和拆箱,内部实际用 == 进行比较。
- MQ 存在的意义,你用过哪些 MQ,最喜欢哪一个,为什么。
- MQ 中消费时,业务逻辑出现异常怎么办
- JVM 调优经历有么?
- Redis 各个数据类型的底层数据结构
- SpringBoot 的配置文件的加载顺序
- MyISAM 和 InnoDB 的区别
京东二面
- 介绍下挑战比较大的项目
- 项目中业务上与技术上的挑战点
- Redis 用过哪几种数据类型
- 项目上的分布式锁是用哪种方式实现的?
- Reddison 实现分布式锁的原理
- Redis 为什么能通过 Lua 脚本保证并发的线程安全?
- Redis 缓存穿透和雪崩
- Redis 在内存不足时,淘汰机制是怎样的?
- Redis 可以做消息队列么?
- 数据库加索引的原则
- 数据库用到的数据类型(
char
在什么场景会用到),在char
,varchar
,int 在建字段用到的数字是什么作用 - binlog 有什么作用?MySQL 崩溃恢复机制依赖什么日志?
- 消息消费顺序的要求
- 对微服务的了解
- Nacos 的服务注册与发现原理
- 接口之间的通讯协议
- 微服务交互采取的序列化方式
- 多线程使用实例
- 线程池是如何创建,有哪些参数,分别起什么作用
- 是否遇到过线程安全的问题
广州源创科技
- RestFul API
- 打印日志规范
- 项目架构图,涉及到的技术点,有哪些模块
- 你负责哪些模块,遇到了什么问题没有。
- Redis 是怎么实现分布式锁
- Redis 加锁过程,系统挂了,怎么解锁
- 了解哪些常见的设计模式和软件设计原则
佳创视讯
- Spring IoC & AOP
- 讲下代理模式,以及如何实现
- 开头讲一下最近做的一个项目
- 做一个下单发送短信你会去怎么实现,记录发送的次数会选择用什么记录
- 微服务用到了哪些技术,与单体的区别,
- MySQL 索引怎么创建,有哪些注意事项,查询优化
- 单点登录怎么实现
- HashMap 的底层结构以及扩容
- HashMap 和 TreeMap 区别
- 多线程下怎么避免线程安全问题
- 你在项目中用到的 Redis 数据结构?简单介绍一下 zset 。
- Redis 持久化方式
- Redis 的集群部署有哪几种
- 讲一下做过的性能优化
参考答案
- JavaGuide 在线阅读版:https://javaguide.cn/
- 《Java面试指北》
·········· END ··············