4000-9696-28

小白收藏!在编程面试之前,应该如何进行相应的准备?

2021年02月20日 13:55供稿中心:北大青鸟总部

摘要: 小白收藏!在编程面试之前,应该如何进行相应的准备?

本文的作者经历过100多场面试,而且也担任过50多场面试的面试官,我们一起来看一看他从面试者与面试官双向的角度总结出的面试经验

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

image.png

技巧1:澄清问题

面试者是否注意到了问题的范围?这个数字有多大,是否可以为负数?如果是动态语言,则“只考虑数字的情况吗?小数和分数呢?”

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

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

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

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

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

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

在白板上编写代码其实并不好,白板上的算法与实际的日常工作有很大的区别。在coderpad.io中编写代码也很麻烦,因为它们没有自动补齐,不会自动整理格式。绝大多数工程师都有自己的IDE:vscode、sublime、vim等。

我发现,让面试者使用自己熟悉的环境,他们的表现往往会更出色。当然,这个环境依然是面试专用的环境,他们仍然有时间的压力,但是这更接近实际的工作。

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

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

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

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

编写完一段小代码后,你应该试着运行一下,看看能否得出正确的结果。面试者可以通过这个迭代找出小错误,从而在面试中有更好的表现。有的面试者一直在写代码,从来都不运行,直到面试结束。结果,最后运行的时候,代码编译不过去或出错。

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

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

原文链接:https://nojvek.substack.com/p/how-to-make-coding-interviews-better

声明:本文为 CSDN 翻译,转载需注明来源。

关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。