陌陌秋招 java后端面经
一面全程1h20min
1. 自我介绍
2. 问能不能接受北京base,提前实习,java技术栈
3. 缓存击穿怎么解决的,介绍下多个方案,缓存一致性怎么解决。如何用redis实现一个分布式布隆过滤器
4. 拷打实习
5. redisson分布式锁原理,如何自己设计一个分布式锁
6. 读扩散和写扩散的区别,它们的应用场景有哪些。离线消息存储和拉取怎么做的,如何优化(多端登录状态存储,限流)
7. 消息发送的可靠性和幂等性怎么实现的
8. rpc中的简易注册中心怎么实现的,为什么不使用第三方中间件
9. 手写题目:LRU(哈希表中的value为什么要存储key值)
10. 反问
已约二面
二面全程50min
有俩面试官,貌似一个业务面试官+一个ld
1. 自我介绍
2. 最近还在实习了吗,面试通过后何时到岗
3. 实习中落地使用了大模型,讲一下怎么对大模型进行选型的,prompt如何调优
4. 如何设计一个朋友圈功能,采用读扩散和写扩散的区别。现在比如说有一个大v,粉丝量很高,该采用写扩散还是读扩散,如何进行优化
5. redisson分布式锁的原理?redis实现分布式锁在哪些情况下会失效?
6. 死锁问题如何产生?如何排查和解决死锁?我们日常编码过程中可以怎么去避免
7. 你的职业规划是怎样的?挑选公司的倾向能讲一下吗?目前手上有没有其他offer
8. 反问
1. 自我介绍
2. 问能不能接受北京base,提前实习,java技术栈
3. 缓存击穿怎么解决的,介绍下多个方案,缓存一致性怎么解决。如何用redis实现一个分布式布隆过滤器
4. 拷打实习
5. redisson分布式锁原理,如何自己设计一个分布式锁
6. 读扩散和写扩散的区别,它们的应用场景有哪些。离线消息存储和拉取怎么做的,如何优化(多端登录状态存储,限流)
7. 消息发送的可靠性和幂等性怎么实现的
8. rpc中的简易注册中心怎么实现的,为什么不使用第三方中间件
9. 手写题目:LRU(哈希表中的value为什么要存储key值)
10. 反问
已约二面
二面全程50min
有俩面试官,貌似一个业务面试官+一个ld
1. 自我介绍
2. 最近还在实习了吗,面试通过后何时到岗
3. 实习中落地使用了大模型,讲一下怎么对大模型进行选型的,prompt如何调优
4. 如何设计一个朋友圈功能,采用读扩散和写扩散的区别。现在比如说有一个大v,粉丝量很高,该采用写扩散还是读扩散,如何进行优化
5. redisson分布式锁的原理?redis实现分布式锁在哪些情况下会失效?
6. 死锁问题如何产生?如何排查和解决死锁?我们日常编码过程中可以怎么去避免
7. 你的职业规划是怎样的?挑选公司的倾向能讲一下吗?目前手上有没有其他offer
8. 反问
全部评论
👻了
太强了
佬,啥会面的
真跪了
跪了
佬,真跪了
基础知识问题题解
1. 缓存击穿怎么解决的,介绍下多个方案,
缓存击穿是热点key不在缓存中(主要是热点key失效导致),导致大量请求到数据库中,导致数据库压力变大深圳宕机.
解决方案: 1)热点key不过期 2)热点key续期 3)热点key预加载 4) 请求数据库时,先获取锁,避免同时请求到数据库
2.缓存一致性怎么解决
数据修改:修改数据加分布式锁
缓存删除
先改后删
延时双删(业界主要的方案)
3 如何用redis实现一个分布式布隆过滤器
使用bitmap数据实现, 具体可以使用Redisson 或者 Redis 4.0的布隆过滤器插件
4 读扩散和写扩散的区别,它们的应用场景有哪些。
读扩散: 存一份数据, 每个用户都读该数据, 读取性能可能导致瓶颈
写扩散: 每个用户写一份数据, 各自读取自己的数据, 写性能可能导致瓶颈
常见的读写扩散应用场景是feed流, 例如微博, Twitter, im群聊等
4. 如何设计一个朋友圈功能,采用读扩散和写扩散的区别。现在比如说有一个大v,粉丝量很高,该采用写扩散还是读扩散,如何进行优化
粉丝量很高: 基本采用读扩散, 因为写的数据太多,存储成本高, 优化: 对活跃用户采用写扩散, 不活跃客户端采用读扩散
5. redis实现分布式锁在哪些情况下会失效?
客户端长时间阻塞导致锁失效问题
6. 死锁问题如何产生?如何排查和解决死锁?我们日常编码过程中可以怎么去避免
死锁问题是互相等待产生的 (互斥、请求与保持、不可抢占、循环等待)
排查和解决死锁: 工具排查, 人工检查.
编码中如何避免: 注意加锁顺序
相关推荐