首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否应该担心面试过程中给出的过多的编程任务?

我是否应该担心面试过程中给出的过多的编程任务?
EN

Software Engineering用户
提问于 2013-06-19 11:14:57
回答 6查看 2.7K关注 0票数 27

最近我和一家公司进行了一次电话采访。在那次电话采访之后,我被告知要完成一个简短的编程任务(一个小程序,不应该超过三个小时)。我只被直接指示完成作业并交出代码。我完全可以自由地使用我想要的任何语言,而且没有人确切地告诉我如何提交代码。

我马上计划把它扔到Github上,为它编写一个测试套件,使用Travis-CI (公共Github存储库的免费持续集成)运行测试套件,并使用CMake为Travis-CI构建Linux。这样,我不仅可以证明我理解如何使用Git,CMake,Travis-CI,以及如何编写测试,而且我还可以简单地链接到Travis-CI页面,这样他们就可以看到测试的输出。我想这样会让面试官更方便一些。

因为我非常了解这些技术,所以它基本上不会增加分配的时间。

然而,我有点担心,为了一个相对简单的任务而做这一切看起来会很糟糕。虽然这不会为我增加更多的时间,但我不希望他们认为我花太多时间在应该简单的事情上。

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2013-06-19 11:29:26

作为一名面试官,我很乐意看到这种方法所展示的软件开发过程的知识,而不仅仅是代码的编写。

特别是,即使是非常简单的问题,拥有一个测试套件也是一个很好的迹象(即使是FizzBuzz级别)。我看到候选人提交的解决方案甚至没有解决问题,一组简单的测试就会向他们展示这一点。而且,有了提交历史,我就可以了解候选人用来获得解决方案的思想过程。

另一方面,我知道有些人在过度工程的早期阶段就被一些公司拒绝了。然而,在大多数情况下,这是由于过度工程的解决方案,不一定使用的过程。

票数 29
EN

Software Engineering用户

发布于 2013-06-19 11:37:51

作为一个应聘者,有一个能理解版本控制、CI、单元测试之类的东西的人,将是我通常看到的一个进步。

虽然,对我来说,最重要的是问题得到解决,并很好地解决,知道候选人知道如何提高他们的交付品的质量肯定会引起我的注意。

我通常看到的是那些不仅不理解问题,而且不知道如何解决问题的人--不管他们在这个过程中使用了多少额外的工具,他们都会被忽视。

票数 16
EN

Software Engineering用户

发布于 2013-06-19 14:05:46

记住,这是有时间限制的。面试官知道这一点,所以这意味着(如果我是面试官的话)他不仅会看到你在指定的时间内解决问题,而且你做得太快了,你有时间做镀金,这是你解决问题的能力以及你对严谨和勤奋的欣赏的好迹象。

当您创建AbstractFactoryManagerAdaptors时,过度工程是个坏词,它会插入BuzzManager和FizzManager,只为了解决FizzBuzz问题。

你所做的是过度努力,这甚至不是一件事(尽管不够勤奋肯定是这样)。

尽管如此,如果你最终得到的结果是一些半黑的解决方案,因为你把你的时间花在了你声称“根本不增加时间”的额外工作上,这看起来就好像你对看起来小的任务有多大的理解很差。对于一个工程师来说,这可能是一个危险的属性,在初级学生中非常普遍。只有在完成了所需的解决方案后,才能适当地确定优先次序,并完成额外的工作。

票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/202003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档