面试官为什么要问高级问题?

时间:2009-07-29 16:55:09

标签: c# .net xml

我已经用C#和XML编程了几年。我只使用这些语言的基础知识,并在网上幸存下来,获取数组和文本操作等信息。但是当我接受采访时,采访者只会问高级问题 - 我后来在关于这个主题的书籍的高级部分找到了答案。

为什么采访者会问这些高级问题?这项工作与我以前的工作几乎相同,因此需要高级知识,例如类委托或XPath命令。

问题是:

  1. .NET 3.5使用什么版本的XSL?
  2. 用于获取元素X中的值的XPath命令是什么?
  3. C#
  4. 中的班级代表是什么
  5. C#允许多个接口继承吗?
  6. 如何在C#中访问GAC?

17 个答案:

答案 0 :(得分:36)

我问他们有两个原因。

  1. 看到一个人实际上说“我不知道答案”,而不是通过问题尝试BS。
  2. 了解一个人有什么样的逻辑问题解决技巧。
  3. 通常问题是一个或另一个,但不是两个。然而,两者在筛选透视员工方面都非常有价值。

    此外,这个问题可能实际上并不是“先进”的。可以合理地假设高级和/或建筑师可以回答少年到中级的问题。

答案 1 :(得分:12)

也许是因为他们试图找到比基本知识更多的程序员。如果他们试图区分候选人,那么提出每个人都知道答案的问题是没有帮助的 - 你如何在这些候选人中做出选择?如果你只雇用一个或两个候选人,你需要找到一些更难的问题,只有1或2个人可以回答。

答案 2 :(得分:11)

在某些情况下,我想从申请人那里得到错误答案。

我想问一个我认为申请人会出错的问题的原因之一是看他们如何适应这种情况。他们如何处理错误并处理某人告诉他们应该如何回答等等。如果他们非常防守或粗鲁当你告诉他们他们是不正确的话那么这很好地说明了他们如何在很多次你的团队工作想法将受到挑战。

如果他们采取解决方案或建议,并意识到他们可以从中学习或甚至添加它,这通常是某人易于使用并愿意“在他们的盒子之外”工作的标志。如果他们只是找借口跳舞试图说明为什么他们可能是正确的或应该是正确的(如果他们显然不是这样的话)那么这告诉我将来会出现同样的问题,这个申请人会引起头痛。 / p>

对答案不那么担心,对他们对问题/解决方案的反应更感兴趣。

另一个原因是在招聘时衡量他们的水平。你可能正在招聘一些职位,但不确定这个申请人的位置。显示解决问题和注重细节的难题有时可以更容易地对其技能进行分类。

答案 3 :(得分:7)

我提出高级问题有几个原因:

  1. 我的一些问题是对每个人都应该知道的事情的高级用法(不是琐事问题) - 我希望看到你通过使用的知识来解答答案,但这种方式并不常见。

  2. 我想看看当你不知道什么时会发生什么 - 你放弃了吗?

  3. 我想聘请那些认真对待他们的人。真正关心他们使用的技术的人往往想知道高级的东西。

  4. 我想看看是否存在空白,你甚至不知道整个知识领域都存在。例如,在你的XPath示例中 - 我可能没问题:“我相信XPath可以用来帮助解决这个问题,但我不太清楚它在这里写出来” - 然后我会告诉他们一点点XPath,看看他们是否可以应用它。如果您甚至不知道XPath存在,谷歌将不会帮助您。

答案 4 :(得分:2)

可能他们只是在衡量你的位置。他们可能自己也遇到了这个问题,也许想知道你是否能想到自己的答案。

我经历过相同类型的问题,并且考虑到我在编程时使用过多的资源,这类事情通常会让我失望。他们的损失。

答案 5 :(得分:2)

您的用户名表示您喜欢编码(duh),但您的问题表明您没有。如果你真的喜欢编码,那么你应该喜欢了解它。您列出的那些问题并不那么先进。

即使提出了这些问题,面试官也会试图判断你所知道的领域知识有多少。他们也试图衡量你对自己群体的适应程度。

P.S。不是故意的,但是如果你使用XML编程并且不知道XPath是什么,那么你就有点远了。

答案 6 :(得分:2)

面试官正在努力调整你的知识水平,他正在通过“借用”该书最后一章中的一个问题来实现。

真的,这是他的邋work工作,依靠一个问题来衡量你的专业水平。你的编程技巧可能很低,但最近遇到了热门话题,并且能够接受采访。

在采访一位自称高水平C专业知识的候选人时,我确实被烧了一次。事实证明,他正在阅读“C for Dummies”并通过面试程序成功获得了BS。我承认我并不专注于他的编程技巧,但他正在寻找其他方面,他也通过这些方面设法。结果他的整个简历是一堆谎言。

如今,我确保候选人具有可变范围,持久性,指针算法,基本算法,结构化编程,面向对象编程,多态,多任务和进程间通信的工作知识。我将测试他的调试技巧,并对游戏条件,heisenbugs和安全漏洞等细节进行调查。

根据工作的不同,我会询问目标语言的经验 - 例如PHP中的key =>值映射(数组),Java中的Swing编程,C#中的事件处理,html中的表格与CSS - 你得到照片。

如果候选人通过了面试的第一部分(我通常在大约5分钟内知道),我会给他一个活页夹,然后把他送到咖啡室(那里有漂亮的沙发和桌子)准备20分钟对所选模块的代码审查。

当我派遣部队时,员工被指示正常使用咖啡室,自我介绍并进行约一分钟的谈话。

