面试计划的例子

时间:2008-11-21 05:21:57

标签: .net

有几个主题是关于在编程工作的访谈中会提出什么问题,但实际上没有人讨论一些公司想要的小问题:示例程序。

我的问题是基于我上一份工作申请,我被要求创建一个简单的程序并将其发送给他们。

嗯,这提出了几个问题:

  • 我应该写什么样的节目?
  • 我应该实施什么?
  • 我应该用什么作为技术人员的炫耀?

,最重要的是(曾经是SO的几位用户,那个审核代码的人)公司期望的是什么?

我目前的想法是使用XML文件创建一个简单的博客来存储数据,如果需要,可以使用添加/编辑/删除功能构建一个简单的ASP.NET页面,并创建一个窗口窗体以及可以执行相同操作的命令行应用程序。

我应避免的事情:

  • 评论所有代码
  • 使用区域划分代码
  • 创建要与“blog”一起使用的类对象

我应该:

  • 使用Interfaces?
  • 使用virtual并覆盖某些方法(例如myBlog.ShowPost())?
  • 应用任何设计模式?
  • 使用Helper / Utilities Class?
  • 使用DAL和BLL?

我应该如何“运送”...

  • 使用MSI(证明我可以创建出色的安装程序)
  • 只需将代码作为Visual Studio项目发送

任何关于简单程序的想法,以及代码应该在代码中的内容都非常感激:)

4 个答案:

答案 0 :(得分:2)

询问客户他们想要什么,不要猜测

你写了一个xml-blog程序,他们说“这很好但我们在这里进行桌面开发”

你写了一个优化的非关系型并行数据库,他们说“这很好,但我们在这里制作金融网络应用程序”

答案 1 :(得分:2)

利用这个机会告诉他们您知道如何对待客户。开始讨论什么是重要的,他们希望如何交付,时间表是什么,他们想要文档等等。

如果他们不想解决任何特定问题,请尝试编写与其主要产品域相关的程序。或者至少坚持使用他们使用的一些技术。

确保您提供的任何内容都足够完整并包含源代码和部署包。确保您拥有足够好的文档,以便技术人员能够通过最多两个简单步骤成功构建您的程序。使部署包足够简单,以便非技术人员可以快速运行您的程序。它不一定是MSI,只要它是一个命令就可以复制所有文件就足够了。

确保您的代码组织良好并发表评论。避免编写模糊的代码黑客和不必要的优化。找到一套好的编码指南(SO有关于该主题的几个主题)并坚持使用它们。

避开突击队模式。 :-)使用您感觉舒适的设计模式。在适当的地方使用接口,继承,抽象和适当的架构层。

换句话说,编写代码,以便技能低于您的程序员能够解决并维护它。

只要您确保他们知道这一点,就可以在您的程序中使用外部代码。清楚任何代码的来源以及发布的许可证。

作为旁注,请在代码中添加许可证,禁止为商业目的重新发布或重复使用。

上述所有内容听起来有点过于复杂,但这就是专业开发人员所做的事情 - 他们不只是编写代码,而是提供产品。

答案 2 :(得分:1)

对我来说这听起来很可疑。他们希望您免费为他们编写一个完整的示例应用程序,看他们是否想雇佣您?这是一个永久职位还是咨询工作?

我不会这样做。在我看来,如果你绝望的话,那么你的时间会更好地用于其他有更多合适面试的公司。

答案 3 :(得分:0)

简单的程序,这将是我的建议:

1)看一下重构中给出的关于电影租赁示例的示例,该示例涉及客户,电影和租赁,人们可以指定一定长度来展示他们可以做些什么。

2)FizzBu​​zz是另一个简单的程序构思,在各个地方都有讨论。

3)一些简单的字符串函数,如反转字符串或给定的整数,返回多少个位。

不要忘记你应该记录算法的复杂性(时间和空间),你在代码中做出的假设,你为验证代码做了哪些测试,以及可能有帮助的一般自述文件。任何继承代码的开发人员。