C#编码面试准备

时间:2010-09-10 01:00:57

标签: c#

  

可能重复:
  Looking for a few good C# interview problems.

大家好, 我在C#中做了很多阅读,并且也练习了大部分数据结构。我的来源主要是msdn和很少的博客。有趣的是,几乎没有人在C#面试中询问过我的数据结构,优化或效率。所以我猜这次采访也会非常倾向于语言,所以我想练习语言相关的概念,如迭代器,泛型,arraylist,委托,比较器和事件。我想回答几个问题。

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

在编码(现场)访谈中会询问哪种与语言相关的编程问题?

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

有人还可以推荐有关代表或比较者的编程问题吗?

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

由于

4 个答案:

答案 0 :(得分:22)

作为雇主,如果我要求您演示如何编写LINQ查询以获取X排序的前10行,而您不知道如何操作,我会更感兴趣的是听听您是怎么做的去了解如何做到这一点。

没有人知道一切,这就是你如何去学习你不知道的让你与众不同的东西。

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

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

我的观点是什么?如果你的访谈完全集中在你可以从记忆中诵读多少行代码,而不是你是谁,如果你很适合这种文化,你需要质疑你是否想在那里工作。有可能你会发现你很少得到支持,团队将是孤独的,一般质量都会很低。

所有这些都说,你应该专注于你将经常使用的东西:面向对象的编程,封装,内聚,多态,泛型。学习内置类型而不是算法。你不太可能自己实现一个链表,你只需要使用一个现有的基类库。

很难预测在面试中你会被问到什么,主要是因为候选人的候选人质量差异很大,面试官的质量差别很大。我的经验是,大多数采访者实际上非常可怕,并提出错误的问题。

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

答案 1 :(得分:2)

我最近接受了一对采访(5月下旬,6月)。提出了一些常见问题:

  • 什么是ArrayList?哈希表?
  • 各自的缺点?
  • 你会用什么?解释原因。
  • C#中“using”关键字的用途是什么?
  • “使用?”
  • 的一次使用涉及哪个界面
  • 什么是界面?
  • 访问修饰符“抽象”和“密封”是什么意思?
  • 在SQL中,内部和外部联接之间有什么区别?

有点简单的东西,真的,但是再一次,有些人无法回答他们中的任何一个。据一些人说,200人中有199人。

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

其他人,请随意添加,我将它标记为CW。

答案 2 :(得分:1)

就业市场充斥着不合格的申请人,因此雇主正在寻找任何可以过滤掉噪音并限制他们实际需要考虑的人数的方法。最简单的方法是专注于您当前的实际知识,这比知识更容易衡量。

期望被问到具体问题,这些问题通常会测试您对C#和.NET的了解,以及您编写安全,正确的代码的能力。这意味着IDisposableIEnumerablelockusingtry / catch等内容。如果你了解LINQ,那就太好了,但现实情况是,大多数面试官也不会特别敏锐,所以他们会专注于基础知识,这意味着至少可以使用5年的东西,而不是“新”功能。

答案 3 :(得分:1)

我同意史蒂文 - 劳动力队伍中充满了熟练的人才。如果你知道,你对框架的知识和正确沟通你的问题解决能力的能力的信心通常比在线程管理等黑人艺术中扮演一个忍者更有光泽...... / p>

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