真实业务和场景题的疯狂拷打

📍面试公司:默契破冰(玩吧)
🕐面试时间:03/17
💻面试岗位:java后端开发(社招)
❓面试问题:
1. 简单做下自我介绍
2. 讲一个你解决问题的思路/项目难点
3. 接口变成慢接口,你的通用排查思路是什么
4. 极端场景:数据库、SQL 都正常,但高峰期接口有毛刺、RT 波动,监控基本正常,只有线程状态不正常,怎么排查,多个维度思考
5. 线程 BLOCKED 状态一般出现在什么情况下
6. synchronized 加锁时线程状态是什么?ReentrantLock 加锁时线程状态是什么,其他等待的线程的状态呢?
7. 讲一下你对线程池的理解
8. 线程池的核心线程是什么时候创建的
9. 线程池 keepAliveTime 这个参数是干什么的?怎么控制空闲线程的存活时间
10. 手撸一个通用的池化技术实现(支持借用、归还、过期淘汰)
11. 讲一下你最近在比心的这个项目,以及你在项目中的职责
12. 你们项目整体业务架构是怎样的?分了几层
13. 项目是单体还是分布式?流量是怎么流转的
14. 项目用的是 MVC 还是 DDD 架构,了解ddd吗
15. 讲一下 Apollo 配置中心的原理
16. 服务启动时怎么拿到配置?配置更新后怎么同步到服务?
17. 集群规模很大、实例很多时,配置变更怎么保证及时通知到所有节点
18. 在项目里遇到过什么比较严重/难排查的线上问题
19. 礼物发送为什么用长连接(WebSocket),而不是 HTTP
20. HTTP 也能长连接(keep-alive),为什么还要用 WebSocket
21. 详细讲一下礼物连击、送礼统计的整个流程设计
22. 礼物服务是有状态还是无状态?多实例部署下怎么统计全局连击次数
23. 你们礼物信息、运营配置是谁维护的?缓存怎么做的
24. 本地缓存如何实现及时更新,而不是等过期才淘汰
25. 怎么保证本地缓存和 DB 的一致性
26. 讲一下分布式事务,以及常用方案
27. 你们项目里用的是哪种分布式事务?保证的是最终一致性还是强一致性
28. 礼物扣款和横幅推送这两个操作,你们是怎么保证一致性的
29. 推送时机是在扣钱同时触发,还是扣钱完成后再触发
30. 如果让你设计一个简单的 IM 聊天系统(只发文本),架构怎么设计
31. 如何保证消息不丢失
32. 如何保证群聊/单聊消息的顺序性
33. 大量用户、高并发下,消息序列号怎么保证唯一
34. 消息存储怎么做?会选取什么数据结构?用户离线消息怎么处理
35. 如果用户很久不上线(10 天半个月),消息怎么处理,避免队列积压
36. 服务节点宕机,怎么保证消息不丢、用户上线后能收到,主从切换如何保证连接的一致性?
37. 平时工作中有用过 AI 吗?用来做什么
38. 举一个你用 AI 解决实际工作问题的例子
39. 你怎么看待现在 AI 对开发、对行业的影响
40. 最近有看过什么源码吗?为什么看
41. 为什么从上家公司离职
42. 你理解的“稳定性”是指什么
43. 你更喜欢做哪类业务?职业规划是什么
44. 最近短期有什么学习/提升计划
45. 你有什么想问我的

🙌面试感想:很感谢这次面试,因为业务垂直所以也给我一个面试机会,这一次面试其实主要的收获在于场景,因为和他们具体的开发业务相关,所以说问了我会如何设计IM系统,然后围绕着这几个问题发散的去问解决方案,还好在学习go语言的时候有写过IM系统还是能回答出一些面试官很专业,对于一些底层原理还是很了解,尤其是锁那一块关于不同锁的不同线程状态,这一块其实还有更细节的东西没了解清楚,好好复盘学习一下啦
#发面经攒人品# #牛客AI配图神器#
全部评论
兄弟几年经验
1 回复 分享
发布于 昨天 19:41 四川
太强了
点赞 回复 分享
发布于 昨天 21:46 湖北
老哥,强
点赞 回复 分享
发布于 昨天 21:32 江西

相关推荐

评论
3
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务