我的公司即将招聘。net开发人员。我们在各种。net平台上工作:ASP。NET,紧凑框架,windows窗体,Web服务。我想整理一份好问题的清单/目录,这是一种衡量应聘者是否有经验的最低标准。我的问题是:
你认为一个优秀的。net程序员应该能够回答哪些问题?
我也会把它看作是我自己的一张清单,以便看到我自己的缺陷在哪里(有很多……)
*更新:它想要明确的是,我们不仅仅测试。net知识,解决问题的能力和一般的编程技能对我们来说更重要。
我的公司即将招聘。net开发人员。我们在各种。net平台上工作:ASP。NET,紧凑框架,windows窗体,Web服务。我想整理一份好问题的清单/目录,这是一种衡量应聘者是否有经验的最低标准。我的问题是:
你认为一个优秀的。net程序员应该能够回答哪些问题?
我也会把它看作是我自己的一张清单,以便看到我自己的缺陷在哪里(有很多……)
*更新:它想要明确的是,我们不仅仅测试。net知识,解决问题的能力和一般的编程技能对我们来说更重要。
当前回答
这很有趣,冒着被否决的风险,因为我天生耳聋,被问到这样的问题需要我个人更努力地交流我的想法。
坦率地说,我真的不会读太多的典型问题,因为潜在的范式是“你能多好地表达你的想法和理解?”’,这才是面试官真正想要的。由于我的性格,沟通一直是我最大的弱点,而且很容易感到沮丧。
拥有知识并成为无所不知的类型是最理想的,但不幸的是,有些事情我不知道,但如果你真的不知道答案,不要害怕,承认它,而不是虚张声势。如果面试官问了我一个类似上述的问题,而我不确定或者误解了这个问题,我会直接说出来,这对我个人来说可能会很尴尬,但我已经学会了处理这个问题。
你会惊讶地发现,有多少人会在一天结束时被发现他们的“裤子脱了”。
我的2美分, 最好的问候, 汤姆。
其他回答
还有一些:
垃圾收集的局限性是什么。
了解终结器和IDisposable。
注意线程池以及何时使用它。
如果你在做GUI应用程序——注意Windows GUI是单线程的。
使用foreach(我看到很多人使用MoveNext等)
了解引用类型和值类型之间的区别。
要知道事件是作为硬引用存储的(也就是说,要记得取消事件注册,否则应用程序将会泄漏内存)。
字符串是不可变的。
我认为这不应该只是问题,我认识一些人,当你面试他们的时候,他们很聪明,但一旦他们进入现实,他们就太完美主义了,我想说,他们在完成任务时很糟糕。
我曾经参加过一次面试,我喜欢第一个雇主给我一份技术问卷,让我在30分钟内填写。如果一个人成功了,他将被要求进行一个1小时的面试,包括性格判断和性格发现问题以及专业术语。
然后我被要求在6个小时内开发一个3页的web应用程序。在应用程序中施加的约束巧妙地涵盖了应用程序开发的主要方面,如小ERD,分层设计,UI一致性,控制特定问题,如在GridView中使用单选按钮,在web页面上从DB中获取和显示图像类型,算法开发,安全性,加密,哈希,数据表示和操作。
第二天,他们进行了30分钟的讨论,讨论开发的应用程序,包括性能瓶颈领域以及设计和使用算法的改进。并在特定条件下进行1小时的可选测试,以改进上一步开发的算法。
所以这需要相当多的时间,但通过这种方式,你可以确保你招聘的人至少知道那些优秀开发人员所必需的概念。
以下是我用来筛选c#程序员职位的程序员的一些方法:
引用类型和值类型之间的区别是什么?
解释IDisposable接口,c#语言构造需要它,以及如何实现它。
如果将null作为参数传递给具有不允许该参数为空的契约的方法,您将抛出哪个异常?
还有一些:
局部类。那么它的局限性呢? 密封类 如何在。net中进行本地化? 数据库连接 各种配置文件 代表vs事件 非托管dll访问 反射 泛型类 .NET 3.5最热 单元测试框架。