快手 Java / 后端怎么准备
快手后端面试常带直播:消息高扇出、礼物不能重复扣、弱网重连。这和普通 CRUD 不是同一套语感。
五题覆盖堆积、礼物、重连、审核和协作。用你做过的实时或IM 项目对接。
快手怎么面Java后端
- 设计题会问房间维度的分片和热点主播。
- 正确性题集中在礼物和钱包。
- 准备弱网,不要假设办公网 RTT。
面试阶段与知识点
第一批不把每个阶段拆成独立 URL,避免程序化重复页。阶段对应下面的题,练完再用模拟面试串起来。
- 直播消息:堆积和扇出。
- 礼物正确性:重复点击。
- 重连:进度和补拉。
- 审核延迟:实时氛围和安全。
值得开口练的题
每题给考察点、思路、结构化参考答案和追问。参考答案用来组织语言,面试时必须换成你自己的项目事实。
热门直播间评论堆积,新观众进来看到什么?
考察点
- 热点房间
- 截断
- 体验
回答思路
不能把全量历史灌给新人,也不能让场内消息无限延迟;要讲分片、截断和优先级。
结构化参考答案
- 房间按分片承载评论,使用有界队列,超出容量时丢弃最旧或做聚合展示。
- 新观众从最近时间窗口进入,不回放全部历史评论,降低首屏加载和扇出压力。
- 礼物、禁言等关键消息走更高优先级通道,避免被普通评论洪峰淹没。
- 监控各房间堆积深度,触发降级时只保留礼物和系统通知,保障核心互动可用。
面试官可能追问
- 丢评论如何对主播解释?
- 如何避免分片热点不均?
- 审核延迟的评论还要不要扇出?
用户连点礼物,如何避免扣两次币?
考察点
- 幂等号
- 钱包
- 动画与账本
回答思路
动画播放成功不等于扣费成功,必须以账本流水为准;客户端幂等号和服务端去重都要有。
结构化参考答案
- 每次点击携带客户端生成的送礼幂等号,服务端按号去重,重复请求返回同一结果。
- 先条件扣减虚拟币余额,再异步写入礼物记录和触发动画事件,顺序不能颠倒。
- 扣费失败返回明确错误码和文案,客户端禁止用动画完成当作扣费成功的依据。
- 定期对账钱包余额与礼物流水,发现差异进入冻结和人工核查流程。
面试官可能追问
- 弱网重试用不用新的送礼号?
- 背包礼物和买币礼物是否同一套幂等?
- 主播侧重复展示怎么去重?
观众断线三十秒,重连后如何补消息?
考察点
- 游标
- 空洞
- 状态快照
回答思路
补拉要有上限,房间状态用快照校正;弱网重连不能无节制拉历史把服务再打爆。
结构化参考答案
- 连接携带上次消息序号,服务端在有限窗口内补发缺失段,超出窗口不再全量回放。
- 窗口外只下发房间当前状态快照,如在线人数、禁言状态和礼物榜等关键信息。
- 补拉接口要限速和限深,避免断线重连瞬间把堆积评论再次扇出到客户端。
- 序号异常回退视为非法请求,要求客户端拉全量快照重建本地状态。
面试官可能追问
- 时钟回拨怎么办?
- 多端同时看同一场?
- 补拉是否包含已删除评论?
评论先上屏再审,出了违规谁负责下屏?
考察点
- 先发后审
- 撤回
- 审计
回答思路
实时氛围和内容安全冲突,要有秒级撤回能力;先发后审必须可审计、可追责。
结构化参考答案
- 先发后审的评论必须支持秒级撤回,撤回要扇出到所有在线端并写入审计日志。
- 高风险词和类目仍走同步拦截,不能为了氛围把明显违规内容默认公开。
- 主播和房管的删评、禁言操作也要进同一审计链路,便于事后追溯和复盘。
- 指标上持续看撤回延迟和漏放率,漏放上升时优先收紧而不是继续降延迟。
面试官可能追问
- 已经录屏的内容怎么办?
- 撤回失败如何重试?
- 谁有最终权限?
运营要降低审核延迟提升氛围,安全反对,你怎么推进?
考察点
- 分层
- 实验
- 底线
回答思路
给分层加速方案,同时守住法律和平台底线;用实验数据而不是口号化解冲突。
结构化参考答案
- 低风险表情和系统消息可走加速通道,文本评论仍维持现有安全策略和阈值。
- 选小房间或低流量场景做实验,同时观察氛围指标、举报率和重大违规事件。
- 预先书面列出不可谈判的违规类目和处理 SLA,避免实验期底线被口头突破。
- 实验结束用同一套看板复盘,决定继续放量、维持现状还是回滚到更严策略。
面试官可能追问
- 实验中出现重大违规你如何停?
- 如何避免只听运营?
- 你怎样记录决策?
和岗位、模拟面试一起用
资料管理里保存目标岗位 JD,模拟面试会按简历出题。点题目下的按钮会把本题带进模拟开场,仍需先绑定简历与岗位。