白板编程浅谈

白板编程浅谈

ID:44057617

大小:284.04 KB

页数:8页

时间:2019-10-18

白板编程浅谈_第1页
白板编程浅谈_第2页
白板编程浅谈_第3页
白板编程浅谈_第4页
白板编程浅谈_第5页
资源描述:

《白板编程浅谈》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、白板编程浅谈Why,What,How面试很因难,技术面试更加因难——只川45~60分钟是很难考察出面试者的水平的。所以刘未鹏在他的怎样花两年时间去面试一个人一文屮鼓励面试者创建GitHub账号,阅读技术书籍,建立技术影响力,从而提供给而试官真实,明确,可度量的经历。这种方法对而试者效果很好,但对面试官效果就很一般——面试官要面对人量的面试者,这些面试者之中可能只有很少人拥有技术廨客,但这并不代表他们的技术能力不够强(也许他们对写作不感兴趣);另一方面,一些人拥有技术博客,但这也不能说明他们的水平就一定会很牛(也许他们在嘴遁呢)。总之,技术博客和GitHub账号是加分项,但技术而试仍然必不可

2、少。所以,问题乂回来了,如何进行高效的技术面试?或者说,如何在45-60分钟内尽可能准确的考察出面试者的技术水平?回答这个问题Z前,让我们先看下技术面试中的常见问题都有什么:技术面试中的常见问题技术面试中的问题大致可以分为5类:编码:考察面试者的编码能力,一般要求面试者在20~30分钟Z内编写一段需求明确的小程序(例:编写一个函数划分一个整形数组,把负数放在左边,零放在中间,正数放在右边);设计:考察面试者的设计/表达能力,一般要求面试者在30分钟左右内给出一个系统的大致设计(例:设计一个类似微I•専的系统)项目:考察而试者的设计/表达能力以及其简历的真实度(例:描述你做过的xxx系统中的

3、难点,以及你是如何克服这些难点)脑筋急转弯:考察面试者的『反应/智力』(例:如果你变成蚂蚁人小然后被扔进一个搅拌机里,你将如何脱身?)查漏:考察而试者对某种技术的熟练度(例:Java的基本类型有几种?)这5类问题中,脑筋急转弯在外金中早己绝迹(因为它无法判定而试者的真实能力),查漏类问题因为实际价值不大(毕竟我们可以用Google)在外企中出现率也越来越低,剩下的3类问题里,项目类和设计类问题要求面试官拥有同类项Id经验,只启编码类问题不需要任何前捉,所以,几乎所有的技术面试中都包含编码类问题。然而,最令面试者头痛的也是这些编码类问题——因为几乎所有的当面(On-site)技术面试均要求而

4、试者在口板上写出代码,而不是在而试者熟悉的IDE或是编辑器中写出。在我的面试经历里,不止-•个被面试者向我抱怨:『如果能在计算机上编程,我早就把它搞定了!』就连我白己在面试初期也曾怀疑白板代码的冇效性:『为什么不让面试者在计算机上写代码呢?」然而在经历了若干轮被而试与而试Z后,我惊奇的发现白板编程竟然是一种相当有效的技术考察方式。这也是我写这篇文章的原因——我希望通过这篇文章来阐述为什么要进行口板编程(WHY),什么是合适的口板编程题目(WHAT),以及如何进行口板编程(HOW),从而既帮助面试者更好的准备面试,也帮助面试官更好的进行面试。为什么要进行白板编程很多血•试者希望能够在IDE+

5、(而不是白板上)编写代码,因为:主流IDE均带有智能提示,从而大大提升了编码速度IDE可以保证程序能够编译通过可以通过IDE运行/调试代码,找到程序的Bug我承认笫1点,白板编程要比IDE编程慢很多,但这并不能做为否认白板编程的理由——因为白板编程往往是API无关(因此并不需要你去背诵API)的一小段(一般不超过30行)代码,而且面试官也会允许面试者进行适当的缩写(比如把Iterable类型缩写为Iter),因此它并不能成为否认白板编程的理山。至于笫2点和第3点,它们更不能成为否认白板编程的借口——如果你使用IDE只是为了在其帮助下写出能过编译的代码,或是为了调试改Bug,那么我不认为你是

6、一名合格的程序员——我认为程序员可以被分为两种:先确认前条件/不变式/终止条件/边界条件,然后写出正确的代码先编写代码,然后通过各种用例/测试/调试対程序进行调整,最后得到似乎正确的代码我个人保守估计前者开发效率至少是后者的10倍,因为前者不需要浪费人量时间在编码-调试•编码这个极其耗时的循环上。通过白板编程,面试官可以有效的判定出面试者属于前者还是后者,从而招进合适的人才,并把老油条或是嘴遁者排除在外。除了判定面试者的开发效率,白板编程还有助于展示面试者的编程思路,并便丁•面试者和面试官进行交流:白板编程的目标并不是要求面试者一下了写出完美无缺的代码,而是:让面试者在解题的过程中将他/他

7、的思维过程和编码习惯展现在面试官面前,以便面试官判定面试者是否具备清晰的逻辑思维和良好的编程素养如果面试者陷入困境或是陷阱,面试官也町以为具提供适当的辅助,以免面试陷入无人发言的尴尬境地什么是合适的白板编程题目正如前文所述,白板编程是一•种很启效的技术面试方式,但这是建立在有效的编程题目的基础之上:如果编程题目过难,那么血试很可能会陷入『大眼瞪小眼』的境地;如果编程题目过于简单(或者面试者巧过题H),那么面试者无需思考就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。