40 用C++写一段可能发生死锁的代码,解释死锁原因并给出修复方案。考察对死锁四个必要条件、互斥锁头文件与作用域、线程粒度与进程粒度区别的理解,以及能否用固定加锁顺序或条件变量等方案实际修复死锁。 查看学习思路
41 实现一个支持add、remove、poll的优先队列,并尽量降低时间复杂度。考察能否从接口语义出发选择合适数据结构,用数组模拟二叉堆实现优先队列,并正确分析各操作时间复杂度及边界情况。 查看学习思路
43 设计一个统计用户在线人数的系统,需同时支持实时在线人数查询和每日活跃报表,请说明你的方案与取舍。考察候选人能否区分实时指标与离线报表两类需求,给出分层架构,并说明数据结构选型与精度、内存、延迟之间的权衡。 查看学习思路
44 有千万级词条的词库,用户搜索时如何提示近似词条?请描述从输入到返回候选的完整链路。考察候选人对搜索联想与容错搜索的整体设计能力,包括前缀召回、近似召回、精排和排序融合,以及对内存与延迟的权衡。 查看学习思路
45 图书馆场景下搜索图书,如何实现模糊搜索并保证结果相关性?请结合图书字段特点说明。考察候选人能否把通用搜索技术落到具体业务场景,考虑字段权重、中文分词、拼音与同义词扩展以及相关性排序。 查看学习思路