927 请设计一个算法模拟股票交易:有n个卖家和m个买家,各自给出价格和数量。依次处理买家,每次选择报价不高于买家价格且最接近的卖家,尽量成交。成交后,其余符合价格条件的卖家报价增加x。重复交易,直到买够或无人符合条件,求总成交金额。考察候选人将复杂业务规则转化为可执行算法、选择合适数据结构(如有序集合)以及处理动态价格调整的能力。 查看学习思路
928 请实现一个数独求解器:给定一个n×n的数独,n为完全平方数,0表示空格。填入1到n,使每行、每列及每个√n×√n的宫内数字不重复,已有数字不能修改。给出一个解,无解或者有多个解则输出0。考察候选人回溯算法、剪枝优化以及处理多解判断的能力。 查看学习思路
929 给定一个整数数组,判断它能否作为某棵二叉搜索树的后序遍历序列。若不能,输出-1;若能,求该树每一层最右侧节点的值之和。考察候选人对二叉搜索树性质、后序遍历序列的递归验证以及层序遍历求最右节点和的能力。 查看学习思路
930 HashMap 是线程安全的吗?多线程环境下可以用哪些 Map?ConcurrentHashMap 是怎么做到线程安全的?考察候选人对 Java 集合线程安全性的理解,以及 ConcurrentHashMap 的并发实现原理。 查看学习思路
932 Lock 和 synchronized 的区别?ReentrantLock 默认是公平锁还是非公平锁?怎么实现公平锁的?考察对 Java 内置锁与显式锁的差异及 AQS 公平锁实现的理解。 查看学习思路
933 MySQL 查询慢怎么排查?怎么查看走了哪个索引?EXPLAIN 关注哪些字段?走了索引但还是很慢,可能是什么原因?考察慢 SQL 排查方法论、执行计划解读及索引失效/回表等深层原因。 查看学习思路