最后帮你一次,面经你拿走
小红书java面经
自我介绍
(一面没问项目)
询问学习了多久的java?
1.Hashmap的数据结果组成?
2.Hashmap是线程安全的吗?
3.CurrentHashmap是线程安全的吗?
4.CAS操作
5.如何解决hash冲突?(听过)
6.手撕 在本地手写单列模式 (双重检验锁试) 然后让写一个颜色工厂实例 (没写出来,讲了一下思路)
小红书Java实习一面
1.@Autowired和@Resource的区别,(Autowired翻译是自动装配)
1.注解@Autowired和@Resource的区别?@Auowired是如何注入的?
2.Spring和Spring boot的区别?Spring Boot 比 Spring优化在哪里,为什么更轻量级?
3.Spring的自动装配过程,如何识别出要装配的类?会扫描全部的类吗?
4.Spring AOP有哪些注解?
5.List有哪些线程安全的类,哪些非线程安全的类?ArrayList和 LinkedList 的区别?ArrayList 的扩容机制?LinkedList的删除操作是 O(1)的吗?
6.讲一下Syncronized关键字的底层实现原理。介绍一下偏向锁,轻量级锁。volatile有哪些作用?
- Synchronized:通过对象头和 Monitor 实现线程同步,依赖底层 Mutex Lock
- 偏向锁:减少无竞争时的锁开销,记录线程 ID
- 轻量级锁:多线程交替执行时避免重量级锁的性能消耗
- Volatile:保证可见性和禁止指令重排序,不保证原子性
7.讲一下单例模式有哪几种实现方式
lan,e,双
8.final关键字修饰变量,方法,类,有什么区别?修饰方法的话,里边的数据能修改吗?修饰类的话,里边的方法可以修改吗?里边的方法可以被重写吗?可以通过反射来修改里边的属性吗?无论什么情况下都可以通过反射来修改吗?
9.讲一下Java面向对象的三大特性。说一下你对多态的理解
10.线程池有哪些参数,分别讲一下有什么作用?拒绝策略有哪几种?
11.Executors工具类可以用来创建线程池对吧,那么里边具体有哪些方法?
12.Object类中包含哪些方法?wait()和 sleep() 有什么区别?
getClass(),hashCode(),wait(),equals(),clone(),toString(),notify(),notifyAll
13.死锁发生的原因。如何解决死锁问题?
14.介绍一下双亲委派机制,使用场景,有什么好处?
15.类加载的过程。
16.什么时候会发生old GC,年轻代和老年代的比例。讲一下GC回收过程。年轻代的一块region一般是多大?年轻代专门存储大对象的空间是哪里?Old GC 和 Minor GC的区别? 常见的GC Root类型有哪些?
17.类的对象头里边存有什么数据?
18.TCP/IP有哪几层?每一层分别有哪些协议?报文段的最大限制是多少字节?这个主要是受什么限制导致的? 描述一下TCP流量控制的滑动窗口机制
19.介绍一下DNS协议,DNS协议在哪一层?
20.讲一下Redis的缓存穿透,缓存击穿,缓存雪崩,他们的解决方案分别有什么? Redis里边有一些数量很少,但是访问很频繁的热key,如何高效的,快速的把他们找出来
21.https 协议和 http 的区别? 如何通过TLS/SSL协议建立加密通道,描述一下这个过程
手撕,判断链表是否成环,如果成环求环的长度。
6.26北京经纬恒润java校招一面
0 刚才介绍的流程落到代码实现能说一下嘛(开了共享打开了一下idea给面试官看代码)
1 final关键字的作用
2 抽象类和接口的区别
3 如果抽象类被继承的子类没有实现其全部抽象方***怎么样
4 结合你的项目举例说明你是怎么用线程池的
5 用过什么设计模式吗
6 介绍一下你用的策略模式
7 spring的aop
8 结合设计模式说说aop的实现
9 静态代理两种方法的特点
10 说说反射的作用和优缺点
11 redis的持久化机制有哪些
12 hashmap的使用场景
6.24美团财务后端面经
1 注册中心不可用了微服务之间还能相互调用吗
2 rpc调用过程
3 看你用了redis和es,为什么用了多个缓存组件
4 redis单线程效率为什么快
Redis 采用单线程模型的设计,主要是为了提升性能、简化逻辑并避免多线程带来的复杂性。以下是其核心优势和原因:
Redis 的单线程模型避免了多线程之间的竞争问题。多线程需要使用锁机制来保证数据一致性,这会带来额外的开销,例如加锁、解锁和线程切换。同时,多线程可能导致死锁问题,增加了代码的复杂性。而单线程模型确保了所有请求的串行执行,不需要额外的锁机制,从而提高了稳定性和执行效率(1)(2)。
Redis 使用 I/O 多路复用机制(如 epoll),使单线程能够同时处理多个客户端请求。这种机制避免了 I/O 阻塞问题,并且由于 Redis 的操作大多是内存操作,速度极快,单线程足以支撑高并发场景(1)(2)。
Redis 的核心操作简单且高效,主要是基于内存的键值存储,操作复杂度通常为 O(1) 或 O(log N)。
5 redis有哪些数据结构
6 使用redis集群的话,数据分区过程是什么样
7 es的分词过程有了解吗
1. 连接ElasticSearch
2. 创建索引并设置分词器
3. 索引文档
4. 执行分词查询
5. 处理查询结果
8 MongoDB和mysql实用场景区别,优缺点
MongoDB适合用于大数据量、高并发、非结构化数据的场景,而MySQL则更适合需要强一致性和复杂事务处理的关系型数据场景(1)。
9 mysql的acid如何实现
undo log。如果事务失败或调用了rollback,InnoDB会利用undo log将数据回滚到修改前的状态(1)。
MySQL通过redo log来实现持久性。InnoDB在事务提交时会将操作记录到redo log,并调用fsync接口将其写入磁盘。如果MySQL宕机,重启时可以通过redo log恢复数据(2)。
MySQL通过锁机制和**MVCC(多版本并发控制)**来实现隔离性。
一致性确保事务执行前后数据库的状态是一致的。
10 事务隔离级别的读已提交和可重复读怎么实现
在数据库中,事务隔离级别中的读已提交(Read Committed)和可重复读(Repeatable Read)主要通过锁机制和多版本并发控制(MVCC)来实现
11 mysql的索引的建立选择和依据
12 你去建立索引要考量的因素有哪些
13 mysql适合范围查询吗
14 tcp怎么解决数据损坏丢包乱序问题
15 算法:反转链表
快手-增量投放部门 1面 2025-07-15-19:30
项目:拼团 rag&mcp(完全不感兴趣) 动态线程池
说一下在项目实现的时候遇到的非常难忘的事情。
规则树模式 ✅
人群标签 ✅
领域驱动设计的好处 (✅❌,答得一般,没答到要点)
动态配置中心设计 ✅
动态降级和切量降级的目的 ✅
你是否知道规则树模式的其他场景 ❌
介绍策略模式 ✅
拼团营销策略是否可以叠加?✅
责任链模式的设计实现 ✅
你是否知道责任链应用的其他场景?❌
你为什么使用mq通信,而不是用rpc进行微服务通信?❌
项目做过压测吗?❌
动态线程池的几个参数和执行流程 ✅
创建对象有几种方式?❌
反射的使用场景 ❌
线程池核心线程数应该怎么设计 ✅
手撕:
线程1-100循环打印 不会,换题。
BM16 删除有序链表中的重复元素-I
字节生活服务后端一面
自我介绍,拷打项目
我有 10 万个路径规则,然后我要怎么存储这些路径规则?然后当一个请求 path 传过来的时候,我该怎么快速判断它是否在这路径规则里面?
redis和数据库同步策略
热点数据更新,redis一瞬间失效会有什么问题,怎么解决?
算法:最长无重复子串(限时5min)
字节 一面
根据简历问项目,你觉得项目比较难的点?
你的延时任务怎么实现的?
kafka的延迟队列怎么实现?
kafka优先队列?
对比一下kafka和rabbitmq?
rabbitmq 和 消费者之间采用什么模式?
Spring AOP
有实现过代理模式吗?
说一下mysql隔离级别?
讲一下redis的Zset的底层数据结构?
优先队列实现?
讲讲java、kafka、rabbitmq 的延迟队列?
算法题: 简单的在图中dps
字节实习面经
Redis 数据结构
Redis 分布式架构
分布式锁实现
OSI 七层模型
空Channel
算法题:最长回文子串
字节后端一面java面经
说说项目背景
说说项目里的防超买
你说用到了rabbitmq,如何保证可靠性
算法 寻找两个不定排序有重复的数组的中位数
字节后端实习一面面经
总共面试了一个小时,汗流浃背了
自我介绍
项目的拷打(大约15分钟)
Java八股:
线程进程区别
使用多线程还是多进程
僵尸线程
计算机网络:
tcp/ip网络分层
tcp和udp区别以及使用领域
阻塞控制(是我在前面提到了这个)
MySQL八股
事务级别,能防止哪些问题
临时表
算法
怎么使用1到5的随机选择器实现1到7的随机选择器 二叉树不相邻节点之和最大值
自我介绍
(一面没问项目)
询问学习了多久的java?
1.Hashmap的数据结果组成?
2.Hashmap是线程安全的吗?
3.CurrentHashmap是线程安全的吗?
4.CAS操作
5.如何解决hash冲突?(听过)
6.手撕 在本地手写单列模式 (双重检验锁试) 然后让写一个颜色工厂实例 (没写出来,讲了一下思路)
小红书Java实习一面
1.@Autowired和@Resource的区别,(Autowired翻译是自动装配)
1.注解@Autowired和@Resource的区别?@Auowired是如何注入的?
2.Spring和Spring boot的区别?Spring Boot 比 Spring优化在哪里,为什么更轻量级?
3.Spring的自动装配过程,如何识别出要装配的类?会扫描全部的类吗?
4.Spring AOP有哪些注解?
5.List有哪些线程安全的类,哪些非线程安全的类?ArrayList和 LinkedList 的区别?ArrayList 的扩容机制?LinkedList的删除操作是 O(1)的吗?
6.讲一下Syncronized关键字的底层实现原理。介绍一下偏向锁,轻量级锁。volatile有哪些作用?
- Synchronized:通过对象头和 Monitor 实现线程同步,依赖底层 Mutex Lock
- 偏向锁:减少无竞争时的锁开销,记录线程 ID
- 轻量级锁:多线程交替执行时避免重量级锁的性能消耗
- Volatile:保证可见性和禁止指令重排序,不保证原子性
7.讲一下单例模式有哪几种实现方式
lan,e,双
8.final关键字修饰变量,方法,类,有什么区别?修饰方法的话,里边的数据能修改吗?修饰类的话,里边的方法可以修改吗?里边的方法可以被重写吗?可以通过反射来修改里边的属性吗?无论什么情况下都可以通过反射来修改吗?
9.讲一下Java面向对象的三大特性。说一下你对多态的理解
10.线程池有哪些参数,分别讲一下有什么作用?拒绝策略有哪几种?
11.Executors工具类可以用来创建线程池对吧,那么里边具体有哪些方法?
12.Object类中包含哪些方法?wait()和 sleep() 有什么区别?
getClass(),hashCode(),wait(),equals(),clone(),toString(),notify(),notifyAll
13.死锁发生的原因。如何解决死锁问题?
14.介绍一下双亲委派机制,使用场景,有什么好处?
15.类加载的过程。
16.什么时候会发生old GC,年轻代和老年代的比例。讲一下GC回收过程。年轻代的一块region一般是多大?年轻代专门存储大对象的空间是哪里?Old GC 和 Minor GC的区别? 常见的GC Root类型有哪些?
17.类的对象头里边存有什么数据?
18.TCP/IP有哪几层?每一层分别有哪些协议?报文段的最大限制是多少字节?这个主要是受什么限制导致的? 描述一下TCP流量控制的滑动窗口机制
19.介绍一下DNS协议,DNS协议在哪一层?
20.讲一下Redis的缓存穿透,缓存击穿,缓存雪崩,他们的解决方案分别有什么? Redis里边有一些数量很少,但是访问很频繁的热key,如何高效的,快速的把他们找出来
21.https 协议和 http 的区别? 如何通过TLS/SSL协议建立加密通道,描述一下这个过程
手撕,判断链表是否成环,如果成环求环的长度。
6.26北京经纬恒润java校招一面
0 刚才介绍的流程落到代码实现能说一下嘛(开了共享打开了一下idea给面试官看代码)
1 final关键字的作用
2 抽象类和接口的区别
3 如果抽象类被继承的子类没有实现其全部抽象方***怎么样
4 结合你的项目举例说明你是怎么用线程池的
5 用过什么设计模式吗
6 介绍一下你用的策略模式
7 spring的aop
8 结合设计模式说说aop的实现
9 静态代理两种方法的特点
10 说说反射的作用和优缺点
11 redis的持久化机制有哪些
12 hashmap的使用场景
6.24美团财务后端面经
1 注册中心不可用了微服务之间还能相互调用吗
2 rpc调用过程
3 看你用了redis和es,为什么用了多个缓存组件
4 redis单线程效率为什么快
Redis 采用单线程模型的设计,主要是为了提升性能、简化逻辑并避免多线程带来的复杂性。以下是其核心优势和原因:
Redis 的单线程模型避免了多线程之间的竞争问题。多线程需要使用锁机制来保证数据一致性,这会带来额外的开销,例如加锁、解锁和线程切换。同时,多线程可能导致死锁问题,增加了代码的复杂性。而单线程模型确保了所有请求的串行执行,不需要额外的锁机制,从而提高了稳定性和执行效率(1)(2)。
Redis 使用 I/O 多路复用机制(如 epoll),使单线程能够同时处理多个客户端请求。这种机制避免了 I/O 阻塞问题,并且由于 Redis 的操作大多是内存操作,速度极快,单线程足以支撑高并发场景(1)(2)。
Redis 的核心操作简单且高效,主要是基于内存的键值存储,操作复杂度通常为 O(1) 或 O(log N)。
5 redis有哪些数据结构
6 使用redis集群的话,数据分区过程是什么样
7 es的分词过程有了解吗
1. 连接ElasticSearch
2. 创建索引并设置分词器
3. 索引文档
4. 执行分词查询
5. 处理查询结果
8 MongoDB和mysql实用场景区别,优缺点
MongoDB适合用于大数据量、高并发、非结构化数据的场景,而MySQL则更适合需要强一致性和复杂事务处理的关系型数据场景(1)。
9 mysql的acid如何实现
undo log。如果事务失败或调用了rollback,InnoDB会利用undo log将数据回滚到修改前的状态(1)。
MySQL通过redo log来实现持久性。InnoDB在事务提交时会将操作记录到redo log,并调用fsync接口将其写入磁盘。如果MySQL宕机,重启时可以通过redo log恢复数据(2)。
MySQL通过锁机制和**MVCC(多版本并发控制)**来实现隔离性。
一致性确保事务执行前后数据库的状态是一致的。
10 事务隔离级别的读已提交和可重复读怎么实现
在数据库中,事务隔离级别中的读已提交(Read Committed)和可重复读(Repeatable Read)主要通过锁机制和多版本并发控制(MVCC)来实现
11 mysql的索引的建立选择和依据
12 你去建立索引要考量的因素有哪些
13 mysql适合范围查询吗
14 tcp怎么解决数据损坏丢包乱序问题
15 算法:反转链表
快手-增量投放部门 1面 2025-07-15-19:30
项目:拼团 rag&mcp(完全不感兴趣) 动态线程池
说一下在项目实现的时候遇到的非常难忘的事情。
规则树模式 ✅
人群标签 ✅
领域驱动设计的好处 (✅❌,答得一般,没答到要点)
动态配置中心设计 ✅
动态降级和切量降级的目的 ✅
你是否知道规则树模式的其他场景 ❌
介绍策略模式 ✅
拼团营销策略是否可以叠加?✅
责任链模式的设计实现 ✅
你是否知道责任链应用的其他场景?❌
你为什么使用mq通信,而不是用rpc进行微服务通信?❌
项目做过压测吗?❌
动态线程池的几个参数和执行流程 ✅
创建对象有几种方式?❌
反射的使用场景 ❌
线程池核心线程数应该怎么设计 ✅
手撕:
线程1-100循环打印 不会,换题。
BM16 删除有序链表中的重复元素-I
字节生活服务后端一面
自我介绍,拷打项目
我有 10 万个路径规则,然后我要怎么存储这些路径规则?然后当一个请求 path 传过来的时候,我该怎么快速判断它是否在这路径规则里面?
redis和数据库同步策略
热点数据更新,redis一瞬间失效会有什么问题,怎么解决?
算法:最长无重复子串(限时5min)
字节 一面
根据简历问项目,你觉得项目比较难的点?
你的延时任务怎么实现的?
kafka的延迟队列怎么实现?
kafka优先队列?
对比一下kafka和rabbitmq?
rabbitmq 和 消费者之间采用什么模式?
Spring AOP
有实现过代理模式吗?
说一下mysql隔离级别?
讲一下redis的Zset的底层数据结构?
优先队列实现?
讲讲java、kafka、rabbitmq 的延迟队列?
算法题: 简单的在图中dps
字节实习面经
Redis 数据结构
Redis 分布式架构
分布式锁实现
OSI 七层模型
空Channel
算法题:最长回文子串
字节后端一面java面经
说说项目背景
说说项目里的防超买
你说用到了rabbitmq,如何保证可靠性
算法 寻找两个不定排序有重复的数组的中位数
字节后端实习一面面经
总共面试了一个小时,汗流浃背了
自我介绍
项目的拷打(大约15分钟)
Java八股:
线程进程区别
使用多线程还是多进程
僵尸线程
计算机网络:
tcp/ip网络分层
tcp和udp区别以及使用领域
阻塞控制(是我在前面提到了这个)
MySQL八股
事务级别,能防止哪些问题
临时表
算法
怎么使用1到5的随机选择器实现1到7的随机选择器 二叉树不相邻节点之和最大值
全部评论
相关推荐
点赞 评论 收藏
分享