职位题库

后端开发工程师面试题库

面向后端开发工程师相关面试,围绕系统设计、算法、MySQL、缓存、项目经验等主题展开练习,结合题目考察点、回答思路、参考答案和常见误区,梳理知识要点并练习清晰表达。

1256 道题目建议用时 3768 分钟专项面试练习

全部题目 1256 道题

1249

采用预计算+Redis缓存的方案,设计时的瓶颈是什么?

考察候选人对缓存架构瓶颈的识别能力,包括数据一致性、缓存击穿/雪崩、存储成本、更新延迟等。
1250

缓存和真实中间结果存在数据差异,你们怎么解决?

考察候选人对缓存与数据源一致性问题的理解和解决方案设计能力。
1251

用binlog监听做同步、用发MQ方式解决一致性,两种场景为什么选用不同方案?

考察候选人对不同数据同步方案适用场景的理解和架构选型能力。
1252

ThreadLocal的key为什么设计成弱引用,用强引用会有什么问题?

考察候选人对ThreadLocal底层实现和内存泄漏问题的理解。
1253

业务方只反馈一句话:对话服务打不准、不好用,交给你处理,你会怎么做?

考察候选人面对模糊反馈时的排查思路、需求拆解和跨团队协作能力。
1254

给定一排重量各异的苹果,需按原顺序切成 k 段连续子数组分给 k 个小朋友,如何求“各段和的最大值”的最小可能值?请说明算法思路、正确性依据与复杂度。

考察候选人能否识别“最小化最大值”类问题的单调性,并用二分答案+贪心判定求解,同时能说明贪心为何得到最少段数。
1255

在单机任务调度模拟中,任务有优先级、到达时间和所需时长,高优先级任务可抢占正在运行的任务。请说明如何用事件模拟和优先队列实现,并处理同一时刻“先结束再到达”的顺序。

考察候选人能否把抢占式调度规则转化为事件驱动模拟,正确维护等待队列的排序键、剩余时间以及同一时刻的事件处理顺序。
1256

假设下单场景,订单系统、商家库存系统是两套分布式系统;下单生成订单和扣减库存,两件事要保持一致,要么同时成功,要么同时失败,你怎么设计?

考察候选人对分布式事务解决方案的设计能力,包括方案选型与权衡。
返回面试题库