建议
首先,这里有一些关于如何准备面试以及在面试过程中如何表现的一般提示。然后我们将看看程序员在面试中经常被问到的一些最流行的同时也是最困难的问题。制作一份很酷的简历
我们已经在另一篇文章中讨论了程序员如何制作炫酷的简历和 LinkedIn 个人资料。在这里,我们只关注事实本身 - 你需要有一份好的简历,不仅是为了定期收到面试邀请,也是为了成功通过面试。不要认为你的简历的质量不重要,如果它已经履行了它的主要功能并导致了面试邀请。最好这样看:你不会穿着人字拖和 T 恤与你的梦想女孩约会。因此,在没有一份整洁的简历的情况下获得一份理想的工作(或者只是一份支付四位数美元工资的工作)是不礼貌的行为。“我认识很多程序员,他们会花几周甚至几个月的时间来准备面试。与此同时,他们不会花任何时间在简历上,从我的角度来看,这至少很奇怪,当然也是错误的,”Twitter 开发人员zhia Chong 说。准备一段“关于你自己”的独白
在大多数面试中,第一个问题就像“告诉我们你自己”(程序员面试也不例外),因此立即准备一个答案是有意义的 - 一段简短的独白:关于你,你是如何走到这一步的职业,关于过去的经验,期望等。请记住,独白应该简洁:无需向人力资源人员详细复述您的简历。让专业人士创建您的简历
关于你的简历的第二个技巧:为了让它看起来严肃和专业,最好聘请一位专业的文案撰稿人,至少如果你的英语写作能力不是很高的话。或者,您编写的文本可以由“母语人士”编辑器检查。“有些人专业地撰写简历文本。他们不会尝试为自己编写程序,不是吗?如果作家不自己写程序,程序员为什么要写自己的简历呢?” Simple Programmer 的创始人兼开发人员生活教练 John Sonmez 问道。你也许能够写出一篇像样的文本,但很有可能它会被证明是歪曲的、充满错误的,而且通常看起来非常像通过谷歌翻译从俄语自动翻译的。值得怀疑的是,这对你面试时是否有帮助。准备陷阱问题的答案
申请人在面试中经常被问到的常见陷阱问题示例:-
您为什么要寻找新机会?(你为什么要寻找新的工作机会?)
-
上次您和同事在技术问题上意见不一致时,结果是什么?(您最后一次在技术问题上与同事发生分歧是什么时候?是如何解决的?)
-
说出你最大的优点和最大的缺点。(说出你最强的品质和主要弱点)
回答面试官问题时,不要“太诚实”
正如许多专家指出的那样,这种行为对于程序员来说尤其典型。许多开发者在接受采访时往往会表现得过于夸张,认为说实话是最好的策略,而残酷的诚实会增加他们的魅力。不要为了用你的答案的机智和独创性给面试官留下深刻的印象而包括豪斯博士或汉克·穆迪。虽然也不建议在面试时撒谎,但你不需要太多或太公开地谈论自己或你过去的职业经历;几乎没有人会欣赏它,但这样的冗长会以最直接的方式造成伤害。找出面试官的名字并提前做一些研究
这个建议更多地适用于最后阶段的技术面试和经理面试,而不适用于一开始与HR的沟通。许多经常面试其他程序员的经验丰富的开发人员注意到,在大多数情况下,即使他们在面试前通过电子邮件与候选人沟通并且候选人知道他们的名字,程序员也不会费心去查找有关面试官的基本信息,例如作为社交媒体资料和各种博客。这是值得做的。让某人对你感兴趣的最好方法就是你自己表现出对那个人真正的兴趣。这一原则是戴尔·卡内基在他的经典著作《如何赢得朋友并影响他人》中阐述的。这条规则不应该被忽视。准备程序员的具体面试问题
我们从流行的招聘门户Indeed上收集了程序员在英语面试中经常被问到的典型问题。-
你对编程有什么兴趣?(你喜欢编程什么?)
典型的陷阱问题。首先也是最重要的,面试官希望听到候选人真正喜欢执行日常任务和操作,尤其是那些大多数开发人员讨厌的任务和操作。
因此,不值得说,你最喜欢编程的是4-5位数的工资(开个玩笑)。相反,最好假装是一个典型的书呆子,如果不深入研究代码并修复错误,就无法想象生活。
Indeed 的回复模板:“我喜欢查看代码,这样我就可以找到错误并修复它们。事实上,我一直喜欢有条不紊地解决问题。当我还是个孩子的时候,我和爸爸修理了一辆 1967 年的野马。这需要细致的方法和极大的耐心。我对审查代码也有同样的感觉。”
-
你最喜欢的编程语言是什么?(你最喜欢的编程语言是什么?)
这是一个相当标准的问题,最好通过研究公司使用的编程语言来提前准备答案。当然,在答复中建议提及正在选择的空缺职位的主要语言。
JavaRush 的响应模板:“我喜欢使用 Java,因为它是一种非常优雅的语言,具有多种用途和光明的未来。就我个人而言,我是在JavaRush上学习Java的,JavaRush是一个流行的在线平台,它可以让你掌握Java。我喜欢 Java 的一点是,它允许程序员创建可以部署在任何设备上的应用程序。它是物联网、云计算、区块链、大数据和其他创新 IT 市场领域的首选语言。”
-
作为一名计算机程序员,最困难的事情是什么?(作为一名程序员,你觉得最困难的事情是什么?)
提出这个问题是为了更好地了解程序员的优点和缺点,了解他最不喜欢项目的哪些部分。因此,用一种有点公式化的方式回答这样一个事实是有道理的:你当然是整天盯着显示器的忠实粉丝,但是,正如他们所说,工作使马死。
Indeed 的回复模板:“虽然我喜欢坐在电脑前解决问题,但我需要定期休息来保持注意力。盯着屏幕两个小时后,我需要走一小段路来清醒头脑,让身体活跃起来。”
-
您最近学习的语言是什么?(到目前为止,您学习的最后一种编程语言是什么?)
一般而言,技术,尤其是编程世界往往会快速发展且不断变化。提出这个问题是为了了解程序员在多大程度上遵循新趋势以及他是否为此而努力。因此,在你的回答中至少值得一提的是 Julia、Rust 或 Swift 等新语言之一的基本知识。如果这也是真的,那绝对是理想的。
Indeed 的回复模板:“我可能没有跟上尽可能多的新语言,但自从大学毕业以来,我学到了很多东西。在学校里,我必须专注于 C++。课外,我花时间尝试 Julia 和 Swift 等较新的语言。自取得进展以来,我参与了一些需要这些语言的项目。”
-
您的技能和个性将为我们的团队做出什么贡献?(您的技能和个性可以为我们的团队增添什么?)
这是一个旨在找出候选人臭名昭著的软技能并了解他是否可以加入团队的问题。因此,在你的回答中,最好间接地表明你是一个团队合作者,一个善于交际的人,而且总的来说,只是一个可爱的人。
Indeed 回复模板:“我喜欢解决难题。如果您团队的其他成员找不到正确的解决方案,那么我会寻找它。同时,我也是一名团队合作者。我知道其他人为每个项目贡献了大量的工作。即使我找到了其他人找不到的解决方案,我也很乐意与大家分享成功。”
最后的建议
并没有尾声,而是以简短而简洁的形式提供了一些提示。-
面试期间最好关闭手机(或至少将其调至静音模式);
-
回答问题切中要点并紧扣主题;
-
只谈论您真正了解的技术。不要试图用你知道的流行语和趋势的数量来给面试官留下深刻的印象;
-
面试时携带可能与该职位相关且雇主可能感兴趣的所有文件;不要对你过去的工作或雇主说任何负面的话。
GO TO FULL VERSION