原文:Choose the right language for your coding interview
地址地址:/
你是否在面试一份使用特定编程语言的工作?
如果你在尝试通过面试进入一支摇滚乐队,你不应该在你的试演过程中演唱歌剧。你在试演过程中的主要目的是为了展示你可以充当一位好的乐队成员。
尽管你是一位好歌手,除非这这支乐队需要有人会演唱歌剧,否则没人会对你是否擅长唱摇滚感兴趣。同样道理,怎么会有人雇佣你去从事Android开发的工作
如果他们对你的了解仅在于你擅长Ruby语言。
如果你面试的工作是指定使用某项编程语言的,选择面试使用的编程语言就十分简单--使用你的工作将用到的编程语言。
向一间公司体现你的价值的最好方式就是向他们展示你擅长将要从事的工作。保证你对将使用的编程语言充分熟悉和为将可被问到的问题做准备,因为这在你面试的过程中
是一场公平的竞争。
虽然在面试使用某项编程语言的工作时使用正确的语言很重要,但许多职位都比较笼统,特别是对于新毕业生而言。
尽管这些职位可能使用一种主要语言,但很少有人期望您一开始很博学,而且他们计划为你准备了一些培训。
如果你申请的是这类型工作职位,你的下一个问题就是:
你最擅长的编程语言是什么?
面试的压力很大。有很多东西需要记忆,在巨大压力的情况下,你很容易头脑空白。使用你不熟悉或者感觉不顺手的编程语言容易犯语法错误和一些低级错误。
再次强调,在你准备面试的过程中,请根据你的喜好做好准备。这样你才能通过选择你擅长的编程语言来消除可能的面试障碍。
如果你平时使用多种语言,那么你很幸运,但需要记住这是面试。尽管你平时使用JavaScript比较多,但你可能比较少些复杂的算法。因此,如果可以,请使用Python实现面试的算法。
如果你仍未能确定使用哪种编程语言,问问你自己:
这种编程语言解决算法问题是否足够简单?
一些语言更适合不同的东西。你可能不会使用C++写你的网页,你也不会把JavaScript用于统计分析。同样的道理,一些编程语言适合用于面试。
由于不同的语言具有不同的内置类型和范式,因此您选择的语言不仅可能极大地影响您解决问题的方式,而且影响到你将被问到什么问题。
例如,Java中的常见问题涉及修改链接列表。 但是,在Python中,列表是内置的数据类型,因此这些问题没有多大意义。 虽然您当然可以手动实现列表,但为什么要这么做呢?
最终,这是选择最合适的语言的第二要务,但是如果你陷入选择困难症,请选择一种可以使你的生活更轻松的语言。
由于这个原因,许多人都喜欢Python。
但是,这不仅与您的代码编写能力有关,还与您的面试官理解您编写的代码的能力有关,因此在使用某种语言之前,请先询问以下问题:
这种语言是否足够简单能让未曾学习它的人也理解?
事实是,虽然您的面试官可能会告诉你你可以使用任何语言进行编码,但有些语言对他们而言比其他语言更容易理解。
而你的目的是让他们明白你的意思。
有些语言非常合适于面试。 您的面试官应该了解Java,C和Python,因此这些语言中的任何一种都是完全合理的。
其他语言,尤其是更具可读性的语言也可以。 例如,Javascript和Ruby。
但是,当您远离知名语言的领域时,您应该格外小心。 除非您知道面试官有使用Go或Perl或其他语言的经验,否则您可能要坚持使用一种较流行的语言。
以下问题,可以帮助你确定你的面试官对该语言的理解程度:
他们在公司是否使用该编程语言?
如果到目前为止你已经解决了所有问题,但仍无法缩小到一种语言,那么这就是你可以考虑的最后一件事。
尽管它是最不重要的,就是表明你的经验将适合公司现有的基础架构。
这也是一个机会,表明你研究了要面试的公司,由于你对该公司特别感兴趣,因为你付出了额外的努力。尽管这可能不会改变他们的决定,但可以为你带来一些加分。
归根结底,你为面试选择的语言主要影响两件事:您解决问题的难易程度和面试官理解您的解决方案的难易程度。
因此,您选择的语言不会影响或破坏您的面试,但可以肯定会让您受益匪浅,从而最大程度地提高自己的成功机会。