MetaApp
后端开发一面、二面面经
完整信息
本篇目录
#发面经攒人品#
一面:
- threadlocal有什么作用? 能解决什么问题?
- 为什么缓存词条要使用redis哈希数据结构存储?存的是什么数据? QPS 大概会有多少?属于热点数据吗?
- 缓存雪崩在这个场景下出现的可能不高,为什么选择对雪崩进行处理? 随机时间是怎么确定的?
- 缓存雪崩有什么解决方案?
- cache-aside先更新数据库再删除缓存, 万一删除缓存操作失败了,那么就有可能读到错误的数据?有考虑使用重试或者告警机制吗?
- 多级缓存要怎么保证数据之间的一致性?
- aigc业务场景是什么? 线程池参数怎么配的?
- 批量预加载和内存映射策略是怎么进行优化的?
- sql优化的过程说一下
- 从底层数据结构角度说一下,为什么有这个最左前缀索引法则?
- SpringCloud用过哪些组件?
- 说说自己对限流,熔断,降级的理解。
- 为什么要有注册中心这个概念? 比如用nacos作为配置中心,读取配置要加什么样的注解?
- nacos作为配置中心,如果更改了一个配置,能立即生效吗
- 消息队列的可靠性是怎么保证的(说了rabbitmq)
- kafka是怎么保证消息的可靠性的?生产端,kafka自身,消费端
- 有一个集合装着1-100里的数,顺序排列,但是缺了一个数。怎么找出这个数?
- 二叉树的层序遍历
二面:
- 如何保证 Redis 缓存与 MySQL 数据库的数据一致性?
- 刚刚提到在写操作时加锁,是加什么样的锁?
- 加锁时,如果有读操作怎么办?锁的粒度是怎样的?
- 除了加锁,还有哪些技术手段可以保证缓存数据的一致性?
- 使用 binlog 结合消息队列的方案,在写操作频繁时可能有什么问题?
- 什么是“延迟双删”?为什么要 sleep?这样做有什么潜在问题?
- 如果采用“先更新数据库,事务提交成功后再删除缓存”的方案,会有什么问题?
- 你如何理解分布式事务?
- 在同一个微服务系统内,什么情况下也会出现分布式事务?
- 你在本地学习时,是如何安装和搭建分布式环境所需的组件的(如数据库、Redis)?除了本地直接安装,你认为还有哪些更好的方式?
- 你使用过 Docker 吗?常见的命令有什么?
- 你写完一个接口后,如何进行自测?
- 你们的开发流程中有要求写单元测试吗?你认为编写单元测试有哪些好处?
- 如果你的单元测试需要依赖另一个服务的接口,你应该怎么写?
- 你了解 Mock 吗?它有什么用?
- 你写的单元测试会使用断言(Assert)吗?为什么断言很重要?
- 当你需要排查代码缺陷或 Bug 时,具体的排查流程是怎样的?
- 在服务器上排查问题时,你会使用哪些 Linux 指令?
本篇目录
当前问题0139
- 01
threadlocal有什么作用? 能解决什么问题?
- 02
为什么缓存词条要使用redis哈希数据结构存储?存的是什么数据?
- 03
QPS 大概会有多少?属于热点数据吗?
- 04
缓存雪崩在这个场景下出现的可能不高,为什么选择对雪崩进行处理? 随机时间是怎么确定的?
- 05
缓存雪崩有什么解决方案?
- 06
cache-aside先更新数据库再删除缓存, 万一删除缓存操作失败了,那么就有可能读到错误的数据?有考虑使用重试或者告警机制吗?
- 07
多级缓存要怎么保证数据之间的一致性?
- 08
aigc业务场景是什么?
- 09
线程池参数怎么配的?
- 10
批量预加载和内存映射策略是怎么进行优化的?
- 11
sql优化的过程说一下
- 12
从底层数据结构角度说一下,为什么有这个最左前缀索引法则?
- 13
SpringCloud用过哪些组件?
- 14
说说自己对限流,熔断,降级的理解。
- 15
为什么要有注册中心这个概念?
- 16
比如用nacos作为配置中心,读取配置要加什么样的注解?
- 17
nacos作为配置中心,如果更改了一个配置,能立即生效吗
- 18
消息队列的可靠性是怎么保证的(说了rabbitmq)
- 19
kafka是怎么保证消息的可靠性的?生产端,kafka自身,消费端
- 20
有一个集合装着1-100里的数,顺序排列,但是缺了一个数。怎么找出这个数?
- 21
二叉树的层序遍历
- 22
如何保证 Redis 缓存与 MySQL 数据库的数据一致性?
- 23
刚刚提到在写操作时加锁,是加什么样的锁?
- 24
加锁时,如果有读操作怎么办?锁的粒度是怎样的?
- 25
除了加锁,还有哪些技术手段可以保证缓存数据的一致性?
- 26
使用 binlog 结合消息队列的方案,在写操作频繁时可能有什么问题?
- 27
什么是“延迟双删”?为什么要 sleep?这样做有什么潜在问题?
- 28
如果采用“先更新数据库,事务提交成功后再删除缓存”的方案,会有什么问题?
- 29
你如何理解分布式事务?
- 30
在同一个微服务系统内,什么情况下也会出现分布式事务?
- 31
你在本地学习时,是如何安装和搭建分布式环境所需的组件的(如数据库、Redis)?除了本地直接安装,你认为还有哪些更好的方式?
- 32
你使用过 Docker 吗?常见的命令有什么?
- 33
你写完一个接口后,如何进行自测?
- 34
你们的开发流程中有要求写单元测试吗?你认为编写单元测试有哪些好处?
- 35
如果你的单元测试需要依赖另一个服务的接口,你应该怎么写?
- 36
你了解 Mock 吗?它有什么用?
- 37
你写的单元测试会使用断言(Assert)吗?为什么断言很重要?
- 38
当你需要排查代码缺陷或 Bug 时,具体的排查流程是怎样的?
- 39
在服务器上排查问题时,你会使用哪些 Linux 指令?