我的公司即将招聘。net开发人员。我们在各种。net平台上工作:ASP。NET,紧凑框架,windows窗体,Web服务。我想整理一份好问题的清单/目录,这是一种衡量应聘者是否有经验的最低标准。我的问题是:

你认为一个优秀的。net程序员应该能够回答哪些问题?

我也会把它看作是我自己的一张清单,以便看到我自己的缺陷在哪里(有很多……)

*更新:它想要明确的是,我们不仅仅测试。net知识,解决问题的能力和一般的编程技能对我们来说更重要。


当前回答

我更喜欢给他一个问题,让他用。net的特性来解决它,你知道,为什么你认为这是最好的解决方案。

这将破解候选人几乎所有的能力,包括技术、分析和解决问题的能力,以及他解决问题的方法。

其他回答

这很有趣,冒着被否决的风险,因为我天生耳聋,被问到这样的问题需要我个人更努力地交流我的想法。

坦率地说,我真的不会读太多的典型问题,因为潜在的范式是“你能多好地表达你的想法和理解?”’,这才是面试官真正想要的。由于我的性格,沟通一直是我最大的弱点,而且很容易感到沮丧。

拥有知识并成为无所不知的类型是最理想的,但不幸的是,有些事情我不知道,但如果你真的不知道答案,不要害怕,承认它,而不是虚张声势。如果面试官问了我一个类似上述的问题,而我不确定或者误解了这个问题,我会直接说出来,这对我个人来说可能会很尴尬,但我已经学会了处理这个问题。

你会惊讶地发现,有多少人会在一天结束时被发现他们的“裤子脱了”。

我的2美分, 最好的问候, 汤姆。

我将提出一些问题,重点是理解使用dotnet之类的编程概念

托管环境和非托管环境之间的区别是什么? GC的利弊 JIT的利弊 如果我们需要开发应用程序X,我们可以使用dotnet吗?为什么?(这将确定他如何看待dotnet)

我还建议写一些小方法,让他用更好的dotnet类或标准方法重写它们,使它们具有更好的性能。 也写不正确的方法(在任何方面)逻辑或其他,并要求他纠正它们。

了解引用类型和值类型之间的区别。

要知道事件是作为硬引用存储的(也就是说,要记得取消事件注册,否则应用程序将会泄漏内存)。

字符串是不可变的。

“你会在生产中使用ASP中的哪一种控制,为什么?”

这将很快告诉你,你的对象是否曾经真正构建和维护过一个大项目,以至于被datagrid和LinkButtons弄得精疲力竭,或者他是否仍处于“21天自学”的拖放阶段。

(答案是asp:Repeater, asp:PlaceHolder, asp:Literal和asp:Content)

除了上面提到的一些问题外,我还喜欢以下几个问题:

委托是什么? 什么是应用程序域? 什么时候使用lock关键字? 标准库泛型集合类是否线程安全? 什么是扩展方法? XmlDocument和XmlReader之间的区别是什么? 如何从应用程序配置文件中读入配置设置?