职位题库

后端开发工程师面试题库

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

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

全部题目 1256 道题

925

有 200 个线程并发处理文件,其中一个是兜底线程必须最后执行,如何保证?

考察候选人对并发控制、线程同步和任务编排的实际设计能力。
926

MySQL 多表连接有几种方式?对于 7-8 张表的多表查询,如何提高查询性能?

考察候选人对 SQL 连接类型的掌握程度,以及在大规模多表查询场景下的优化能力。
927

请设计一个算法模拟股票交易:有n个卖家和m个买家,各自给出价格和数量。依次处理买家,每次选择报价不高于买家价格且最接近的卖家,尽量成交。成交后,其余符合价格条件的卖家报价增加x。重复交易,直到买够或无人符合条件,求总成交金额。

考察候选人将复杂业务规则转化为可执行算法、选择合适数据结构(如有序集合)以及处理动态价格调整的能力。
928

请实现一个数独求解器:给定一个n×n的数独,n为完全平方数,0表示空格。填入1到n,使每行、每列及每个√n×√n的宫内数字不重复,已有数字不能修改。给出一个解,无解或者有多个解则输出0。

考察候选人回溯算法、剪枝优化以及处理多解判断的能力。
929

给定一个整数数组,判断它能否作为某棵二叉搜索树的后序遍历序列。若不能,输出-1;若能,求该树每一层最右侧节点的值之和。

考察候选人对二叉搜索树性质、后序遍历序列的递归验证以及层序遍历求最右节点和的能力。
930

HashMap 是线程安全的吗?多线程环境下可以用哪些 Map?ConcurrentHashMap 是怎么做到线程安全的?

考察候选人对 Java 集合线程安全性的理解,以及 ConcurrentHashMap 的并发实现原理。
931

线程池的核心参数有哪些?有哪些拒绝策略?CallerRunsPolicy 会有什么问题?

考察线程池参数配置、任务提交与拒绝策略的实际理解。
932

Lock 和 synchronized 的区别?ReentrantLock 默认是公平锁还是非公平锁?怎么实现公平锁的?

考察对 Java 内置锁与显式锁的差异及 AQS 公平锁实现的理解。
933

MySQL 查询慢怎么排查?怎么查看走了哪个索引?EXPLAIN 关注哪些字段?走了索引但还是很慢,可能是什么原因?

考察慢 SQL 排查方法论、执行计划解读及索引失效/回表等深层原因。
934

请说明数据库中存储过程、主从同步、事务回滚等机制的原理,并结合实际场景说明如何保证数据一致性。

考察候选人对数据库核心机制的理解深度,以及在实际系统中保证数据一致性的能力。
935

给定两个字符串a和b,请编写函数,统计a中每个字符在b中出现的次数,输出格式要求用逗号分隔,但最后一个数字后不能有逗号。

考察基本的字符串遍历、哈希表计数以及输出格式控制能力。
936

请设计一个算法,对两副扑克牌进行排序,排序规则为:先按大小王,再按花色大小,最后按点数大小。

考察自定义排序规则的设计能力,以及对多关键字排序的理解。
返回面试题库