作为初入职场的一名程序员,如果在面试中你被要求手写代码的话你能写出来吗,你可能刚拿起笔却不知道该怎么办了,然后在纸上反反复复修改,最后勉强完成了任务。面试过程相当不顺利,丢下笔,敷衍的结束了这场面试,回去对周围的朋友苦涩地说:这都什么时代了,还要求手写代码?
那么那些大牛程序员会手写代码吗?他们手写的代码非常厉害?随便一动笔就是行云流水,一泻千里?不不不!也许,他们根本就没手写过代码。
最初一代的程序员那时候电脑还没普及的时候是靠什么学编程的呢,如果你想学编程的话,但是电脑还没普及,只能跑到网吧去敲代码,但是自己又没钱, 就只能买个本子,拿起水笔,把代码写好,最后再到网吧里去输入、调试、运行,这样可以节省很多上网的费用。
在物资匮乏的年代,手写代码几乎成了程序员的必备技能,可那时候的人,更多的是迫于无奈才手写的代码,这是初学者学习的一个好方法,可当你深入学习时,再想手写,一定会造成很大的麻烦。
如果有想学习java的程序员,可来我们的java学习扣qun:72340,3928免费送java的视频教程噢!小编是一名5年java开发经验的全栈工程师,整理了一份适合18年学习的java干货,送给每一位想学的小伙伴,欢迎大家一起学习哦。
纵观当今的互联网巨头,似乎面试涉及手写代码的也是寥寥无几。当然,有时你还是无法逃避手写代码的命运。据采访,一位参加过腾讯面试的程序员就遭遇到了手写代码。三面是视频面试,面试官出了一道算法题:打印三角螺旋数组,限时20分钟。
那么,为什么还是会有公司愿意测试手写代码呢?不管是机写代码还是手写代码,只要是写代码,都可以从中看出一个人的代码水平和习惯。
变量名,传参数是不是很随意?随意取名是维护的噩梦;
接口、函数设计能力;
界面、功能设计能力;
代码结构是否层次分明,思路是否清晰,?
代码可读性;可维护性如何?
细节处理是否到位?
与面试官沟通的次数;
这些问题在机写时,就很容易被掩盖。
比如思路是否清晰,在电脑上,很轻易的就会被抹去,而手写就不一样了,如果你的思路不够清晰,不够严谨,那么就会在纸上看到各种重复书写的疤痕。
其实,每家公司让面试者手写代码,目的都略有不同,有些是想考察面试者的编码习惯、有些则是考察面试者逻辑思维是否清晰,有些是起到验证的目的,有些呢则是考察面试者的严谨性。
通常面试的时候,都会出现这么一个情景:
“你觉得这个代码的复杂度是多少?”
“好像是%#%¥&”
“为什么呢?”
“因为我产生了很多临时字符串”
“那你觉得还有优化的空间吗?”
“如果这般如此如此,再如此如此,应该可以干掉临时字符”
“好吧,那你把你的想法写出来看看。”
“……”