(从这里)
我上周参加了一个采访,问了这个问题:
如何在基于8080处理器的计算机中仅使用640KB内存的文件中对十亿行数据进行排序?没有虚拟内存,没有外部磁盘.
我明确地询问了面试官我是否可以使用硬盘驱动器,所以我可以在排序树时对其进行序列化,然后在最后进行组合.他说不.我尝试了很多方法,不同的算法.他没有同意.
我放弃了,礼貌地问他,"你会怎么做?" 他直言不讳地说:"我不会告诉你的." (采访在那之后就结束了.我不是故意得罪他,作为一名开发人员,我很好奇.而且,这是一个本能的问题,就像我在工作场所问过任何人一样.)
这次访谈是为了一家非常大的银行.
那么,怎么会有人解决这个问题呢?
对于初学者,我不会在C#中做到这一点.你确定你有这个标签吗?如果可以解决,这是一个C问题.
640K只给你640*1024*8位,所以没有办法解决这个问题.也许这就是他/她正在寻找的答案.这些投资银行的采访有时候是一种思想游戏.