C#必须知道些什么?

时间:2010-10-25 21:28:29

标签: c#

我刚收到面试通知。明天早上我正在面试一个C#作为必修能力的职位。这个职位是一个合作社的职位,我相当肯定公司理解,在C#中,学生可能会有非常有限的经验,特别是因为当地的大学没有提供课程(这不是说人们)不能在旁边学习,但要记住一些事情。)

我会确定我之前没有使用过C#,但我的问题是:鉴于我所知道的(下面列出的)我应该了解哪些C#特有的主题是语言独有的或者可能截然不同从许多其他语言?

我觉得至少习惯的语言是:

  • 阿达
  • C
  • C ++
  • 爪哇
  • 目标C
  • 的Python

10 个答案:

答案 0 :(得分:5)

由于它是一个合作社的位置,你知道java,他们很可能不会问很多特定于C#的问题。他们很可能会问两种类型的介绍性问题 - 1)编程概念,2)算法问题

1)编程概念,问题如:
- 面向对象的编程概念(多态,抽象,接口等)
- 公共/私人方法之间的区别是什么? - 如何在C#中编写访问器方法 - 不可变的意思是什么 - 何时使用常规字符串vs StringBuilder

2)对于算法问题,几乎所有科技合作社的雇主都会问一些变化:
- 如何使用缓冲区和/或无缓冲区(例如:就地)设计算法来反转字符串?

答案 1 :(得分:3)

C#非常接近Java,所以你最需要从差异中学习。

试试this文章。

答案 2 :(得分:2)

最重要的不是C#本身,你应该没有问题,但.Net框架本身。

答案 3 :(得分:2)

以下是我专注于求职面试的内容。

许多采用C#开发人员的公司正在从大量用VB编程的市场中获取它们。许多公司 - 尤其是那些需要保持低成本的敏捷或精益项目的资金 - 更愿意雇用Java开发人员。 Java社区拥有更大的开源基础,倾向于使用更小的类编程并更好地遵守SOLID原则,并且知道如何正确有效地编写单元测试,验收测试和使用设计模式。

你已经知道的事情:

  • JUnit - > NUnit的
  • 泛型 - >编译时泛型
  • Java库 - > NLibrary.NET(Spring.NET,Selenium.NET,NHibernate等)

值得一提的新事物:

  • 代表*
  • lambda表达式*
  • 的LINQ *
  • WPF或Silverlight(几乎相同的东西) - 基本的Xaml很有趣,编码速度快,创建了一个可爱的动态MVC模式,几乎无声地失败(你得到输出警告)

(*)这就是为什么我最近更喜欢C#到Java ......除了微软平台......

由于Java /广泛的语言暴露而你知道的事情他们可能 **不是:

  • Resharper(IntelliJ在Visual Studio中的重构快捷方式)
  • REST
  • MVC(Winforms不适用于此; WPF确实如此)
  • Git / Mercurial
  • 如何编写干净,可维护的代码。

(**)我说可能已经了!

祝你好运!

答案 4 :(得分:1)

在24小时内,很少有人能够了解C#,这可以说服面试官甚至有一点线索知道你的语言。专注于梳理自己的优势(例如:用你知道的某种语言解决一些有趣的算法问题)。

如果你真的想填补,请阅读overview

我理解用至少一些知识的印象来打动的愿望,并且能够说你已经开始研究它当然不会有害。但作为一名采访者,我问的第一个问题之一就是候选人熟悉哪种语言,然后继续这样做。我不会质疑他们对他们没有使用的语言的了解,因为我知道他们在网上学到的任何东西在编写代码的日常过程中都是肤浅的,而且基本上没用。相反,我完全专注于以他们所熟悉的语言展示他们拥有的技能。当然,这只是我的风格,我无法保证明天的采访者会有同样的观点。但我仍然认为,作为一个基本的指导原则,你应该始终发挥自己的优势。

关于语言相似性,不要过分关注Java和C#相似的建议,而且大多数肯定不会在C#工作的访谈中提出这样的主张。虽然语言可能表面上相似,但有许多共同特征,C#具有许多Java缺乏的现代语言特性(迭代器,lambda形式,LINQ,结构,属性,表达式对象,引用参数,索引器等)。这导致了截然不同的编程风格。

答案 5 :(得分:0)

Java是你最接近的,你知道的很多东西将直接适用于C#。

语法类似,其背后的概念相似,如自动内存管理,中间语言等。

显然存在一些微妙的差异,但是如果你读过像“C#for Java Programmers”这样的东西,你应该已经准备好了。

答案 6 :(得分:0)

了解为什么C#不同 - 即CLR。

答案 7 :(得分:0)

他们可能会问你所有的关键词,比如密封是什么意思?你什么时候覆盖?告诉我静态是什么... app.config用于什么...

但他们真的希望你说你有SQL服务器,ASP,winforms和WPF的经验......既然你是学生,你可能没有那种经历,但这就是他们想要的。 / p>

答案 8 :(得分:0)

我认为大多数问题都是关于:

  1. OOP概念(如抽象, 封装,多态,什么 是有区别的 接口抽象类?... 等)
  2. 数据结构和集合( 优点)何时使用arraylist和 何时使用list ??
  3. .net框架(可能会问 框架3.5或中的新内容是什么 4)
  4. 之间有什么区别 托管代码和非托管代码?。
  5. 可能会问你关于LINQ。

答案 9 :(得分:0)

基本的Oops概念如果您是基础程序员,请先学习。 如果你不是基础程序员,那么从这开始: - csharp.2000things