早上面的,下午收到二面邀约,但怎么邮件刚发出来怎么都被约满了
自我介绍?
平常怎么学习的?
java:
- 抽象类和接口的区别
- java 反射机制说一下
- 如何获取类的 Class 对象
- TreadLocal 存在什么问题
- 线程池的核心参数有哪些
- 项目中使用过线程池吗(通过逻辑过期解决缓存击穿问题时使用了 singleThreadExecutor)
- JVM 的内存结构说一下
- JVM 的调优参数有了解吗
设计模式:
- 项目中使用过设计模式吗(使用工厂模式,有一个锁工厂负责创建传统 redis 分布式锁和 redisson 分布式锁)
Mysql:
- Mysql 如何使用索引进行 SQL 优化(从正反两面回答,反面就是事务失效的场景)
- 如何优化 SQL 语句
- 数据库事务说一下
- Mysql 的事务隔离级别
redis:
- redis 常用数据类型
- 缓存三大问题
- 如何解决缓存穿透问题
Spring:
- Spring 常用注解有哪些
- 介绍一下 Spring AOP
- AOP 有哪些应用场景
- @Autowired 和 @Resource 注解的区别
- cookie 和 session 的区别(好久没看了)
项目:
- 缓存点赞数的刷新时间是多少(20min)
- 时间是写死的还是可插拔的(写死的)
- 缓存点赞数是选择性刷新有变化的点赞数还是不管有没有变化都进行更新(后者)
- 刷新时如何识别哪些是点赞缓存(通过 key 的层级实现,帖子的点赞数通过 like 前缀标识)
- 场景题
- 如果日活有1个亿,你的项目只有一个 redis 节点和 Mysql 节点,你应该如何优化(增加 redis 和 Mysql 节点并进行分库分表)
- 多个 redis 节点和多个 Mysql 节点间如何同步数据(不会)
消息队列:
- 消息队列如何保证消息可靠性
分布式(这一块都不会):
- 分布式事务了解吗
- CAP 讲一下
计网:
- 常见的状态码(忘了好多)
- HTTP 请求方式
- get 和 post 的区别
数据结构:
- 数组和链表的区别
- 树了解吗,在项目中使用过吗(没使用过,不过 Mysql InnoDB 和 MyISAM 存储引擎的索引结构是 B+ 树)
反问:
- 今后努力的方向(问题驱动)
- 面试流程