程序员面试时手写代码,竟有如此深意
来源:
奇酷教育 发表于:
在面试这一重要环节里,有时个别公司会提出要求手写代码这一看似奇葩的要求,其实手写代码是一个很重要面试过程,今天奇酷教育就为大家
在面试这一重要环节里,有时个别公司会提出要求手写代码这一看似“奇葩”的要求,其实手写代码是一个很重要面试过程,今天奇酷教育就为大家具体分析一下。
在写的过程中,至少能看出这些问题:
1.取名字,随意的取名是维护的噩梦。
2.是解决具体问题,还是能解决一类问题,别的同事如何使用你的代码。
3.思路是否清晰,代码结构是否层次分明。提笔之前,想清楚自己要干什么。
4.代码可读性,可维护性。
5.边界问题,细节处理是否合理。直接关系到这个人的bug率。
6.打算如何测试自己的代码。对代码的责任心。
7.写代码过程中和面试官的沟通次数。这个人的沟通能力和沟通欲望。
再来对比一下机写和手写的不同:
机写的好处:
1.语法高亮,自动排版,文字字体一致
2.自动补全,头文件自动包含
3.代码可随意删改重写
4.可以通过编译来查错
手写代码可能暴露出的问题:
1.没有自动排版。
2.字写得丑。
3.头文件包含问题
4.手写的代码不可随意删改,每划掉一块,纸面上都是一个“疤痕”,有代码洁癖的人是无法忍受满纸疤痕的,这要求写代码的思路清晰。“疤痕”的数量直接能看出问题。
5.手写无法编译查错。某些手误还可容忍,语法错误和逻辑错误就是大问题了。
如果平时英语不过关,靠编辑器的自动补全,那么手写代码肯定立即阵亡
google之前也放出了官方的面试视频,也有现在考写代码的过程,但别人怎么考,并不是用的纸笔,而是请面试者打开一个协同工作的窗口,两个人开同一个页面,你改了什么,对方那边是实时反应的,这意味着你的面试官可以在另一端看到你怎么样完成了这段代码,你先写了哪个变量,后写了哪个方法,中途觉得哪里不对经,做了怎样的删除,做了怎样的修改……从开始到最终完成,面试官一清二楚,这才是面试过程中手写代码的意义所在。