别吐槽了!面试要求手写代码?你与顶级程序员的差别就在这

简介:

面试时,被要求手写代码,自信心爆棚的你,忽然有了提笔忘记的感觉,在一张纸上反复涂涂画画,勉强写出了一个功能,结果漏洞百出,面试过程相当不顺利,丢下笔,对接下来的面试敷衍了事,结束后,继而向周边的朋友大吐苦水:都什么年代了,还要求手写代码?这公司真落后。

然而,这就是你与大神级别程序员,最根本的差距。难道顶级程序员们,手写代码都特别厉害?随便一动笔就是行云流水,一泻千里?当然不!也许,他们根本没手写过代码。

c650b505ae8c482860946378f74fc6b1c05dd097

当你在倾听远古时代(七八十年代)程序员们的故事时,一定会有这么一则趣事:当年电脑还没有普及,如果想编程,行得通的就是跑网吧去,可上网费贵啊,只能买个笔记本,提起水笔,把代码写好,然后在到网吧里去输、去调试、运行,这样可以节省很多上机的费用。

一位大一学生坚信,手写代码可以帮助自己,更好的学习编程,于是踏上了这条不归路。起初,手写代码确实帮打下了坚实的基础,然而很快,他就被一个程序,十几页的代码调试给搞疯了,并开始四处求助,最终这名学生,放弃了手写代码的学习方式。

在物资匮乏的年代,手写代码几乎成了程序员们的必备技能,可那时,更多的是迫于无奈。手写代码,不失为初学者的一个好方法,可当你深入学习时,再想手写,一定会造成很大的麻烦。

96d644dbb6b0a93daa3b4da923a3382016507b57

纵观如今的互联网巨头们,似乎面试涉及手写代码的也是寥寥无几,google、BAT都是如此。当然,有时候还是逃脱不了手写代码的命运。

一名参加了腾讯面试的程序员,就遭遇的手写代码。三面是视频面试,面试官出了一道算法题:打印三角螺旋数组,限时20分钟。

那么,为什么有些公司,还是愿意考手写代码呢?

12b84743f4207b20e0a4fd490a2e3f6f59751867

不论机写还是手写,只要是写代码,都能看出一个人的代码水平和习惯。

变量名,传参数是不是很随意?随意取名是维护的噩梦;

接口、函数设计能力;

思路是否清晰,代码结构是否层次分明?

代码可读性;可维护性如何?

细节处理是否到位?

与面试官沟通的次数;

这些问题在机写时,很容易被掩盖,比如思路是否清晰,在电脑上,很轻易的就会被抹去,而手写不一样,如果你是一个思路不清晰,不严谨的人,那么就会在纸上,留下各种疤痕。

其实,每家公司让面试者手写代码,目的都略有不同,有些是想考察面试者写代码的习惯、有些是考察逻辑思维,有些是起到验证的目的,有些呢则是考察面试者的严谨性。

fa5580b39f1e8239adc54348dfdcbffef22de218

通常面试时,都会出现这么一个场景:

“你觉得这个代码的复杂度是多少?”

“好像是%#%¥&”

“为什么呢?”

“因为我产生了很多临时字符串”

“那你觉得还有优化的空间吗?”

“如果这般如此如此,再如此如此,应该可以干掉临时字符”

“好吧,那你把你的想法写出来看看。”

“……”

面对手写代码,顶级程序员或者未来的顶级程序员,和普通程序员的差别在于,普通程序员面试完,一直沉浸在无限的抱怨和谴责这家公司中,而顶级程序员,则已经开始行动了。


原文发布时间为:2018-10-11

本文来自云栖社区合作伙伴“w3cschool”,了解相关信息可以关注“w3cschool”。

相关文章
|
5月前
|
Java 编译器 C++
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
这篇文章解释了Java能够实现“一次编写,到处运行”的原因,主要归功于Java虚拟机(JVM),它能够在不同平台上将Java源代码编译成的字节码转换成对应平台的机器码,实现跨平台运行。
【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?
|
8月前
|
数据采集 数据挖掘 程序员
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
2024年Python最全资深程序员:学Python我推荐你用这几款编辑器,2024年最新面试考哪些
|
8月前
|
算法 前端开发 JavaScript
2024年Python最全资深程序员对于Python各个方向的面试经验分享,非常给力!,2024年最新2024金三银四面试季
2024年Python最全资深程序员对于Python各个方向的面试经验分享,非常给力!,2024年最新2024金三银四面试季
|
4月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
64 10
|
5月前
|
存储 缓存 Java
面试问Spring循环依赖?今天通过代码调试让你记住
该文章讨论了Spring框架中循环依赖的概念,并通过代码示例帮助读者理解这一概念。
面试问Spring循环依赖?今天通过代码调试让你记住
|
5月前
|
JavaScript 前端开发 小程序
CoderGuide 程序员前后端面试题库,打造全网最高质量题库
CoderGuide涵盖范围包括且不限于:前端面试题(Vue,React,JS,HTTP,HTML,CSS面试题等),后端面试题(Java,Python,Golang,PHP,Linux,Mysql面试题等),以及算法面试题,大厂面试题,高频面试题,校招面试题等,你想要的,这里都有!
78 2
|
5月前
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
7月前
|
前端开发 应用服务中间件 程序员
老程序员分享:Nginx相关面试题
老程序员分享:Nginx相关面试题
69 2
|
7月前
|
SQL JavaScript Java
java程序员面试题大全含答案(2018--2019)
java程序员面试题大全含答案(2018--2019)
|
8月前
|
前端开发 JavaScript 程序员
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试
2024年最新65% 的程序员竟都是自学成才?_为啥学技术都自学,2024年最新42岁程序员面试

热门文章

最新文章