相信好多程序员都有这样的经历,就是你在去一些技术公司面试的时候,面试官都会给你一张白纸,让你在上面写上一段代码,实现一个算法或者功能。
这时好多程序员都会有疑问,难道公司缺电脑么?为啥不直接拿出一台笔记本让我写代码呢,况且纸上写出来的代码又不能运行,面试官也看不到运行结果,在纸上写代码有什么意义呢?
好吧,写代码就写吧!反正跟在电脑上写是一样。
原本自信心爆棚的你突然间提笔忘字。在一张纸上反复涂涂画画,最后勉强的写出了一个功能。结果却漏洞百出。
面试过程相当不顺利,丢下笔,敷衍的结束了这场面试,回去对周围的朋友苦涩地说:这都什么时代了,还要求手写代码?这家公司落后了。
纵观当今的互联网巨头,似乎面试涉及手写代码的也是寥寥无几。当然,有时你还是无法逃避手写代码的命运。
据采访,一位参加过腾讯面试的程序员就遭遇到了手写代码。三面是视频面试,面试官出了一道算法题:打印三角螺旋数组,限时20分钟。
那么,为什么还是会有公司愿意测试手写代码呢?
其实很不管是机写代码还是手写代码,只要是写代码,都可以从中看出一个人的代码水平和习惯。而用纸写代码也具有非常大的意义,对于面试官考察一个人能力有着非常大的意义。
上机看不到代码删减的过程
如果上机的写代码的话,一个思路清晰的程序员与一个思路不清晰的程序员,只看结果的话最终都是一段可以运行的代码,你根本看不到他们写代码的过程,也许那个思路不清晰的程序员,写写删删几十次才把代码给写好了,而思路清晰的程序员一次就把代码写好了,这个过程是很难体现出来的。
而在纸上写就不一样了,写错了,只能用笔划掉再写,这样面试官从纸上就可以看出程序员的思路是否清晰,如果看了30行的代码,到处是划掉的痕迹就说明这个程序员思路不是很清晰,如果代码写的工工整整,没有划掉的痕迹,就说明这个程序员思路是相对清晰的。
考察对开发环境的依赖性
不知道大家有没有发现自己周围有样一种程序员,他们离开了开发工具就不会写代码了,换一个电脑环境也不会写代码了。
用纸写代码就是彻底颠覆开发环境,把你硬生生从开发环境中拉出来,这样对这种依赖开发环境的人来说,在这种情况下就相当于裸奔了,外加一个1000W灯泡照着,把你的缺点照的一览无余。
如果你是一个不依赖于开发环境的人在这种情况下就能从容发挥,潇潇沙沙,轻松自如的写好你的代码,从而赢取面试官的满意。
面试官更注重你的实现思路
这时候好多人会提到用纸写代码的缺点,用纸写代码没法运行,看不到结果是否正确呀,是的,的确是看不到结果。
告诉你吧,面试官并不关心你的结果,面试官更关心的是你的实现的思路,从你的代码中能看出你的实现过程和实现思路,即使你在写的代码中有一个单词拼写错误也不会影响面试官对你的印象。
不以结果论英雄,面试官更注重这其中的实现过程。
得程招聘,千万程序员求职新选择!本文由得程撰写。