如果可以避免,请不要为面试编写演示程序。如果可以,请提交现有的代码或项目。
演示和代码示例之所以重要,有很多原因(具体取决于审阅者),但大多数原因是向潜在的雇主展示您在野外编写的代码类型以及您有兴趣解决的问题。它们还有助于证明您对软件开发技术的兴趣。
最好提交一些您已经为以前的项目或游戏编写的代码,这些代码会让您引以为傲,或者证明它是解决问题的巧妙解决方案,无论是有趣的还是困难的,或者可以作为良好讨论的基础。
显式地编写代码以提交为示例代码,这往往是人为的和虚假的。例如,很容易得出一个容易的结论,那就是程序员认为潜在的雇主希望看到“记录良好”的代码,因此对所有内容都进行了非常详细的评论,力求做到完美。真实的代码不是完美的,它有缺陷和粗糙的边缘,当您为演示提交而显式编写代码时,往往会对其进行大量抛光,以至于很明显您没有编写此代码,因为您喜欢编写它。你只是想找工作。
就是说,如果您没有任何工作可以提交-是因为您尚未编写任何代码,或者是因为您以前的工作阻止您提交任何代码(在NDA下)-您没有很多选择,但要写一些新的东西。在这种情况下,我鼓励您专注于为自己编写东西,而忘了雇主“想要”的东西。编写游戏是因为您想编写游戏。写一个很酷的技术演示,因为您想探索该技术,因为这就是您感兴趣的。
- 代码模块化有多重要?
- 展示典型的算法实现有多重要?
- 包括新颖功能有多重要?
- 可玩性有多重要?
- 我应该优先考虑代码的可读性或代码优化吗?
- 代码文档有多重要?
不幸的是,所有这些较小的问题的答案都是“取决于情况的”(除了可读性之外,我认为您应该总体上倾向于可读性,尤其是对于“演示代码”而言)。一些雇主可能希望看到您重新实施快速排序。其他人可能不在乎。其他人只会在面试中要求您在白板上重新实现quicksort。
不要专注于您认为雇主想要的东西,因为不同的雇主,甚至可能审查您的守则的不同人也会想要不同的东西。相反,请专注于要展示给自己的东西,因为您对此有更多的控制权,从长远来看,它将使您受益更多。