职位题库

后端开发工程师面试题库

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

1223 道题目建议用时 3669 分钟专项面试练习

全部题目 1223 道题

145

项目里用Redis Stream做削峰降流,为什么这样选型?对比专业MQ有什么不足?大量消息来了会怎样?

考察候选人在削峰降流场景下的技术选型能力,对Redis Stream与专业MQ的对比理解,以及高并发下的容量和可靠性思考。
146

场景题:设计A向B转账N元的系统,需要考虑哪些场景和注意事项?

考察候选人在转账场景下的并发控制、事务一致性、幂等、死锁避免、重复点击防护和性能排查等综合设计能力。
147

请解释三次握手和四次挥手的过程,并说明为什么建立连接需要三次而断开连接需要四次?

考察对TCP连接建立与断开机制的理解,以及能否解释状态转换和设计原因。
148

请解释Go的GMP模型,并说明Go如何实现抢占式调度?

考察对Go运行时调度器核心机制的理解,包括G、M、P的角色以及抢占式调度的实现。
149

请解释Docker的实现原理,并列举常用Docker命令和Kubernetes核心组件。

考察对容器技术底层原理和Kubernetes架构的掌握程度。
150

请说明 JWT 的结构(Header、Payload、Signature),签名是如何生成的,为什么能防止 Token 被篡改?并描述一个完整的 JWT 登录和鉴权流程。

考察对 JWT 原理、签名机制和登录鉴权流程的掌握程度,以及能否清晰解释防篡改的安全依据。
151

请详细讲一下你项目中的数据权限体系重构:原来的权限方案为什么不能直接用?从角色硬编码改成 dataScope 的原因是什么?缓存加入后数据权限怎么处理?AOP 具体怎么使用?动态权限 SQL 在哪里拼接?MyBatis 使用 ${} 拼接 SQL 如何保证安全?

考察候选人对数据权限体系的设计能力、重构原因和演进思路,以及 AOP、缓存、MyBatis 动态 SQL 等技术的实际应用和安全意识。
152

请介绍你学校医院项目的背景:有几个人、做了多久、项目机会怎么来的?这个项目最大的收获是什么?最后有没有真实交付?足底压力数据是怎么采集和存储的?为什么选择 CSV/文件存储而不是全部放数据库?文件存在本地磁盘如果被误删怎么办?数据库记录和实际文件不一致怎么处理?

考察项目真实性、个人贡献、技术选型理由以及面对数据存储和一致性问题的解决思路。
153

平时开发过程中你怎么使用 AI?主要用在需求理解、方案设计、写代码还是测试?使用 AI 过程中遇到过什么问题,怎么解决?会不会使用多个模型互相验证方案?

考察候选人在实际开发中应用 AI 的能力、批判性思维和问题解决方式,而非单纯了解 AI 概念。
154

请实现一个满足 O(1) 时间复杂度的 LRU 缓存,并说明你的设计思路。

考察候选人是否掌握 LRU 缓存的核心数据结构与 O(1) 操作实现,以及能否在编码中体现对时间复杂度的敏感度。
155

请解释 HashMap 的底层数据结构,以及 put 和 get 操作的执行过程。

考察对 Java HashMap 实现原理的理解,包括哈希冲突解决、扩容机制和树化条件。
156

在 MySQL 中,如何建立索引来优化查询?哪些情况会导致索引失效?

考察对 MySQL 索引原理、优化策略以及索引失效场景的掌握程度。
返回面试题库