有的时候单纯靠一个面试很难辨别一个程序员的水平是什么样的。原因很简单,因为很多面试题在网上都有,如果刻意准备那么一般都能回答的不错。所以想辨别一个程序员的水平需要一定的方法。
首先需要确定的是程序员的能力体现在哪些方面。本号以为主要体现在如下几个方面:
计算机专业知识的储备逻辑思维能力解决问题的能力因此,我们在面试过程中主要从上面几个方面进行旁敲侧击,而不是简单的问几个具体的技术问题。
计算机专业知识
计算机的专业知识很广,很难全面掌握。这里我们主要对其从事的子领域进行考察,主要考察其擅长领域专业知识的掌握程度。如果在这个领域掌握的深度可以,那说明他是没问题。欠缺的部分他也应该能快速补上来。
我们举一个简单的例子。比如对于网络开发相关的知识。我们可以由浅入深的来进行提问。大概可以问如下几个问题:
是否进行过网络开发,网络开发常用的API有哪些TCP协议与这些API的关系是什么?TCP协议是如何保证数据的可靠性的?除了网络问题如何解决?如果抓取网络数据包?如果面试者能够不仅知其然,还能知其所以然,那么这个人的水平应该还是可以的。当然,这里只是一个例子。由于TCP的问题可能被问烂了,所以很多人可能提前有准备。这个还需要根据领域自己设计问题。
逻辑思维能力
对于大型复杂系统的开发没有比较好的逻辑思维能力显然是不行的。这方面的能力可以通过让面试者设计一个小型的系统来考察。
解决问题的能力
程序天生就是来解决问题,首先是解决业务问题。比如开发电商系统,其实就是解决如何在线上进行销售的问题;其次是解决系统问题,也就是系统出了Bug后,解决系统出现的Bug。
解决问题的能力通常可以让面试者描述一个自己之前曾经解决的问题来考察。当然,面试者通常可能会有所准备,但面试官需要根据面试者的描述进行深挖,找到问题的关键,并对关键点进行深入的提问,确保能考察出其真正的能力。
上述几方面我们称为应能力,还有一些软能力也是非常重要的,比如责任心,对技术的态度,学习能力等等。当然,这些就更难考量了,本文暂不介绍。
如果上述几方面都比较不错,那么这个程序员的水平应该是不错的。即使对目前的工作的知识储备可能还有欠缺,但经过一段时间后必然可以
其实,评论一个程序员技术的高低,不是看他会多少技术,又懂多少技术。参加过什么大型的项目,也不是看他有没有自己的博客,github有多少star。
而是看他解决问题,定位问题的能力。这个很重要,真的很重要。
技术可以很快上手使用,但是解决问题定位问题的能力不是轻易就行的。特别是在高压下解决问题的能力。
下面是师姐为大家整理的一些建议:
解决问题
1代码的命名要规范。
代码是写给人看的好嘛!代码是写给人看的好嘛!代码是写给人看的好嘛!
headImg是什么鬼?我能以为是banner么,头部的,请原谅我蹩脚的中式英语!avatar这个呢、portrait这个呢?会不会更好些?英语不好就不能用好有道、google翻译么?还有用中文拼音命名的,亲,我们用的是英文做为脚本好么?你要用这样的,用易语言可好?!
疯了!
为什么要用框架?一个很重要的原因是命名规范,目录规范,结构规范,分层规范,有利于团队协作,不要本末倒置!
2架构和规划能力很重要,模块分层,解耦设计什么的,文件目录嵌几层?
这其中又跟命名的能力能搭上点关系。命名都命不好,目录结构怎么建?
url不要做的漂亮些吗?不考虑seo了?
你喜欢addGoods还是喜欢goodsAdd?
请你尊重点我的那些初高中英语语法好么?
3协助能力、可持续能力。
最好的程序代码是脱离其产生者的。
为自己程序处处救火的程序汪并不是一条好汪。
我记得一句话就是:别想着你的代码以后还有机会重构!
每次说,额,这里我后面会改的,会改的,但是可惜,现实情况是根本不会给你这个时间的。
代码写出来,一是要爽了自己,二是也要爽了别人。
4debug的能力、总结能力、学习能力真的很重要,代码写出来真的花的时间不长,但擦屁股的时间比写代码的时间多多了!
出了问题不记录,写个博文都好啊,我可没那么强大的记忆力,所以最讨厌考记忆力。
5不要一贯的使用各种算法,秀算法的你们够了,要写去写底层,应用的场景比较多。
应用层面的程序,算法的应用不是特别多,大部分都是业务代码。以这个作为评价标准的,真心然并卵。
根据做项目的多少判断程序员的水准合理吗?为什么呢?程序员的水平,不是通过语言或外部表现就能看到的,不是看有多少技术,参与了多少项目,他会写多少博客,而是看他在实际业务场景中解决问题的能力,尤其是面对一些特殊复杂的问题,或在高强度和高压工作条件下解决问题的能力和态度。能够编写满足需求的代码不再是评判程序员的标准。
代码的编写需要同时满足业务需求和软件的后续维护,用简单的英语来说,这对您和其他人来说都是愉快的。一个好的程序员会致力于编写更简单、更高效、可读性更强、可扩展的程序代码。在日常工作中,程序员需要了解各种业务需求,这就要求程序员具备一定的逻辑思维能力。可以说,逻辑思维是程序员的灵魂,因为每一行代码都是程序员逻辑的体现。这些是程序员每天都要面对的事情。但不同的程序员,在解决问题的方法、效率、质量等方面却有所不同。
一个经验丰富的程序员能够承受来自各个方面的压力,在复杂条件下找到核心问题,通过深入分析找到问题的原因,并迅速处理。经过及时的回顾和总结,减少出现类似问题的概率。随着互联网的发展,越来越多的人涌向程序员的轨道,竞争越来越激烈,新技术层出不穷,更新和迭代速度很快,程序员使用的语言、框架和模式将发生巨大的变化。
如果你不主动学习,你可能很快就会过时。在日常工作中,程序员往往希望将业务、产品、运营,甚至老板作为对接交换需求和技术项目来连接和配合内部交换等,而流畅的沟通可以使事情推得更加顺畅高效,沟通或信息不对称,可能会导致项目启动时出现相反的情况(不要相信,这种事情真的发生过)。判断一个程序员的水平,核心是他解决问题的能力,而解决问题的能力需要坚实的基础支撑,要综合代码质量、项目经验、框架能力、逻辑思维等方面,而不仅仅是一个方面。
1 程序员不懂基础知识
一个程序员如果连最基本的语法都不会写
2 程序员不会调试代码
调试是程序员必备的技能之一,它可以帮助程序员找到代码中的错误。但有些程序员可能连调试器都不会用,或者根本不知道该如何开始调试。
3 程序员没有快速查找问题的能力
在编写代码的过程中,程序员会遇到各种各样的问题,这时能否快速地查找解决方案就显得特别重要。
4 程序员没有良好的代码风格
在编写代码的过程中,良好的代码风格可以使代码更易于维护。但有些程序员可能完全没有代码风格
对于多数程序员而言,月薪达到8000以上的水平不是一个难事,但是达到20K以上的月薪其实很难。
很多人会觉得it行业特别赚钱,对于已经参加工作的小伙伴来说,it行业其实是一个不错的赚钱选择,但这并不意味着每一个程序员都能够赚到足够多的钱,月薪高的人其实只是少数。
普通程序员的工资在8000左右。
我们这里提到的工资主要集中在一二线城市,因为一二线城市的工作机会很多,所以程序员的工资也比较高,一般可以维持在8000元左右,对于那些进入到知名互联网企业的人来说,他们的工资可以到达15K左右,有些人甚至可以到达20K以上。现实生活中,并不是每一个程序员都在知名互联网企业上班,在私企上班的程序员的工资只能维持基本温饱。
独立处理项目的程序员工资可以达达20K以上。
对于那些本专业的应届毕业生而言,虽然他们在学校的成绩不一定差,但是学校的知识并不能够完全用在实际工作上,所以他们要经过漫长的实习期和学习期。当一个人可以独立处理项目的时候,工资也会变得越来越高,程序员的工资可以达到20K以上。
程序员的工资跟企业的效益高度相关。
换一句话说,一个程序员的工资不仅跟公司的效益有关,也跟公司所在的部门有关,如果你所处的部门效益非常好,那么程序员的工资就会非常高,如果你们公司的效益很好,但是部门的效益不好,这个时候工资也不会高到哪里去。从个人的角度来看,如何提高自己的技术实力,才是提高你薪水的不二法门。
毕竟对于程序员这个岗位来说,真本事才是你吃饭的饭碗。
以上就是关于如何辨别一个程序员水平的高低呢全部的内容,包括:如何辨别一个程序员水平的高低呢、如何看出一个程序员的技术能力和水平、根据做项目的多少判断程序员的水准合理吗为什么呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)