【发布时间】:2016-07-26 18:20:48
【问题描述】:
昨天,我参加了一个网络安全职位的面试,被问到这个问题:
假设您有一台具有 1GB RAM 的 PC,而这台计算机的磁盘包含一个 10GB 的文件,其中包含随机数。您将使用什么技术对文件进行排序并提出算法。您不能使用磁盘、网络或虚拟内存进行排序吗?
我尝试了许多我能想到的不同方法,提出了外部排序,但面试官说这不是正确的方法。采访结束时,我礼貌地问他问题的方法和算法是什么,但他拒绝说这是某种大秘密。
我的问题是有人会如何处理这种问题,因为我无法停止思考但仍然没有明确的答案?
【问题讨论】:
-
您在问题中遗漏的一件事(也许您应该问):如果有的话,文件中数字的界限是什么?
-
其他问题是:“最佳”算法的指标是什么?真的只是速度吗?如果是速度,最佳算法将取决于磁盘存储和 RAM 之间的速度关系。
-
重点是,根据您所掌握的信息,没有单一的“正确”方法。面试官测试了你运用枯燥的理论知识和识别问题以及在给定问题的范围内讨论解决方案的能力。
-
好吧,我想是因为这个问题,他们决定不选择我。 gb 和 GB 键盘错误上限关闭。
-
在我看来,“这是一个愚蠢的、误导性的问题。”如果要对任何东西进行排序,则必须有一些存储池,并且有三个选项:磁盘、(虚拟)内存和网络附加存储。如果对方说排除了所有三个选项,我不知道答案会是什么,而这正是我会回答这个问题的方式。
标签: algorithm