2010-09-10 50 views
2

可能重复:
Looking for a few good C# interview problems.C#编码面试准备

大家好, 我做的在C#中读取一个良好的数额,并已还练了大部分的数据结构了。我的来源主要是msdn和几个博客。有趣的是,在C#面试中,几乎没有人问我数据结构,优化或效率。所以我认为这次面试也会倾向于语言,所以我想练习语言相关的概念,如迭代器,泛型,数组列表,代表,比较器和事件。我想回答几个问题。

我正准备进行初中级(现场)面试时,是否缺少更多的概念?

在编码(现场)采访中要求什么样的语言相关编程问题?

有人可以在C#中推荐一些可能的语言相关的编程问题吗?

有人也可以向代表或比较者推荐编程问题吗?

雇主是否期望初中开发人员使用查询表达式或LINQ进行编码?

感谢

+3

Uhm,'ArrayList'已过时。如果他们问你这件事,你需要礼貌地指出它已被'List '取代。 – 2010-09-10 01:10:22

回答

21

作为雇主,如果我问你演示如何编写LINQ查询来获取由X订购了第10行,你不知道怎么来的,我会更感兴趣在听取你如何去发现如何去做。

没有人知道所有事情,这就是你如何去了解你不知道的事情,让你分开。

作为初级和中级开发人员,我比个人技能更注重个性,沟通技巧和文化(不是说这些对非初级角色不重要,他们同样重要,但对于我对技术能力抱有更高期望的高级职位)。

你可以教技术技能,你不能教个性。一般人只会在一段很长的时间内改变一点点。如果他们不合适,那么他们可能永远不会。你可以学习如何编写LINQ。

我正在谈论的观点?如果你的面试完全集中在你可以从记忆中吟诵的多少行代码上,而不是你身在何处,并且如果你非常适合这种文化,那么你需要质疑你是否想在那里工作。有机会你会发现你的支持很少,团队将是孤独的,而且质量通常很低。所有这些都说,你应该关注你经常使用的东西:面向对象编程,封装,内聚,多态,泛型。学习内置的类型而不是算法。如果你不得不自己实现一个链表,那么你只需要使用一个现有的基类库。

很难预测什么,你会在接受采访时问,主要是因为正如候选人的质量候选人之间有很大的不同,中面试的质量有很大的不同。我的经验一直是大多数采访者其实非常糟糕,并提出错误的问题。

不要强调你不知道的事情,专注于你知道的事情,并准备好告诉他们如果你需要回答一个问题“我不知道”。

+0

谢谢!你的评论让我不想再准备;) – 2010-09-10 01:15:59

+2

了解你正在面试的公司。他们的目标是什么?他们瞄准哪些行业?他们最近是否在媒体上?他们的主要产品线是什么以及它与之有何区别。尝试使用它,如果你可以,所以你可以评论它。 – 2010-09-10 01:18:00

+1

同时阅读http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html和Joel博客上的其他文章。 – 2010-09-10 01:19:43

1

就业市场充斥着不合格的申请人,因此雇主正在寻找他们能够过滤掉噪音并限制他们实际考虑的人数的任何方式。要做到这一点,最简单的方法就是专注于目前的实际知识,这比衡量潜力要容易得多。

预计会被问到具体的问题,这些问题一般会测试您对C#和.NET的了解,以及您在特定情况下编写安全,正确的代码的能力。这意味着像IDisposableIEnumerable,lock,using, try/catch等等。如果你了解LINQ,那很好,但现实是大多数面试官不会特别尖锐,所以他们会专注于基础知识,这意味着至少有5年的可用性,而不是“新功能。

2

我最近经历了一对采访(5月下旬,6月)。一些常见问题构成:

  • 什么是ArrayList?哈希表?
  • 每个的缺点?
  • 你会用什么?解释为什么。
  • C#中“using”关键字的用法是什么?
  • 一个使用“使用?”涉及什么接口?
  • 什么是接口?
  • 访问修饰符“抽象”和“密封”是什么意思?
  • 在SQL中,内部和外部联接有什么区别?

一种简单的东西,真的,但后来又有人无法回答他们中的任何一个。据一些人介绍,200人中有199人。

他们还喜欢提出不总是涉及代码的逻辑问题,可能会在白板上向您展示代码示例,并要求您查找错误,可能会提高效率。你知道,能够在你的脚上思考。

其他,随时添加到此,我标记为CW。

+0

谢谢安东尼!我有雇主只在电话中问我这些理论问题。现场雇主经常要求我编写C#代码。一个这样的程序是从文本文件中读取名称,并将其写回到按fname排序的文件中,然后在涉及比较器的文件中返回。我不得不一次为C#编写设计模式。 – 2010-09-10 01:39:07

1

我同意史蒂文 - 劳动力充满了技术熟练的人。信任你的框架和正确的沟通能力,解决问题能力的知识,如果你知道一般闪耀比做在线程管理等方面的妖术忍者更多...

这是从聘用这些角色的相当多年的经验。大多数我一直在做招聘的同事经常同意 - 有些人“知道”他们是否知道所有事情。好的程序员理解逻辑和陷阱,以及如何研究和学习找到问题的解决方案 - 这些人获得工作。

+1

+1为“有它”。这很难解释,但有时候最好的雇员是表面上似乎没有实际技术能力的人。其他时候黑色艺术忍者只是吸吮。技术能力不是一切。 – 2010-09-10 01:36:55

+0

我认为“有它”归结为聪明和实用。我最近雇用了一个在.NET上不是非常强大的人,但他的数量有两个特点,而且这种差异更大。最终,雇主关心的是他们是否正在雇用能够完成工作的人。 – 2010-09-10 03:30:33