校招试题(笔试时间120分钟)
一、简答题(本题共30分)
1.列出至少6中内部排序算法,并说明复杂度及稳定性。(10分)
笔试题
2.多线程同步互斥的方法有哪些?(10分)
3.进程间通信方式有哪些?哪种通信方式速度最快?(10分)
二、算法与程序设计题(本体共45分)
1.设计一个算法,快速查二叉树上任意两个节点的最近共同父节点,请给出算
法描述和代码实现(15分)
2.给定一个有序链表,删除所有重复的元素,仅保留至出现一次的元素,请给出
算法描述和代码实现(15分)
3.给定一颗二叉树,判断其是否为平衡二叉树(左右子树之差的绝对值不超过1)
(15分)
三、系统设计题(本体共25分)
1.一个分布式检索服务系统(500台服务器),不同query的检索处理时间相差
很大(比如有的query需要十几毫秒,有的需要上百毫秒甚至更多),现在发现线上很多检索由于该服务的处理超时(处理超时是指处理时间超过了上游模块设置的最大的等待处理时间。这里我们假定为200ms)而查询失败。为了解决这个问题,需要为这个服务设计一个内存级cache功能,要求如下:
(1)、最大限度的降低服务超时率;
(2)、如果原数据有变化,尽量展现最新数据;
(3)、尽量提高cache的命中率;
为了实现上述要求,除了设计cache内部逻辑以外,你可以提出具体调整查询请求在分布式系统中的分派规则。