世界超市世界超市

知乎热议:如何辨别一个程序员水平的高低?

程序员成了新时代下高新阶层的代表,也成了许多年轻人所梦想向往的职业,大量的程序员涌入到了各家互联网公司之中。但程序员也分三六九等,技术也有高低之分。如何辨别一个程序员水平的高低呢?聚集了一大批优秀程序员的知乎似乎给了一些参考答案。站内优秀回答者姚冬就给出了一个好主意:给他安排debug的任务,最好是崩溃问题或性能问题,观察他面对大量复杂的代码,在信息不全的的情况下,看他怎样一步步抽丝剥茧缩小范围,最终定位根本原因,并且给出一个不错的fix。如果能独立完成工作,那么以后必然成为高手。如果经过少量提醒点拨也能完成,以后会是个不错的程序员。如果需要不断提醒,只能按照我给的思路去反复测试调查,那么只能说是个踏实肯干的人,但天赋不高,可以委派些普通任务。如果以上皆非,我基本就放弃对他的治疗了。之所以选崩溃或性能问题,因为这种问题没什么玄学,行就行、不行就不行,结果好验证。这种问题很考察基本功,可能对操作系统,语言,编译链接器,内存,进线程,网络,存储,图形学都要有深刻理解,也很考验逻辑推理能力,在一堆证据中构建合理的证据链推导出最终结果,懂得大胆假设小心求证的工作方法,也考察耐心和毅力,有的问题需要构建复杂的测试场景,还要反复多次测试才能重现,考察沟通能力,复杂的bug可能涉及多个部门开发组,可能还要对最终用户做访谈。

上一条:知乎盐 Club · Live 实验室:来呀,快活呀~

相关推荐