我做了一次电话面试,面试官给出了一些我应该给他算法的问题。因为这是一次电话面试,我没有纸或笔,所以我不能给他正确的答案。所以我有点沮丧,因为我的解决问题的技能很低(我在开发软件方面有一个不错的经验)。
你如何克服这种情况和建议来提高算法技巧,尤其是在面对这种战术面试的时候。
发布于 2011-07-26 09:16:18
对于这类问题(电话面试与否),最重要的是要记住,唯一错误的答案是把它留在“我不知道”的地方。更有可能的是,面试官更希望你没有一个完美的解决方案,因为他想看看你是如何推理的。
在打电话的时候,没有什么能阻止你拥有(和使用)笔和纸,如果它能帮助你把想法弄清楚的话:)
我有过一次类似的电话采访,尽管我以前从未做过任何系统编程,但最终我基本上是在大声思考,同时我概述了堆管理器可能用来分配和释放内存的算法。面试官常常会插嘴说:“好吧,你之前说过X--这个选择对Y有什么影响?”或者会提示有关特定算法的更多细节。
发布于 2011-07-26 17:31:17
我担心你可能漏掉了这些问题的要点。虽然问题可能是在最后要求一个算法,但可以有一些讨论和交流,这才是真正的测试在这里。需求定义得有多好?是否正确地涵盖了错误处理?空间和时间哪一种复杂性更重要?
通常情况下,没有一个正确的解决方案。有很多很好的解决方案,如果超过1%的人能给出一个在接下来的6个月内不能以某种方式改变的答案,我会感到惊讶,如果有人拿出1,000,000美元来寻找对所谓的最佳解决方案的一些改进或改进。问题是你能解释为什么你的解决方案是好的,它的缺点和优点是什么。它的可维护性、可伸缩性、灵活性、可定制性和其他-ables是怎样的呢?
在电话面试的情况下,我可能会检查我是否有正确的理解,并开始寻找在描述中缺少或模糊的东西,我希望在模型的建模和可视化方面更加具体。从那时起,我可能会想出一些不同的策略,并大声比较,这样我就知道如何分析和选择一个好的解决方案,然后解释我会做些什么来启动和运行这些策略。当然,这都是假设的,在现实中,我可能大部分时间都很接近这一点,因为这是我想要使用的脚本,尽管它可能有各种各样的弯路,因为那里可能有一个笑话,或者一些可能在一定程度上有助于展示能力的琐事。
发布于 2011-07-26 07:27:44
他可能想看看你解决这个特殊问题的方法。
当你遇到这样的情况时,试着用你现有的知识来得到一个答案。在许多这样的情况下,你不需要钢笔或纸。
万事如意。
https://softwareengineering.stackexchange.com/questions/95975
复制相似问题