我最近发现,Facebook面临编程方面的挑战,如果正确完成,您将自动获得电话面试。
有一个示例挑战,要求您编写一种可以解决“河内之塔”类型问题的算法。给定许多钉子和圆盘,进行初始和最终配置;您的算法必须确定可能的最少步骤,以进行最终配置并输出步骤。
该示例挑战为您提供了45分钟的时间限制,但允许您仍然测试您的代码,以查看时间限制是否过期。
我不知道有什么可爱的数学解决方案可以解决该问题,而且我也不想寻找一个数学解决方案,因为我认为这样做会很欺骗。因此,我试图独自解决最大的挑战。
我能够制定出行之有效的算法。但是,我花了4个多小时才完成制作,比45分钟的要求要长得多。由于花费的时间比分配的时间长得多,因此我没有尝试实际的挑战。
这让我感到奇怪,实际上,花了我这么长时间真的很重要吗?我的意思是这表明我将无法在这样的地方(不仅是Facebook,而且是Google,Fog Creek等)找到工作,需要降低自己的抱负,或者我实际上已经过世了在我的第一次尝试上,即使花了太长时间才被认为是好的?