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

📍面试公司:默契破冰(玩吧)
🕐面试时间: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 回复 分享
发布于 03-17 19:41 四川
27届拼多多实习机会或看我主页 https://careers.pddglobalhr.com/campus/intern?t=4OmKPVeX9a
点赞 回复 分享
发布于 03-23 16:08 上海
点赞 回复 分享
发布于 03-20 08:12 黑龙江
bro能交流一下吗,我也是昨天面的这家,面完就约复试了
点赞 回复 分享
发布于 03-18 16:45 河南
你咋啥都会
点赞 回复 分享
发布于 03-18 15:07 北京
大佬是有大厂实习吗?学院本能约到这么多面试
点赞 回复 分享
发布于 03-18 09:46 山东
点赞 回复 分享
发布于 03-18 06:52 广东
太强了
点赞 回复 分享
发布于 03-17 21:46 湖北
老哥,强
点赞 回复 分享
发布于 03-17 21:32 江西

相关推荐

# 有转正机会,jd见下,可私戳,简历直推招聘公司:字节跳动base地:北京/上海/杭州/深圳招聘岗位:大数据开发工程师Bytelntern: 面向2027届毕业生(2026年9月-2027年8月期间毕业),为符合岗位要求的同学提供转正机会。团队介绍:负责字节跳动旗下泛抖音生态的数据BP工作,业务版图覆盖抖音主端、直播、电商、生活服务等板块。我们以数据高效赋能业务增长为核心使命,深度扎根各业务线,以数据体系建设为根基、以业务目标达成为导向,为业务方提供专业、稳定、高效的数据服务与架构解决方案。工作内容聚焦海量数据的治理与应用,需对产品全链路数据进行复杂且深度的分析挖掘;深度参与大数据产品的迭代优化,探索前沿数据技术在业务场景中的落地实践,在字节跳动的技术土壤中实现个人能力与业务价值的双重增长。1、参与字节跳动各业务线的数据建设工作;2、面向PB级超大规模数据问题,每天处理千亿增量的用户行內数据;3、为大数据的全生命周期提供服务,覆盖数据产生、传输、建模、统计分析、实验评估、可视化的全流程;4、构建设计良好的数据流、数据仓库、调度系统、查询引擎、数据服务、分析系统、流程规范及数据工具/产品,降低数据的使用门槛,保证系统稳定高效运行,以实现数据的最大价值。职位要求1、2027届本科及以上学历在读,计算机等相关专业优先;2、具备大数据开发相关技能,熟悉Java/Scala语言,包括JVIM、类加载、并发等;有较好的SQL基础;3、了解Spring等后端相关框架,了解Flink、Spark、Kafka、ClickHouse等相关大数据引擎之一;4、善于沟通,对数据敏感,责任心强、积极主动;5、每周实习4天以上,连续实习3个月以上。
点赞 评论 收藏
分享
坦白说,刚入职携程前端岗位时,我对这份工作的理解特别浅薄,总觉得前端工作无非就是敲代码、做界面,把UI做得精致好看就足够了,直到真正上手业务,才发现自己的认知有多片面。我所在的国际火车票部门,日常接触的都是和全球铁路业务相关的前端开发工作,远比我想象中更具挑战性。印象最深的是刚上手火车站点推荐功能时,产品需求看似简单,只是呈现站点信息、方便用户选择,但实际动手开发才发现全是需要攻克的难题。比如站点数据要对接欧洲RailEurope 4A等多个海外铁路分销商的接口,如何保证数据实时同步且精准无误;面对全球不同地区用户的网络差异,怎么优化页面加载速度,让弱网环境下的用户也能流畅操作;还有多语言、多币种场景下,站点信息的呈现的方式如何更贴合不同地区用户的使用习惯。那段时间,我不再是只关注代码是否能运行、界面是否美观,而是跟着团队一起拆解问题、寻找解决方案。我们一起讨论如何优化接口请求,减少网络延迟,参考公司全球化部署的路由策略,采用就近访问的方式提升加载效率;一起研究用户场景,分析不同出行人群(比如商旅人士、游客)对站点推荐的需求差异,调整信息呈现的优先级。更幸运的是,团队里的前辈和导师都特别耐心,会主动分享技术经验,针对我提出的疑问逐一解答,甚至会带着我一起review代码,指导我如何写出更高效、更易维护的程序,就像战友一样并肩前行。也是在这个过程中,我彻底意识到,携程的前端从来不是“只做界面”的岗位,而是要深度结合业务,用技术解决实际问题。我们的每一行代码,都关系到全球用户的出行体验——可能是帮助用户快速找到合适的火车站点,可能是确保节假日高并发场景下预订流程不卡顿,也可能是让海外用户能清晰看到精准的车次信息和价格,这正是携程前端工作的价值所在。对比在学校做项目的时光,最大的转变就是从“被动完成任务”到“主动解决问题”。以前在学校,都是老师给定明确需求、划定范围,我们只需要按部就班写代码、交作业,不用考虑后续的落地和用户体验。但在携程,没有人会给你“标准答案”,更多的是给出业务目标,让你自主思考、主动探索,这种工作模式,彻底打破了我的学生思维,也让我快速成长。如今在携程工作已有一段时间,从最初那个只懂做界面的新手,到现在能独立对接业务、解决复杂问题,我真切感受到了自己的蜕变。
携程成长空间 144人发布
点赞 评论 收藏
分享
评论
12
45
分享

创作者周榜

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