职位题库

后端开发工程师面试题库

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

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

全部题目 1256 道题

445

请做一个自我介绍,并说明你最近一个后端项目的主要职责、核心产出和遇到的最大挑战及解决方式。

考察候选人的项目经验真实性、技术贡献度、问题解决能力和表达总结能力。
446

请解释RBAC模型,包括User、Role、Permission之间的关系,权限粒度设计,一次请求的完整权限校验流程,以及多角色和角色互斥的处理方式。

考察候选人对RBAC权限模型的理解深度,包括数据模型设计、权限校验流程和复杂场景处理能力。
447

你在项目中如何使用Redis?请介绍Redis的常见数据结构及其适用场景。

考察候选人对Redis的实践经验和基础数据结构掌握程度。
448

请解释MySQL索引类型、底层数据结构B+Tree,以及联合索引的最左前缀原则,并举例说明(A,B,C,D)联合索引在具体WHERE条件中哪些字段能用上索引,以及索引失效的常见情况。

考察候选人对MySQL索引原理、联合索引使用规则和索引优化的掌握程度。
449

手撕代码:长度为K的无重复子串数量。请说明滑动窗口思路,左右指针何时移动,并自测两个样例。

考察候选人的算法思维、滑动窗口应用和代码实现能力。
450

上一段实习为什么离职?

了解候选人离开上一段实习的真实原因,判断其职业稳定性、求职动机是否清晰,以及是否存在需要关注的负面信号。
451

多个请求同时修改一个 HashMap 会有什么问题?

考察候选人对 HashMap 非线程安全本质的理解,包括并发写入导致的数据丢失、死循环、结构破坏等问题,以及对应的解决方案。
452

数据库只剩一个商品,两个人同时下单,程序中查到还有库存怎么办?这个锁你会怎么加?

考察候选人对超卖问题的理解,以及在数据库、缓存、分布式锁等不同层面解决并发扣减库存的能力。
453

订单创建成功但积分扣失败,怎么避免订单和积分状态不一致?加了 @Transactional 注解,什么情况下会失效?

考察候选人对本地事务、分布式事务、最终一致性的理解,以及对 Spring @Transactional 失效场景的掌握程度。
454

1000 万个接口耗时已知,查最慢的 100 条,会全部排序吗?空间只给 100。最大堆 / 最小堆怎么实现?

考察候选人对 TopK 问题的理解,能否在空间受限的情况下选择合适的数据结构与算法,并解释堆的实现与复杂度。
455

请介绍你的实习经历和项目,重点说明你负责的部分。

考察候选人项目真实性、个人贡献和表达能力,确认其是否具备实际开发经验。
456

说一下交易链路怎么设计的,有没有优化?这是强一致性吗?如果错误情况下有什么兜底?兜底方案出问题了有什么高可用方案?如果用户下单后直接杀端,你们怎么处理?纯依靠MQ吗?

考察候选人对交易链路设计、一致性、容错与高可用方案的系统性理解,以及实际落地经验。
返回面试题库