一面
# 2024-04-18 小红书测开暑期实习
- 自我介绍。
- 简历上都是开发相关的东西,于是被问到为什么投测开。
- 手撕:二叉树中所有从根节点到叶子节点路径的和。
- 对java泛型有了解吗,为什么要用泛型,泛型类能否直接被使用。
- AOP有了解过吗,你项目中有没有使用过,他底层是怎么实现的。
- 静态代理和动态代理有什么区别。
- 如果定义了多个切入点表达式,怎么保证执行的顺序。
- Springboot中starter的作用是什么。
- 有哪些注解可以用来声明一个bean。
- @bean和@component注解有什么区别。
- Springboot加载配置有哪些方式。
- 说一下bean的生命周期。
- 说一下bean生命周期中aware接口是用来干什么的。
- springboot中的bean是线程安全的吗。
- spring的事务你有用到吗,有哪些实现方式。
- 用注解声明式事务,默认采用的是什么事务管理器,有其他选择吗。
- spring的动态代理默认采用的是什么。JDK代理和CGLIB代理有什么区别。
- redis有用到过吗,redis缓存穿透、缓存击穿、缓存雪崩问题及其解决方案。
- redis持久化方法,两者有什么区别以及使用场景。
- redis怎么保证高并发和高可用的。
- redis的基本数据类型。然后给了一些场景,问我用什么数据类型 比如:排行榜。
- mysql的三大日志有了解过吗,分别说一下。
- mysql事务隔离级别,redolog保证了什么,undolog保证了什么。
- MVCC是怎么实现的。
- mysql为什么要用b+树作为索引结构。
- java线程池的核心参数有哪些,线程工厂的作用是什么,有哪些拒绝策略。
- 任务队列你会采用有界队列还是无界队列。
- 解释一下AQS是什么,用来干什么的。
- 说一下原子类有哪些。
- Java常见的并发容器。
- ThreadLocal在使用中会出现什么问题。
- 消息队列任务堆积问题可能的原因是什么。
# 2024-04-10 小红书商家技术
- 自我介绍 ——八股盛宴——
- 熟悉的java并发工具?
- synchronized和ReentrantLock的区别?
- 从性能上来讲,synchronized和ReentrantLock的区别?
- 类加载机制有了解吗?
- Java常用垃圾回收器算法及其原理?
- MySQL的聚簇索引和非聚簇索引了解吗?
- 事务隔离级别?MySQL默认使用哪种事务隔离级别?可重复读会有什么问题?幻读是怎么解决的?
- 可重复读底层逻辑是怎样实现的?介绍一下MVCC?
- 分库分表在项目中有用到吗?我们当时分库分表的依据是什么?
- 当时为什么有这么一个需求去分表?
- Redis的集群模式有哪几种,聊一聊?
- 你觉得主从、哨兵、分片这几种集群分别解决什么问题?这几种集群各自的优缺点分别有哪些?
- Redis是单线程的,那你认为Redis内部是单线程的吗?
- Redis的持久化是怎么实现的?
- Docker有了解过吗,项目中用到了吗?
- 你感觉Docker是为了解决什么问题?你觉得使用Docker会不会带来一些性能上的问题?
- 你说的哪些问题虚拟机也能解决,那么Docker跟虚拟机有什么区别?
- kafka调优怎么实现?介绍一下kafka的背景,做了什么优化?
- 手撕:单例模式的任一实现方式(我挑了懒汉式)
- 聊一下项目,在得物做了哪些东西,项目背景