年后跳槽,你准备好在编程面试中一举拿下高薪了吗?

59 篇文章 1 订阅
3 篇文章 0 订阅

年后跳槽,一直都是大多数人的选择,新的一年迎来一个新的开始,那么,如何在面试中大获全胜呢?以编程为例,其他同理。

面试

从提交申请到正式入职,通常我们会经历3-5次面试。首先是HR经理的电话面试,接着还有几场技术面试。

一位求职人员在一家公司的面试中花费的时间平均为8个小时左右。面试的目的是为某个职位寻找合适的技术人员,并从他们身上获取高于薪资的价值。

根据形式不同,一场面试通常需要45分钟~1个半小时。我的一位经理曾说:“你必须搞清楚面前这个人是否值一辆兰博基尼,因为公司每年在这个人身上投入的资金超过了一辆兰博基尼,即20万~30万美金(包括办公室租金+各项福利)。”

HR透过求职者身上的哪些特质判断出他将有长期的良好表现?

哪些因素有助于取得面试成功?

在我看来,最有利的因素有三个:

  1. 良好的人品;
  2. 适合的技术经验;
  3. 解决难题的能力。

简历

作为面试官,一般我都会在面试前仔细阅读两遍简历。作为面试者,我很讨厌那些根本不看我简历,却占用我的时间的面试官。通常,在简历中写:“努力工作,注重结果”之类的言辞,基本没什么用。为了突出自己,你必须更具体:“我参与了项目X,在其中负责工作Y,最后取得了结果Z。”

如果求职者在简历中写明GitHub链接,我就会去看他们的GitHub,看看他们都构建了哪些产品。即便他们不是编程高手,但至少证明他们能够写代码,而且能够与其他人合作,完成工作。

推荐

如果你信得过某个人,那么他的话在你这里一定很有分量。尤其是当你给某人写推荐信时,一定要说清楚:“你是否曾经与这个人共事,你觉得他能够胜任这项工作吗?”而作为面试官,我也会打电话给推荐人,问问他们:“他的表现如何?你愿意再次和他合作吗?”

以上是面试之前需要做好的准备,下面我们来看一看实际的面试。

编程面试

根据经验,面试中能否给出正确答案与在工作中是否有良好的表现,二者之间的联系并不大。然而我发现,面试者找到解决方案的方式之间有一些共同点。

举个例子:编写一个函数,将整数(比如100)转换成“one hundread”。我发现,是否掌握了处理复杂数据结构的编程技巧,与实际工作中的长期表现之间几乎没有联系。通常在日常工作中,你只需要完成基本的工作。

技巧1:澄清问题

绝大多数的实际问题都是模棱两可的,深入挖掘基础的问题,澄清范围,这一点非常关键。

例如:

面试者是否注意到了问题的范围?

这个数字有多大,是否可以为负数?

如果是动态语言,则“只考虑数字的情况吗?

小数和分数呢?”

技巧2:讨论各种可行的方式,总结出大致计划

优秀的面试者不会上来就直接编写代码,他们会解释自己的方法和思维模型。这意味着他们愿意在动手编写代码之前,与他人合作,探讨可行的方式。这个时候,你可以利用白板,或者在纸上画出来也可以。

大多数的实际问题都需要团队达成一致。能够与他人交流你的想法,说明每种方式的优缺点,这一点非常重要。

很多大问题都没有正确答案,你需要权衡利弊。能够统一取舍很重要。

技巧3:使用自己熟悉的环境

绝大多数工程师都有自己的IDE:vscode、sublime、vim等。使用自己熟悉的环境,他们的表现往往会更出色。当然,这个环境依然是面试专用的环境,他们仍然有时间的压力,但是这更接近实际的工作。

一项A/B测试,针对同一个问题,使用他们的电脑,共享屏幕,然后分别使用coderpad.io和sandbox.io。结果发现,在前端开发的问题中,使用sandbox.io的面试者的表现更好,因为阻碍他们尽快开始编程的问题更少。

面试者使用自己电脑,共享屏幕,克隆代码库,这也是一个很好的技巧。coderpad.io能做的事情很少。通过让面试者克隆代码库,可以看出面试者是否能够快速适应一个不熟悉的代码库。

在Google的面试中,他们让我在Google文档中编写代码。这种做法一点都不好。根据我的经验,Stripe的面试过程不错。在面试中,你可以将GitHub代码库checkout出来,然后在自己的电脑上,用自己最喜欢的IDE打开代码。

技巧4:写代码 -> 运行 ->调试

编写完一段小代码后,运行试着一下,看看能否得出正确的结果。

面试者可以通过这个迭代找出小错误,从而在面试中有更好的表现。

有的面试者一直在写代码,从来都不运行,直到面试结束。结果,最后运行的时候,代码编译不过去或出错。

表格测试也是一个很不错的技巧。你可以编写一个数组:[[输入,输出],[输入,输出],[输入,输出],...],然后传递给一个简单的测试函数。看到测试用例和代码复杂度的变化,面试官也会很高兴。

总结——目光长远

我们必须通过编程问题和接近实际的工作环境来测试候选人。更加重视自己之前的经验。有时候我们需要花费一两年的时间,才能深入理解整个代码库,因此我们必须将眼光放长远。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值