职位题库

后端开发工程师面试题库

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

1429 道题目建议用时 4287 分钟专项面试练习

全部题目 1429 道题

1417

请手写一个数组去重函数,并说明其时间复杂度和适用场景。

考察基本编码能力、对语言内置数据结构的运用,以及复杂度意识。
1418

请结合你的项目,完整讲一下数据链路是怎么设计的?

考察候选人能否从入口、处理、存储到输出完整描述自己项目的链路,并说明关键设计取舍。
1419

直播间观众根据用户 id 查用户信息,你会选择什么集合?为什么?

考察候选人根据读多写少、按 key 查询的访问模式选择合适数据结构,并考虑并发安全。
1420

请设计并实现一个算法:给定若干任务及其依赖关系,输出所有可能的拓扑序列(而非仅判断能否完成)。

考察候选人对拓扑排序的深入理解、回溯搜索与去重能力,以及在原题基础上扩展输出所有解时的复杂度意识。
1421

请实现一个字符串解压函数,在原有字母、数字、'['、']' 的基础上额外支持 '|' 分隔符,并说明你的解析策略。

考察候选人对嵌套结构解析的掌握、对扩展语法的边界处理能力,以及在无法完全实现时的思路表达能力。
1422

同一个用户对同一道题重复提交,你的系统如何保证幂等并拒绝重复请求?底层机制是什么?

考察候选人对幂等设计、唯一约束、分布式锁与业务语义的综合理解,能否区分「防重」与「幂等」的不同层次。
1423

拿到租约的节点宕机后租约如何处理?在分布式 single-flight 场景下如何防止旧节点双写?

考察候选人对租约机制、脑裂与双写问题的理解,以及能否给出可落地的 fencing 与容灾方案。
1424

模型调用成功拿到结果但结果没有写库,会出现哪些场景?分别如何处理,有什么风险?

考察候选人对「外部调用成功、本地落库失败」这一经典不一致场景的分析能力,能否分场景给出补偿与风险控制。
1425

Java线程池中多线程之间如何共享数据、完成数据通信?

考察候选人对Java多线程通信机制的理解,包括共享内存、同步机制、线程安全等核心概念。
1426

线程之间通讯有什么方式?(Linux系统)

考察候选人对Linux系统下线程间通信机制的掌握程度,包括共享内存、信号、管道等。
1427

进程间通信有哪些实现方式?管道、Socket套接字是否属于进程间通信方式?分别是什么?

考察候选人对进程间通信(IPC)机制的全面理解,包括管道、消息队列、共享内存、信号量、Socket等。
1428

Kafka集群由哪些核心组件构成?Broker集群和Topic分区Partition是什么关系?单个Partition由单个节点还是多个节点构成?

考察候选人对Kafka核心架构的理解,包括Broker、Topic、Partition、Replica等概念及其关系。
返回面试题库