① 如何辨别一个程序员水平的高低呢
有的时候单纯靠一个面试很难辨别一个程序员的水平是什么样的。原因很简单,因为很多面试题在网上都有,如果刻意准备那么一般都能回答的不错。所以想辨别一个程序员的水平需要一定的方法。
上述几方面我们称为应能力,还有一些软能力也是非常重要的,比如责任心,对技术的态度,学习能力等等。当然,这些就更难考量了,本文暂不介绍。
如果上述几方面都比较不错,那么这个程序员的水平应该是不错的。即使对目前的工作的知识储备可能还有欠缺,但经过一段时间后必然可以
② 《怎样识别水货程序员》说的是真的吗
作者的分析方法很正确,我面试别人时就经常使用这种方法,虽然识别成水货后不能百分百确定这是一个水货程序员,但可以保证能通过这样的程序员基本靠谱,即使他们能力不足,也很容易培养起来。
虽然真的大牛,出书的很少,但还是有部分大牛会出书,作为大牛的出版物,有很多初级错误,这个也是很正常的,一方面是他们没时间,更重要的是他们很多东西也真的不懂,但出个编程书要求把东西写全,不能只写自己擅长的那部分,他们可能也是去其它书上抄的。
③ 来聊聊怎样辨别一个程序员水平的高低
看头发。热爱技术的人,会不自觉的熬夜,不解决某个问题誓不罢休。
④ 对程序员有天生的好感,怎么样才能认识程序员
程序员都是闷骚型的, 想认识程序员太容易了,只需要在几个知名的软件论坛下问几个简单的软件问题,好为人师的程序员就会主动来给你解答了,你只需要装作不明白, 让他们卖弄自己的知识 ,你就受欢迎了。 虽然我这里说程序员闷骚,好为人师,但是实际上程序员大多数都是很nice的人,专一 , 工资高,不乱花钱,而且聪明,祝你早日找到一个靠谱的程序员(男友)朋友!为什么我这么了解,因为我也是一个程序员,哈哈,如果回答对你有帮助,就关注共众号:暖暖故事汇,毕竟这里面所写的美好的故事,都是程序员最喜欢的故事,因为他们的世界就是干净而单纯的!
⑤ 人群中如何一眼认出资深程序员
程序员其实离我们并不遥远,很多时候就在我们的身边,只不过我们不能够一眼认出他们而已。因为他们在工作之余,也和我们普通人一样,穿着同样的衣服,与路人毫无区别。但就我在互联网公司的观察来看,如果我们想要在人群中,一眼便认出程序员,可以通过以下几种方法:
程序员很多时候因为项目进度,会没日没夜的加班,而且长期的写程序,也会加速他们脑细胞的死亡。就我身边的程序员同学来讲,就有很多拥有少白头的情况。
他们平均每个月都需要去理发店一次,将自己的头发染成黑色,以免影响到自己年轻、帅气的形象。
以上三点就是我个人对于程序员的区别方法,这个方法也不能够很好地分辨程序员。因为现在的程序员,也非常的潮流,而且完全颠覆了我们对于传统程序员的印象。
⑥ 作为一名程序员,应该如何看待AI
程序员以及其他类型的IT工作无疑是当前最热门的工作。然而,这种趋势可能不会一直持续下去。人工智能的发展可能会打破这一格局。
美国橡树岭国家实验室的一些专家预测,到2040年,AI技术将会强大到足以替代程序员,AI编写软件将比人类程序员更好、更快。换句话说,软件编写的软件比人类编写的更好。
但不会完全替代。在不久的将来,AI和人类程序员将在编程中扮演互补的角色。AI的工作可能是处理重复性的、耗时的任务,这些任务需要机器优异的精确性。机器可以避免由于人为因素而产生的语法错误或设计错误。例如,AI可以提供帮助的一种方式是自动完成功能,程序员只编写一小部分代码,然后AI识别程序员的意图,并完成剩下的代码,从而为人类节省大量的工作。
希望可以帮到你,谢谢!
⑦ 如何辨别一个程序员水平的高低
java">辨别一个程序员的水平唯一的办法就是看产出质量。
关键字:普通程序员
——————————————无耻割————————————————————
算法和数据结构都是锦上添花,并非是雪中送炭。而一个程序员的水准大致上是可以通过之前的代码质量估算出来的。【如果你可以获得此程序员的真实编写的代码,比如原创的Github】。
举个栗子:下面是我最近在单位一个同事写的代码,Java语言
(Stringstr,Integergrades){
Stringproportion=str;
for(inti=1;i<grades;i++){
Stringst=proportion.substring(proportion.lastIndexOf(",")+1);
if(st.equals(""))
returnfalse;
proportion=proportion.substring(0,proportion.lastIndexOf(","));
}
if(proportion.equals(""))
returnfalse;
str=str.replace(".","");
str=str.replace(",","");
for(inti=str.length();--i>=0;){
intchr=str.charAt(i);
if(chr<48||chr>57)
returnfalse;
}
returntrue;
}
大致上的功能就是将1,2,6.2,4,1的字符串判断每一‘,’内是数字,而且长度符合规定
这样的代码看上第一眼就觉得非常的丑陋。所以在我的要求之下,进行了一次重构。
(Stringstr,intgrades){
String[]proportions=str.split(",");
if(proportions.length!=grades){
returnfalse;
}
for(Strings:proportions){
if(!NumberUtils.isNumber(s)){
returnfalse;
}
}
returntrue;
}
这里看上去差不多就Ok。这样的代码其实也并没有用到什么数据结构和算法,就是很简单的字符串处理。
实际情况:在我们写的绝大多数的代码里面,大部分属于业务逻辑,极少部分的代码需要使用到算法和数据结构,在这样的情况下,我们能使用的到的技能最为关键的是让代码如何更加合理。而让代码更加优秀的方式是通过千锤百炼的重构,而重构是极大的考验一个程序员耐心和能力的东西。
—————————————————————————————————————
质量的范围广泛,我从下面几个小方面聊聊。
出货能力:如果一个程序,算法再精妙,不能出货都是扯淡,我看过某某大神,算法溜得很,但是一个人完全做不到按照工程需要把事情给做完。
优化能力:并没有一个程序是一步到位的,一个工程的交出去可运行了,那才是第一步,很多时候随着业务的增大,对性能的要求越来越高,有一定对于代码优化的能力也是比较重要的。
调错能力:项目越大,遇见的Bug也就是越离奇,这个时候需要强大的Debug能力,找出那个最为关键的错误点,甚至于追溯底层框架的源码。
技术掌控:你项目能用Spring,Hibernate等等框架,但是有没有想过,这些技术你真的可以掌控么,如果有一天你的框架版本需要升级,真的做得到么?甚至于从Hibernate转为MyBatis。
算法和数据结构是影响到一些核心区的问题,但是其他的一些技能,比如面向对象的架构设计,代码的低耦合,那都是对整个项目有着直观改善的技能。并非是贬低算法,而在实际工作中,有太多比算法更重要的问题了。
最后补充一点吧:从善如登从恶如崩,毋以恶小而为之,此古人诚不欺我
⑧ 有哪些话一听就知道一个程序员是个水货
其实如果要严格说起来,工作经验少于一年半的程序员基本上可以算是“假”的程序员。这里的“假”可以这样来理解。
你的编程能力只有复制粘贴的水准
刚工作的程序员大致可以分为两类人:1 高校毕业;2 培训班出身。对于第一类的人来说,在读书期间老师和学校教的内容都是基础内容,而且要学的内容非常的多。但学校只让你学广,并没有让学生专研一门学科。毕竟学校并不能保证每个学生对某个方向一定感兴趣,只能把基础知识教给学生。让学生自己去选择自己感兴趣的方向,自己自学。所以在校期间对于大部分学生来说,实战能力基本为零,都是像刚重生在新手村,无知茫然,这也是许多企业爱招应届生的原因。开始工作,基本只能靠谷歌、靠网络上网找代码,复制粘贴。这段时间就比谁找代码能力强了。而对于培训的人来说更是如此。不要看你在培训期间学习了非常多的编程知识,好像做了非常多的练习,甚至还自己写了一个实战项目。但这些都是在短时间内,靠着培训老师手把手带你们写的。你只管跟着老师走就好,不懂的问下老师就行。你根本就没有过自己的思考,就只懂:好!今天老师叫我们写这个代码!我们就写!换个角度来看,培训机构就像富士康工厂一样,批量制造编程机器,没有自己的思维。
想要摆脱“假”程序员的身份,你只有努力提升自己的编程水平,让自己有更好的能力。在工作上能靠自己的实力,去完成分配的任务。你只有这样才能提升,才能突破薪水的瓶颈,达到更高的层次。
⑨ 什么是程序员什么是代码
程序员所写的代码,是为某一特定程序或某一个应用程序所制定的编码和内部测试的组织实施,使此应用或程序应能够在程序员编写的代码中,实现各种功能。程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。代码又臭又长
我见过最长的方法是5000多行,那段代码没人敢动,只敢往下加 if else,每次需要改这段代码的开发都战战兢兢,生怕出现什么莫名其妙的bug。java 可是一门面向对象的语言,一个方法里面有5000多行可以说是很可恶的事情了。我想一开始代码长度可能没这么夸张,是什么导致这种结果的?一个是当初写这段代码的人本身写的是直来直去的方法,一堆if else ;后面迭代的开发,面对这么长的代码瞬间失去了从头读到尾的耐心,直接继续在后面加 if else 迭代,最后这个方法就变成了一个缝合怪一样的玩意。
好的 sql 可以很大程度上简化代码的复杂程度,但是太过复杂sql 本身就会给后来的开发人员造成阅读困难,结果又是变成一条无人敢动的祖传代码,我想这应该是不少公司极度抵制存储过程的原因之一。当然不少银行应用开发还是大量使用存储过程,存储过程有用武之地的,但是一个又臭又长的存储过程就等着变成祖传代码吧。当年我见到一个60多个join的sql,看到第一眼就惊为天人从此难以忘怀,当然那段sql也成了没人敢去动的代码了。
代码逻辑不明
代码逻辑不明所以是我们开发很容易去犯的毛病,是一个不致命却烦人的毛病。在代码上的体现是,逻辑判断写的比较反人类各种双重否定是肯定,不把你绕晕不罢休。或者是写起代码来东一榔头西一棒槌,让人不知道你想干嘛。导致这个的原因有可能是开发人员在需求理解上出现偏差,做到后面发现不对劲,再回去改又不大可能了,只能硬着头皮往下写,结果就是代码弯弯绕绕;还有很重要的锅是在产品经理,任意变更需求,想一出是一出,开发人员无奈只能跟着想一出写一出。还用可能是开发人员方法或者类命名太艺术了,什么四川方言拼音这种没有十年脑血栓想不出的命名咱就不说了。就说那种国产凌凌漆式的无厘头命名——这看上去是个刮胡刀实际上是个吹风机,就这种不知道让人说什么好。
规划代码的核心思想
吐槽了一堆代码规范问题,接下来我们说说如何去规范我们的代码以及如何做到就算开发人员更换了,或者项目转手给他人了,仍然可以让后面的开发可以无碍的去阅读代码修改代码。当然各个公司/团队都有自己的一套代码规范,比如项目的结构、代码命名风格、代码格式等等。不同团队有不同的风格,但核心思想是大同小异的。接下来我就我个人的开发经验来分享一下一些代码规范的思想。
⑩ 如何确定自己是否适合做程序员
你老婆对你说:“老公,晚上回来买一个西瓜,如果看到西红柿,就买两个。”
如果你晚上买了一个西瓜和两个西红柿回来的话,说明你不适合当程序员。
如果你晚上只买了两个西瓜回来的话,说明你适合当程序员,但是
。。。
。。。
。。。
。。。
。。。
。。。
。。。
你应该不会有老婆。
=========华丽丽的分割线===========
你们这群程序员也是够了,一直在吵应该买几个西瓜,你们这么吊你们老婆知道吗?还有很多有经验的程序猿说应该反复确认用户需求的,你们确定你们都能找的到老婆?
我听到需求时心里运行的代码如下:
int 到底买点啥 ( ) {
// 所有把大括号放到这一行的人都去屎!
int 西瓜的数量 = 1;
if (看到了西红柿) {
// 注意大括号的位置
西瓜的数量 = 2;
}
return 西瓜的数量;
}
// 尼玛,为什么没有缩进!!!!
那么什么时候该买三个西瓜呢?我们重现一下场景:
你老婆对你说:“傻X,晚上回来买一个西瓜,如果看到西红柿,就再买两个。这次你要是还买两个西瓜回来,我就一辈子都不理你了!”
你仔细揣测了一下她的需求,发现了这个关键的“再”字!哈哈哈,这种战斗力只有5的渣题怎能难倒我这种top coder!你晚上开开心心地买了三个西瓜回来,跪碎了新买的HHKB pro,老婆还是摔门而去,拦都拦不住!
这次你运行的代码如下:
int 到底买点啥 ( ) {
// 所有把大括号放到这一行的人都去屎!
int 西瓜的数量 = 1;
if (看到了西红柿) {
// 注意大括号的位置
西瓜的数量 += 2;
}
return 西瓜的数量;
}
就让这三个西瓜陪你过下半辈子吧!!!!