有关C#和VB.net相似性/差异的面试问题
我已经成为VB.net开发人员已有几年了,但是我目前正在向一些使用C#的公司提出申请。甚至有人告诉我,至少其中一家公司不希望使用VB.net开发人员。
我一直在网上寻找试图找到两者之间的真正差异,并询问了crackoverflow。唯一的主要区别是语法上的差异,这对我来说是微不足道的,因为我也是Java开发人员。
当面试官告诉我他们正在寻找Cdeveloper或者类似问题时,对面试官有什么好的回应?
解决方案
回答
我认为,事实真相是这样的:
我是一名软件开发人员,该语言的语法是难题的最后一部分。通过雇用我,我们将获得一个在解决问题和逻辑方面具有明显经验的人。我对.NET环境,CLR和相关的Windows堆栈(包括SQL和Windows服务器)有丰富的经验。我不了解Csyntax,但是,我习惯了面向对象的方法,因此在几周内完全掌握语法的精妙之处就没有问题了。从我的代码的这些示例中,我们可以看到我是一位经验丰富的开发人员,我向我们保证过渡将是无缝的。我已经开始学习该语言,到目前为止我还没有遇到任何问题。
回答
一些差异(比语法上更重要)有时会适当地吸引我:
- VB.NET没有匿名委托
- 不安全的代码块不在VB.NET中
回答
真的吗如果我们也是Java开发人员,那我将带头。具有.NET经验的Java开发人员通常会比具有Java经验的VB开发人员留下更好的印象。如果我们可以回答有关.NET和Java之间差异的问题,那么我们应该处于良好状态。
我还建议我们尽快学习Csyntax。如果我们有使用VB和Java的经验,就不会花很长时间。
许多开发人员对VB及其使用人员都有疑问。有效与否,我们将不得不面对现实。
回答
我喜欢Cto的死法,但是我很羡慕VB.NET的可选参数。 Cis中的办公自动化非常非常痛苦。
回答
@DAC VB现在(.net3.5中)支持lambda:
Function(x) x.ToString()
在一次采访中,我会说了解CLR和代码的实际作用是很重要的,并且我们乐于在其中一种代码中进行编程(假设我们确实是)。
回答
我不得不面试几个职位的人,这是我对VB.Net开发人员面试职位的一般建议:
- 确保我们清楚自己一直在使用VB.Net。这似乎很明显,但是(根据我的经验)显然不是。
- 如果可能,请尝试提供代码示例。我看过一些由VB程序员编写的可怕的VB.Net(和C#),他们似乎在向.Net过渡的过程中并未学到太多。
- 如有要求,可以在面试中使用C#编写。我知道两者之间并没有很多真正的区别,但是我不想付钱给我们学习新的语法。
对于特定问题:我之前曾问过这种类型的问题,我想知道的是底层系统和框架是如何相同的。如果可能,请讨论垃圾收集,IDisposable,终结器,不安全代码块的危险,堆栈与堆的危险等。所有这些东西都表明我们确实了解.Net框架的复杂性。对与错,VB的传统带来了人们对一般较低级别的编程和窗口缺乏理解的期望(具有讽刺意味的是,C ++开发人员将拥有CDeveloper ...等)。
最后,我们如何构建自己的体验可以带来与众不同的世界。如果我们将自己定位为.Net开发人员,而不是VB.Net或者C#,则愚蠢的伪宗教玩笑可能不会进入对话。当然,这要求我们在面试时实际上了解VB.Net和Cat,但这是一个好的政策。
事实的真相是,如果我们发现面试的人只是因为我们以前在VB.Net中进行开发而将我们辞职,那么无论如何它都不会成为我们想要工作的地方。
回答
VB或者Cboth只是语法不同,但是如果我们应用逻辑的方法是相同的。
回答
我也是死亡的Cfeller,但区别不只是语法。在某些地方VB胜出了
- 可选参数
- 后期装订
与Ccan的COM合作是一件非常令人沮丧的事情。 (这并不是说不可能!)