我的公司即将招聘。net开发人员。我们在各种。net平台上工作:ASP。NET,紧凑框架,windows窗体,Web服务。我想整理一份好问题的清单/目录,这是一种衡量应聘者是否有经验的最低标准。我的问题是:
你认为一个优秀的。net程序员应该能够回答哪些问题?
我也会把它看作是我自己的一张清单,以便看到我自己的缺陷在哪里(有很多……)
*更新:它想要明确的是,我们不仅仅测试。net知识,解决问题的能力和一般的编程技能对我们来说更重要。
我的公司即将招聘。net开发人员。我们在各种。net平台上工作:ASP。NET,紧凑框架,windows窗体,Web服务。我想整理一份好问题的清单/目录,这是一种衡量应聘者是否有经验的最低标准。我的问题是:
你认为一个优秀的。net程序员应该能够回答哪些问题?
我也会把它看作是我自己的一张清单,以便看到我自己的缺陷在哪里(有很多……)
*更新:它想要明确的是,我们不仅仅测试。net知识,解决问题的能力和一般的编程技能对我们来说更重要。
当前回答
这可能不是你想听到的,但我建议不要关注狭隘的技术,而是一般的编程和解决问题的技能。扎实的开发人员可以快速学习您想让他们做的任何事情。
举个例子,我并不是一个支持紧凑框架的人,所以如果你这么做的话,我可能会让你的面试失败。但如果我需要使用它,我可以做一些研究,然后直接投入。
Joel的书《Smart and Gets Things Done》为招聘开发者提供了很好的建议,其中有大量关于该问哪些问题的内容。我强烈推荐它。
其他回答
这可能不是你想听到的,但我建议不要关注狭隘的技术,而是一般的编程和解决问题的技能。扎实的开发人员可以快速学习您想让他们做的任何事情。
举个例子,我并不是一个支持紧凑框架的人,所以如果你这么做的话,我可能会让你的面试失败。但如果我需要使用它,我可以做一些研究,然后直接投入。
Joel的书《Smart and Gets Things Done》为招聘开发者提供了很好的建议,其中有大量关于该问哪些问题的内容。我强烈推荐它。
Martin Fowler更喜欢设计技能而不是平台知识。另一方面,你可以问这样一个问题来展示你对设计模式和。net平台的了解:
说说你知道的设计模式和原则,以及它们是如何在。net框架中使用的?
我想如果我在面试一个有LINQ经验的人,我可能会让他们解释一下LINQ。如果他们能解释延迟执行、流、IEnumerable/IEnumerator接口、foreach、迭代器块、表达式树(无论如何都是加分项),那么他们可能就能应付其余的问题。(不可否认,他们可能是“还行”的开发人员,还没有“得到”LINQ -我真的在想这样的情况,他们声称知道足够的LINQ,使这个问题成为一个公平的问题。)
在过去,我问过几个已经列出的问题,以及其他一些问题:
引用类型和值类型之间的区别 按引用传递vs按值传递 可替换和终结器 字符串,不可变性,字符编码 浮点 代表 泛型 可空类型
还有一些:
垃圾收集的局限性是什么。
了解终结器和IDisposable。
注意线程池以及何时使用它。
如果你在做GUI应用程序——注意Windows GUI是单线程的。
使用foreach(我看到很多人使用MoveNext等)
我将提出一些问题,重点是理解使用dotnet之类的编程概念
托管环境和非托管环境之间的区别是什么? GC的利弊 JIT的利弊 如果我们需要开发应用程序X,我们可以使用dotnet吗?为什么?(这将确定他如何看待dotnet)
我还建议写一些小方法,让他用更好的dotnet类或标准方法重写它们,使它们具有更好的性能。 也写不正确的方法(在任何方面)逻辑或其他,并要求他纠正它们。