我正在寻找的是能够专注于任务(公然的ADHD),在压力下工作的能力以及人际关系动力。

当候选人返回时,我让他担任主要演示者并开始正常的代码审查过程。我要寻找的第一件事是他是否阅读了标题为“代码审查流程”的页面。我不是在找他完成评论 - 大约10分钟就足够了。事实上,处理的主线越少越好 - 在合理范围内。

我很久没有被新雇员烧伤了。

答案 7 :(得分:2)

因为作为程序员的能力既涉及深度广泛的知识。

答案 8 :(得分:1)

他们可能想知道你是否真的知道自己在谈论什么,或者你是否是一名新手程序员,只使用他通过反复试验获得的内容而在网上相处......

答案 9 :(得分:1)

1. .NET 3.5使用什么版本的XSL?

因为他们无法从不重要的事物中分辨出重要的事情。糟糕的迹象。

2.用于获取元素X中的值的XPath命令是什么?

因为他们想知道你是否了解XPath。这可能是因为他们广泛使用它,你需要它来完成工作,或者因为他们认为XPath知识==技能。

3. C#中的类代表是什么

(我从来没有听说过“班级代表”这个词,谷歌搜索没有定义,所以我认为你的意思只是“委托”)。 代表们很难被视为高级话题。

4. C#允许多接口继承吗?

如果他们真的问过“界面实现”,它是最基本概念的一部分,所以这是一个有效的问题(虽然太简单,不能真正意味着什么)。如果他们真的问过“接口继承”,那更多的是琐事,但我仍然可以接受。如果他们询问“界面继承”究竟意味着什么,那么他们会获得奖励。

5.如何在C#中访问GAC?

这是每个团队必须有一个人知道的事情。我说这也是资历的指示(BTW,我并不在乎),因为没有人读到这些东西,找出的唯一方法是被迫解决现实世界的问题。

答案 10 :(得分:0)

有很多可能的原因。他们可能会:

  • 实际上使用这些技术(委托和XPath并不是特别罕见或模糊)
  • 有大量的候选人,想要找到更多知识渊博的人
  • 想知道你知识的限制在哪里,所以他们会问问题,直到你开始无法回答为止
  • 想看看你如何接近你不熟悉的领域 - 看看你如何适应新的东西
  • 想炫耀自己的知识(可能不是正当理由,但肯定会发生)

答案 11 :(得分:0)

我并不是要冒犯你,但也许你对工作的理解不够深入,事实上它需要先进技术的知识。
此外,您可以使用基本方法执行许多操作,但高级方法可能是实现复杂性,实现时间或可维护性的更好方法。

答案 12 :(得分:0)

另一个原因是衡量你对他们真的不希望你知道答案的问题的回答。解决问题的技巧是必不可少的,所以问问你已经知道答案的问题是不是要解决这个问题,是吗?

甚至有些公司会询问奇怪的,与非编程相关的问题,只是为了看看你如何看待问题。据报道,在微软的采访中,有一个经典的“为什么是井盖”问题。

More Microsoft interview questions

答案 13 :(得分:0)

我听说这些真的不再使用了,或者至少没有以前那么多,但你可能会对此感兴趣。几天前,我选择了一本非常酷的短篇小说,它必须处理有时会被问到的“微软风格”逻辑面试问题。我是几个章节,它给出了技术领域的采访风格的简洁历史,并且有很多逻辑问题,后面有答案。

它被称为“你将如何移动富士山”,并且它在亚马逊上非常便宜。

http://www.amazon.com/gp/offer-listing/0316919160/ref=dp_olp_used?ie=UTF8&condition=used

答案 14 :(得分:0)

他们希望找到具有实践经验的人,这些经验超出了初级课程的教学范围。当我的公司采访候选人时,我们经常发现大多数申请人无法解决我们认为非常基本的编程问题,因为他们不了解API或者不了解何时使用各种基本数据结构。

如果你想给面试官留下深刻印象,可以在课外开展自己的编程项目。学习一大堆语言API,并开始学习可以大大简化工作的第三方库。

答案 15 :(得分:0)

我刚刚完成了一轮访谈,在那里我使用了三到四个“简单”的C#代码片段,受访者将会查看这些代码片段并尝试解释预期的结果。在每种情况下,代码示例不超过十行清晰格式的代码,它们利用基本的C#技能(继承,泛型,匿名代理);在每种情况下都会有一个'陷阱' - 但就像其他人所说的那样,我不会把它们放在恶意中,它们就在那里,因为我想看看候选人在面对的是什么时没有做出反应按预期工作。

我们最近有一位候选人参加了他的采访的第一部分;令人印象深刻的简历,显然是一个10人团队的首席开发人员,并且从1.0开始就在C#中开发代码;但显然不知道“Console.WriteLine()”做了什么(他甚至无法猜测),他甚至也不能开始应对这个小小的匿名代表的例子。

另一位候选人是自我谦虚的,并且不知道如何评价自己作为开发人员 - 她的经验比前任候选人少,但她已经通过代码样本,因为几个'陷阱'但要求正确的问题得到正确的结论,并从经验中真实地学到了。不用说,她被录用了。

如果您声称特定于域的知识(如XML),您应该会被问到有关该域的特定(有时是硬性)问题;如果我正在采访一位资深的ASP.NET开发人员并且他们不知道HttpModules或HttpHandlers(就像最近的一些受访者那样),那么警钟就会开始响起。

答案 16 :(得分:0)

我提出高级问题,试着了解人们如何解决问题。出于这个原因,我想问一些我不知道的问题。

我想要一个批判性思考者,而不仅仅是一个可以背诵教科书的学者。