职位题库

后端开发工程师面试题库

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

1239 道题目建议用时 3717 分钟专项面试练习

全部题目 1239 道题

265

构造二叉搜索树需要满足哪些条件?

考察对二叉搜索树定义和性质的掌握。
266

请简述快速排序的基本过程

考察对快速排序算法原理和步骤的理解。
267

请设计一个支持两种操作的数据结构:操作1向指定桶的末尾放入若干块指定种类的石头,操作2查询指定桶中第k个位置的石头种类。你会如何选择数据结构并实现?

考察候选人对大规模数据操作场景下数据结构选型、内存与时间权衡的能力,以及能否避免暴力模拟导致的超时或内存溢出。
268

给定n个数,统计有多少对(i,j)满足i<j且ai*aj恰好有四个正因数。你会如何优化暴力解法?

考察候选人对数论性质的理解、因数个数公式的运用,以及将问题转化为高效统计的能力。
269

在AI编程辅助中,你遇到生成代码始终无法通过测试用例的情况,会如何系统性地排查和解决?

考察候选人在使用AI编程工具时的调试策略、问题定位能力,以及能否跳出无效循环、主动改变方法。
270

请介绍一种用二分答案解决“最少操作次数使所有机器温度小于0”问题的思路,并说明如何验证一个操作次数是否可行。

考察候选人将最优化问题转化为判定问题的能力,以及二分答案的适用条件与验证逻辑。
271

给定一个单链表,请将奇数位置上的节点按值排序,偶数位置上的节点按值排序,同时保持奇数节点仍在奇数位置、偶数节点仍在偶数位置。请描述你的算法思路、时间复杂度与空间复杂度。

考察候选人对链表操作、排序策略以及空间复杂度权衡的理解,能否在保持位置约束的前提下高效完成排序。
272

给定一个字符串,每次操作可以选取一个连续区间,要求区间内所有字符相同,且区间长度尽可能小。请设计贪心策略,使操作次数最少,并分析时间复杂度。

考察贪心策略的设计能力,能否将问题转化为连续相同字符段的处理,并利用除法优化计算。
273

给定一个整数数组,求有多少个子区间的异或和小于等于 k。请描述基于 01 Trie 的解法,并分析时间与空间复杂度。

考察对前缀异或和、01 Trie 以及按位贪心统计的掌握程度,能否将区间异或和问题转化为前缀异或对的计数问题。
274

请说明快速选择算法求中位数的平均时间复杂度,并解释为什么是O(n)。

考察候选人对快速选择算法时间复杂度的理解,以及能否解释其平均O(n)的原因。
275

UDP协议提供的基本服务不包括哪些?请列举并说明原因。

考察对UDP协议特性的理解,特别是其无连接、不可靠、无流量控制的特点。
276

在单核环境下,采用非抢占式短作业优先(SJF)调度算法,给定作业到达时间和执行时间,请确定作业执行顺序。

考察对非抢占式短作业优先调度算法的理解,能否根据到达时间和执行时间正确模拟调度过程。
返回面试题库