《aa》
问简历
研究方向
说了一下人群估计
为什么考虑java研发岗
java更适合业务侧,软件系统的设计。你了解aop吗
ioc理解吗,讲一下。
写一题dp
数据类,两个方法插入数据,复杂度O(lgN),查找,复杂度是O(1)。如何实现
- 最大堆和最小堆,维护两个堆堆大小平衡,差距不超过1。最大堆存较小的一半,最小堆存较大的一半。取中位数的时候,取两个堆的堆顶。
50亿个Integer数,2G内存,快速查找50亿个数的中位数。
- 每个数4字节,2G能存5亿个。
- 分组,每个组内按照最大基数,分布桶。
- 然后每组都从0号桶开始,拿出数据,当累加到25亿的时候,所有分组的那个桶里都可以存了中位数。因此把问题转换到从这些桶内找中位数。可以继续这个方法。直到只剩一个数。