㈠ 如何辨别一个程序员水平的高低
1.自己介绍项目,看对项目的提炼总结能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技术深度;
3.设计模式提问,看有没有学习方法;
4.语法基础问题,多线,分布,安全等问题,看知识面广度;
5.智力问题,看反应能力,分析问题思路等
上述五步基本可知是否是一个好程序猿
计科专业从事软件开发十几年了,主要在浏览器内核领域研究的比较多,最近在研究服务器后台方向,辨别程序员水平高低主要看做出了什么产品,如同现在的程序员主要是项目经验,简历上写的一堆项目经验都是面试的时候主要提及的问题。经常在面试中会问两个关键点:一个是做过什么项目;一个是在项目组中承担什么职务,毕竟参与过和做的多少程度是不一样的,这些都是可以通过一些具体的细节检测出来,问题越具体越是容易看出水准,具体的东西不是能够编造出来的。
有很多技术公司直接不通过笔试,仅仅通过简单的面试就确定工资水准了,最简单的测试程序员水平的直接用笔试的方式,笔试可以把一些细节量化,尽量的细节化也是能测试出程序员基本功的,但这种基本用来测试初级程序员的,很多高级的程序员看到有笔试直接就抬腿走人了,因为有些程序员在一个方向做的时间太长了,很多基本功都忘得差不多了,所以笔试可能不过关,现实中很多程序员笔试不过关,面试还可以,也一样可以做项目说的就是这类人,起码这算是非常优秀的程序员。
有很多公司采用谷歌的方式,直接采用上机写代码的方式检验程序员水平,这种方式比较直接,但在现实中可能消耗的时间以及面试官的精力,目前只有极少数的公司用这种方式,国外的公司用这种方式比较多,这种看基本功非常有效。通过代码可以看到编码习惯以及算法的设计上,都能直接看的出来。
普通的程序员直接看项目的经验,高级的直接看做过的产品,特别是产品主要设计人员,这就是程序员内心的自豪感,毕竟作为一个程序员起码要有自己设计开发的产品,也算是不白做一个程序员,在程序员的职业经历中如果能经历过一个产品从开始设计的初稿到最后推向市场,如果是完整的经历,将是一种巨大的财富,只要经历过一次都会对产品设计有一个比较层次的认识,这种能力需要靠直接的面试语言表达来展示出来,谈下对产品的认识以及产品稳定性性能等方面的总结,能到这个层面起码是高级软件工程师的级别。
当然有些程序员内在的东西不是靠语言或者写代码看出来的,因为一个优秀的程序员不仅仅是代码能力以及框架能力,还有几个非常重要的能力
程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。
希望能够帮到你。
自认为不是一个好的面试官,因为我认为在这么短的时间内,准确地衡量出来程序员水平的高低是有比较大的难度的,并且我有多次看走眼的时候,面试的时候觉得能力还不错,但是入职工作了一段时间之后,编程能力不忍直视。
工作之后接触一段时间,我会从这么几个方面观察他们,以判断技术能力的高低和发展潜力。
能不能出活儿、能不能debug
能不能把开发任务按时按质量地完成,当然是最主要的衡量标准了:
解决问题的方法
在开发过程中,难免会遇到没有见过的问题,有些程序员遇到问题无从下手,而优秀的程序员,自有一套解决问题的方法。
分析问题、流程设计的思路
有人会认为,程序员的主要工作就是敲代码,上班大部分时候都是在敲代码,其实并不是这样:
总结问题和改进问题的能力
好的程序员,相同的问题不会犯第二次,差的程序员,总会在一个问题上栽跟头:
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
不请自来,一介码农路过,留下些看法。
程序员主要是有四种综合能力,也就是debug 能力、 performance分析、 保护性编程和 投入产出比。
仅仅独立完成日后必然成高手?在这里不能说一棒子打死,至少对于很多人来说,能独立完成是没什么问题的,有的是因为对业务熟悉,有的是真的基础扎实。但怎么说呢,程序员和浏览器打交道是最多的,现在这个互联网时代,遇到的大部分问题网络都是可以解决的,也就是普通程序员 + 网络 = 超级程序员。 但很多人也没明白具体的原理,甚至都是这个项目抄抄那个项目抄抄的,久而久之虽然解决了平时的业务,但进步的空间却很少,甚至止步不前,写出来的代码也可能存在很多坑,所以,仅仅能独立完成任务的话,离高手还有比较远的一段距离。
如何辨别高手程序员?也就是结合我们一开始列举的那四个能力进行判断。不同级别的程序员,在那综合能力面前,强弱也是不同的。例如在奔溃的或者其他性能调优问题上,即使是面对大量复杂的代码,在信息不全的时候也会一步步的分析,抽丝剥茧缩小范围,最终定位根本原因
,并且最终给出一个好的方案。
如何成为高手程序员?
当然还有看他摘了帽子是否秃顶这样的笑话,就再不赘述了。
第一阶段(黄金):会用编程语言实现需求,比如现在的业务系统,都会找一些会搬代码的人来拼工作量,也就是能自己独立基于搭好的框架实现crud常规操作。
第二阶段(铂金):除了crud,还会有一些自己踩过坑的经验,知道如何处理一些常见问题,或者可以基于搜索引擎快速解决一些异常情况。
第三阶段(钻石):能解决一些疑难杂症和会通过debug部分源码类库查看到这些疑难杂症是如何引发的,并通过编码解决这些问题,还能进行一些局部的性能优化,类似某个系统接口缓慢可以单独去优化。
第四阶段(星耀):会基于整个系统进行设计和规划,根据业务特性选择合适的框架,从源头控制开发遇到问题的频率,可以自主的搭建框架并完善机制,了解各个组件工作原理。
第五阶段(王者):小说里面总是说练武功的永远比不过创造武功的,同样的道理,用框架的也往往不如写框架的,所以写框架的这类人单独分层。
第六阶段(荣耀):其实这个阶段不应该列入进来,因为这类人往往不编码的,只是给出思想;像Hadoop这种框架就是基于人家发表的一些论文(bigdata)进行编码实现的,这类人注重的是思想和算法,区块链,大数据,云计算等等概念的创造和理论的支撑是这类人提出来的,这些人才是真正影响行业走向的人。
程序员的水平高低,不是靠语言或外在表现就能看出来的,不是看他会多少技术、参加过多少项目、写了多少博客,而是看他在实际业务场景中解决问题的能力,尤其是面对一些特别复杂的问题,或在高强度、高压工作状态下解决问题的能力与态度。
技术可以通过学习掌握,但是解决问题、定位问题的能力却不是一蹴而就。大家可能会说,“解决问题的能力”这个太宽泛了吧,可以更具象化吗,有具体的测量方法吗?简单整理了以下几点供参考。
会写出满足需求的代码,早就不是评判程序员水平的标准了。代码编写既要满足业务需求,同时还要考虑后续的软件维护,说得通俗些,既要自己爽,也要别人爽。一个优秀的程序员,会致力于写出更简单、更效率、可读性强、扩展性强的程序代码。
程序员在日常工作中,需要理解各式各样的业务需求,所以这就需要程序员具备一定的逻辑思维能力。可以说,逻辑思维是程序员的灵魂,因为每一行代码都是程序员逻辑的体现。
项目着急上线,发布时出现问题?
业务高峰时段,系统宕机了?
业务催、运营催、用户催、老板催!
各种形态的bug,各种着急的心情,背后无数支眼睛盯得内心慌慌......
这些都是一位合格程序员所需要面对的日常。不同的程序员,在解决问题的方法、效率、质量等方面,都各有千秋。一个经验丰富的程序员,能够扛住各方压力,在复杂条件下找到核心问题,通过抽丝剥茧的分析来找到产生问题的原因,并快速进行应对处理,事后及时复盘总结,减少同类问题出现的概率。
随之互联网的发展,越来越多的人涌入程序员这个赛道,竞争日益激烈,加之新技术层出不穷,更新迭代快,程序员所使用的语言、框架、模式都会发生天翻地覆的变化。如果不主动学习,你很快就会被落伍淘汰。
这种其实在面试过程中能体现出来,沟通主要是技术沟通,以及和客户之间的沟通,所有技术都不是闭门造车就能搞定的,沟通能让事情推进起来更加顺畅,包括和产品经理之间的流畅的沟通也显得非常重要。程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。
线上出bug了,第一时间响应、处理;
团队项目进度紧张、人手紧缺,主动补位;
又或者,在项目推进过程中如果只是关心自己模块内容,对于整个项目置之不理,只守着自己的一亩三分地。
随着时间轴的拉长,你会发现,有此f技术能力不是最好的,甚至不如你的小伙伴,最后做到了技术主管或经理、甚至更高职位,这里面除了技术实力,还有一个叫“责任心”的东西。
结束语
判断一个程序员的水平高低,核心是其解决问题的能力,而解决问题的能力养成,需要扎实的底层基础来支撑,要综合其代码质量、项目经验、框架能力、逻辑思维等等多方面,不能单看某一方面。
而对于1-6岁的程序员来说,想要成为一个高级程序员,变得越来越优秀,唯有持之以恒去学习、积累、实践、修炼。
----end----
一:50岁的时候,头发还是黑色的浓密的。
二:赚到的钱能保证家人快乐的生活。
三:当公司不要你的时候能成功转型。
其他的例如编程经验、写代码厉害啊什么的根本不值一提。
这就是程序员的面试嘛 :-)
(1)是否能熟练使用所用编程语言的主要功能;
(2)是否知道用合适的数据结构解决问题;
(3)是否知道基本的算法,并且用这些算法解决问题;
(4)只看少量代码的话,从变量命名和程序结构一般能够判断是否是新手;
(5)给出具体问题,能够用程序解决,能考虑到所有的边界条件;
(6)考虑程序的可扩展性,可维护性;
再往高一点走,就需要
(7)面对模糊的问题能够分析并且找到细节和具体的需求;
(8)知道利用已有的库,架构和工具等来解决新的问题,而不是什么都自己实现;
(9)能发现并改进已有程序中的瓶颈;
(10)对整个大项目的程序架构有很清晰的了解,知道相互之间的依赖,以及知道为什么采用这样就架构;
(11)给一个大的项目,能够对整个项目的程序架构和组件进行合理的设计,考虑并行性,低延迟,大数据量等各种需求和应对方式。
带领团队已多年,项目数十个,对判别程序员水平的高低,我有自己的看法,欢迎大家一起交流。
1.代码质量。
优质的代码,首先是经得起考验。静态分析工具过一遍,无错误,无警告。当然警告部分需要人工重审,因为静态分析工具不一定完全正确。过了这一关,重要的还须过测试关,少Bug或无Bug的代码,才是好代码。优质的代码带有技术气质和艺术气质。阅读起来,有一种赏心悦目的快感,即工整美观,干净利落,又蕴含着理论常识,运用技巧,精准到位。
2.表达能力。
3.文档能力。
文档形式包括但不限于PPT,文字,图表,音视频。文档内容包括但不限于API说明,工具手册,项目事项,技术论述,陷阱总结,方案展示,指导手册。文档要求必须是满足公司或部门的规范和格式,否则五花八门的,不利于交流和传承。
以上3点,是我量化判断程序员水平的标准,仅供参考。相比水平,其实我更看重程序员的态度,执行力,时间观念,自学力等等,也是很重要的团队作战能力,也可以说是程序员水平的考量吧。
谢谢大家。
㈡ 滴滴程序员的100fintechstar是什么级别
滴滴程序员的100fintechstar是滴滴程序员的一个技能评价标准,它是一个非常高端的、全面的、专业的技能评价标准,洞漏它有5个级别,分别是:1级别,也就是基础初级纳扰烂程序员;2级别,也就是中级程序员;3级别,也就是高级程序员;4级别,也就是技术专家;5级别,也就是技术大师。这5个级别的评价标准是由滴滴程序员技术团队经过精心设计和调整,以更好地满足技术李贺人员的需求。从1级到5级,技能水平逐级提升,专业技能也越来越强,满足不同程序员的需求。
㈢ 如何成为一名合格的程序员
很多人想要成为程序员,在学习编程的过程中,面对各种bug和源源不断的问题,有时会对自己是否适合编程这一问题产生困扰。
作为一名教授全栈Web开发的教育工作者,我已经带领很多新手成为了程序员。好消息是,我发现没有任何人是不能学习编程的。我把它看作是一种基本的人类技能,就像阅读、写作和算术一样,任何人都可以做到。它是我们人类能力的一部分,只是需要学习。
在过去的几年的教学中,我目睹了不同的学生在学习过程中的斗争,以及在他们的挣扎中出现的一些共同问题。
下面的列表将帮助你了解你是否喜欢编程
1、缺乏好奇心
如果你对计算机是如何工作的缺乏好奇心,那么,作为一个程序员,你将永远不会成功。
学习的一个基本要求是对你所学的东西有积极的兴趣。如果你没有一个对技术好奇的头脑,你就没有精力去坚持学习要成为一个成功的程序员所需要的广博而深入的知识。相比之下,技术的世界就像一个巨大的海洋,里面充满了各种有趣的领域、相互联系的思想和各种可能,它们可以激发人们的想象力。想要潜入这片海洋并发现你所能发现的一切,需要内在的动力。
找到你的好奇心:问问你自己,编程是否真的让你感兴趣?如果没有兴趣,去找你感兴趣的东西,以节省时间和精力。但是如果你的答案是感兴趣,那么就强迫自郑袜己去发现一些你以前没有注意到的新事物,认识到浩瀚的技术海洋,再往下潜一点。
2、缺乏自主性
如果你不培养自己解决问题的能力,你就永远不会成为一个成功的程序员。
毫无疑问,要成为一个成功的开发人员,你必须对自己的学习能力充满信心。这实际上是一项基本的生活技能,如果你年满18岁,没有人有义务教你任何东西。这就是现实。当你想学习技术所需的技能时,首先要学会的是,在谷歌中输入你想要的任何东西并获取你需要的信息。除此之外,所有编程语言都有文档和规范,这些文档和规范对语言的工作方式解释的非常清楚,它们就像字典一样。作为一个程序员,最快速、最可靠的学习方法就是简单地阅读这些文档。
当你有问题的时候,在问别人答案和查阅官方文档之前,强迫自己先搜索一下,节省别人的时间。
3、面对问题缺乏毅力
如果你在遇到问题时轻易放弃,作为一个程序员,你将永远不会成功。
编程的本质是解决问题,这也是计算机产生的全部原因!每当你开始编写一个程序时,你总是会遇到一大堆问题。一旦你解决了一个问题,那么几乎总是有另一个问题在后面等着你。你在进步,但总是会有新的问题要面对。
这堆问题会让人望而生畏,令人感到沮丧。如果你觉得程序应该“能用就好”,那么你就没有精力坚持下去,因为问题还在继续出现,它们会一点一点地击溃你的情绪和决心。从字面上来说,你的工作就是找出程序为什么不能跑起来。
从我在授课上的经验来看,通常每个班都有一两个学生,和其他学生相比,他们似乎更容易遇到更多的问题——通常是非常随机和模糊的问题。我提醒学生,他们面对的问题越多,学习越深入、越彻底的可能性就越大。如果他们能通过这些问题获得深刻的理解,他们会很快发现他们变得更加自信了,因为他们面对和解决的问题比普通学生多。
你需要认识到,问题不仅仅只是问题,它实际上也是挑战。你所面临和克服的每一个挑战都能让你更深入地理解技术,更好地面对新的挑战,并迅速解决旧的挑战。
4、解决问题之后没有成就感
如果你在解决一个问题后没有兴奋感和成就感,作为一个程序员,你将永远不会成功。
与上一个问题相关的是,你成功地解决了一个问题,却缺乏“良好的感觉”。当修复bug和问题变成了一个永远不会结束的事情时,你会失去与克服问题的动力。
当你解决一个问题时,你需要的是多巴胺的释放。这类似于在电子游戏中完成了一个关卡,或者解决了一个像纵横字谜或数独这样的挑战。我们都知道,坚持通过一项挑战,然后最终赢得比赛,一般都会有成就感和兴奋感。但是如果你失去了感受这些快乐的能力,或者从一开始就没有真正有过这些感受,你将无法体验到编程带来的快乐。如果你把编程看作是一种磨砺,你只想尽可能容易地得到结果,那么你永远不会真正成为一个成功的程序员。
无论何时,当你解决了一个一直在努力解决的问题时,无论这个问题多么微小,你总是为你的成就感到骄傲。你需要休息一下,祝贺你自己完成了一项出色的工作,让成功的感觉渗透进你的心里,为你即将面临的下一个问题注入活力。
5、无法独立思考
如果你期望别人为你着想,并且主动看到你自己所在的处境喊纯激的细节,你将永远不会成为一个真正成功的裤脊程序员。
当你在学习新的东西时,很容易感到缺乏知识和经验,并没有自己的观点。主动做事或者说错话似乎是有风险的。对于错误,我们的内心都有一种恐惧感。当对错误的恐惧抑制了你的探索和好奇心时,你会扼杀开发真正知识、从经验中获得的知识和“失败”的能力。当你需要依靠“权威”的观点、一个受欢迎的博客、一个最佳实践或“教科书”的答案时,那么你就没有真正地整合编程的知识。你需要对什么有效,什么无效形成自己的观点。你需要理解为什么你认为你的解决方案有效,以及使用这个方案有什么好处。你需要建立一个微妙的视角,超越那些显而易见的东西。你需要能够“证实”你的立场。
为自己着想。通过你的经验和批判性思维技巧,发展出你自己的思想体系。做出合理的猜测,坚定立场,并愿意随着新信息的出现而改变立场。
6、僵化、狭隘、混乱的思维
如果你的思维僵化,并且难以保持代码的条理化,那么你将永远无法成为一名真正成功的程序员。
我有时在学生中看到两个极端。第一种是僵化和狭隘的思维方式。拥有这种态度的人拒绝帮助,尽管会有反馈,但不会有改变。他们看事情只从一个角度看,别人给的建议被忽略。
我看到的第二个极端是思维混乱。学生们似乎使事情变得更加复杂,他们的代码杂乱无章,难以理解。他们过度思考问题,写100行代码,而其中只有10行是有用的。
当这两种心态结合在一起时,结果就是一种用蛮力的方法去设计程序。我们需要的是回顾解决方案,重新评估它,放弃最初的方法,并重新组织方法。
无法看到其他可能性或无法反思反馈会抑制成长的能力。思维杂乱无章会减慢你的成长速度,阻止你看到那些原本显而易见的模式。你的工作质量也会下降。
自我反省。你需要退后一步,看看你是接触的事物的大局是什么样子的。你要怎样才能做得更好?你能做些什么让你的生活更轻松吗?你需要什么来帮助你?
7、需要“正确”的答案,而不是识别一系列“好”和“坏”的答案的方法
如果你认为编程的最终目标是找到正确的解决方案,而不是一系列解决方案,那么作为一个程序员,你将永远不会真正成功。
当开始学习技能或编程时,学生往往想知道他们所做的是否“正确”,而答案总是“视情况而定”。
计算机科学是一门评估权衡的科学。在不同的环境下,哪条路更好,这完全取决于所处的环境和目标。当你把编程看作是一个有正确答案或错误答案的测试时,你就失去了对全局的认识,放弃了你的创造力。任何答案都可以是“正确的”,前提是你能根据具体情况证明这一点。现实情况是,编程更像是写诗或写短篇小说(如果程序很大,则可能是小说)。在你的代码中可以看到一种美学和美丽,这些东西有时只有你和其他程序员能够识别出来。你决定解决方案的原因,以及你对答案的设想,比“正确的方式”或“错误的方式”更重要。拥有一个艺术家的头脑可以让你编的程序具有选择和可能性,而不是认为只有一种处理方式。这就是编程的美——有很多方法可以解决问题,考虑不同的可能性,然后决定哪种方法最适合当前的情况。
创造性很重要。你要认识到,解决问题的方法有很多种,通过经验和积累,你会对哪些解决方案比其他解决方案感觉更好产生细微的理解。纵观全局,想象不同的可能性,相信你的直觉,你会得到更满意、更好的解决方案
如果你对学习编程感兴趣,我鼓励你开始这段旅程。记住提到的七条,并开始学习、探索在线资源,这些资源可以让你快速学习。你不会后悔的!
合格程序员,对于一种计算机程序设计语言,我们将其分为语法、语义、语用三个层面。仅仅掌握语法是不够的,不算学好。但是很多人,在履历上写自己掌握(甚至精通)了某种语言,其实就是解了语法,会写简单的程序而已。这就是为什么我们行业特别不喜欢“精通”这个词的原因。
现代软件开发,规模都比较大,不是写个HelloWorld那么简单,也不可能每个项目每件事都从头开始造轮子,我们都是站在前辈、同行们的肩膀上工作的。也就是说,语言之外,还有“库”这个东西需要掌握,不然就寸步难行。库有语言级别支持的BuildIn的库,比如JAVA里面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更丰富的还有第三方提供的库,比如JDBC、Servlet、EJB的implementations等等。这些东西掌握了,干活儿才可能得心应手,不然寸步难行。
比Libaray更高层一些的,是Framework。框架的作用在于,将某一方面开发的BestPractices搞到一起,给你提供一个更易用的、不关注底层的脚手架。比如做企业应用的,SpringFramework是标配了;访问数据,Hibernate或者MyBatis也离不开,很少直接用JDBC去干活的了;做WEB的,各种MVCFramework起码得掌握一两个(springmvcorstruts2?);做网络的,Netty,MINA怎么也得掌握一个......总而言之,框架是绕不过去的一个门槛。
然后呢,就是环境、辅助工具。应用服务器,怎么也得会调试配置那么两个吧。TOMCAT是入门标配,JBOSS,WEBLOGIC之类,起码要弄得跑得起来;针对不同应用场景,还要会选择。开发/管理工具,ECLIPSE是标配、GIT和SVN起码要搞熟一款;其它比如单元测试工具、Build工具、测试覆盖率、CodeReview这些插件...也得知道怎么用。
最后,通用的,计算机科学的基础,不说多扎实,至少不能一窍不通。说起来就那几大件,操作系统、数据结构&算法、编译原理、体系结构。要懂一点点,你才知道你编的程序是怎么run起来的,哪儿可能存在效率问题性能瓶颈,除了问题知道怎么debug。如果仅仅把计算机当作一个黑盒子,那也不算学好了。
最最后,还有一样,就是你要训练一下,快速理解领域知识的能力。你参与做一个项目,你懂的只是上面这些专业知识,但并不懂客户的行业知识。如何尽快地理解业务,并用你手头的工具实现业务逻辑,这点对程序员而言是非常重要的,否则你做的东西客户总不满意,GET不到重点,很麻烦。
我觉得这是一个合格的程序员的基本要求。你看,我并没要求你懂需求工程、懂项目管理、懂架构设计、懂很多算法、模式,甚至更深的专业知识。
㈣ HR怎么通过简历来判断程序员是否优秀
01.简历中项目的参与度、贡献度
简历本身的效用信息往往非常局限,看了简历之后,也难以形成对候选人的初步判断。但我们其实可以通过项目经历上的信息,来评估候选是否完整、深入参与其中。
在候选人简历的项目板块,我们可以查找是否有以下关键信息:本人在项目中的角色?比如后台系统开发,主导搭建了页面框架,提高代码质量;公共组建的提取、编写。解决了什么样的问题?比如通过自动化,让代码易于管理;统一的编码规范,更有利于多人合作,降低了代码出错率;性能上带来多少提升?比如单页应用让请求次数变少、页面呈现更快,用户体验更好了。通过以上信息,我们基本上可以判断候选人在项目中的角色,或者从解决的结果来看能基本评估出候选人在整个项目中的贡献度。
另外一种是简历上的项目阐述,可以通过以下两个例子对比:例子一:A:应用 xx 技术,解决了XXXB:应用 xx 技术,解决了XXX,出错率降低了 0.1% 等。例子二:A:结合使用 xx,实现了 app 登录和个人资料的自动填充B:结合使用 xx,实现了 app 登录和个人资料的自动填充,提高了多少的转化率我们可以直观看出,有量化的结果的项目履历更有说服力,也可以侧面证明候选人是有深度参与到项目中,才能对数据结果有一定的了解。
02.候选人在技术社区的使用情况
很多优秀的技术人才都有分享的习惯,比如在GitHub、知乎等社区都会分享一些自己的技术经验贴。通常来讲,如果候选人有在社区发帖的习惯,确实会增色不少。比如全球最大的开源社区GitHub,大多数程序员都会有账号,但这个只能算是真正的“圈内人”,如果是GitHub的重度用户,其实非常亮眼的:如候选人在GitHub发布的项目经常能收获很多follower和star,那正是其能力的体现,可以通过其贡献的项目来评估;如果能长期坚持使用GitHub,也能说明的是这个人心态比较开放,对业界比较关注、律己、有耐心;GitHub上大多数代码是经过长时间构思和反复修改重构,代码质量可以很好反映其当前的Code水平,其中也可以窥见解决问题的能力。
经常在技术社区发帖互动,可以说是判断是否为优秀技术程序员的加分项,但也只能是敲门砖,不能过份强调它的重要性。
03.通过代码笔试,直击简历
要看能力最终还是应该考查编码能力。面试官或HR其实可以通过一场在线笔试,在简历初筛阶段来进一步判断是否为大牛。
面试官可以设置一些耗时较短,考察具体硬技能的题目,来考察候选人的基本功,将简历造假的同学筛掉,在ShowMeBug笔试平台,支持不同职级、不同语言、不同维度等题目,面试官可以快速发一起一场笔试,可以节省面试官大量的时间;
对于简历中的项目,其实可以设计一个非常真实的问题,比如你目前有独立设计实现过一个完整的功能吗?你研发的这个功能产生了什么作用,你在项目中扮演一个什么角色?ShowMeBug笔试支持音视频题型,面试官可以量身设计,让候选人更加真实的回答。
㈤ 一个四年的程序员,一般工资在多少合适
最重要的几个因素,城市、学历、能力、行业
北上广深一线城市,四年实打实,至少18k起步。
省会等二线城市至少10k起步。
如果能力有限,通常8折。
学历非特殊岗位,一般前几年差距不大,后期发展需要学历,
最后最重要的就是行业,没有上限。程序员也有很多种类。热门的至少翻倍,例如大数据,人工智能。
个人观点。
这几年我面试了很多不同水平的程序员,按照面试经历来总结:一个四年的程序员,工资差异会很明显。
一般我们招聘新员工,会通过多个招聘平台进行,很多时候会通过筛选条件进行搜索,比如工作年限、学历、专业、工作意向等方面。
所以,这就造成了一个现象就是,一小部分程序员会把自己的工作年限设置的很长,当我们面试结束后,问他你有xx年的工作年限,水平应该会比现在更优秀吧?
他们的回答一般就是,算上实习期什么的,差不多xx年工作经验了;还有的会说我中间做过其他的方向,对现在这一块不熟;也有的说,之前的公司产品做得不够深入,我没学到什么,等等。
所以,我们在最后挑选准员工的时候,会根据他笔试和面试的成绩综合给出一个比较合理的价格,而不是由他的工作年限决定具体工资的档位;另外会在实习期结束时,根据他实际的工作能力和绩效对其工资档位做调整。
当然了,一般真正工作4年的人,自己的简历中99.99%不会少于4年的。
还要看公司
通过我经历的几个公司来看,不同的公司、甚至不同的集团部门之间,对于水平差不多的两个人,工资可能也有一些差别。
主要从以下几点产生了区别
1. 职位紧缺程度,越是这个时间段着急招人的岗位,工资就会稍微高一些,反之亦然;但是一般大一些的公司规整制度比较完善,差别一般会很小, 除非你特别优秀 ,反之亦然。
2. 面试者当时的自信程度,一是足够的自信使得面试官认为你很优秀,二是足够自信要出高价;
3. 面试官的知识水平和深度,这个也是一个影响面试者未来的因素;
4. 最后决策的人的感觉,其实面试招人这个事情,除了笔试之外,很大的因素是由于面试官觉得你很好而已,毕竟今后要在一起工作的,谈得来,技术还可以比什么都重要。没有哪个面试官希望找个大老爷伺候。 还是那句话,除非,你足够优秀 !
5. 一般处于上升期的公司开价会比较高,因为资金池充裕,工作内容繁多,需要急速扩充团队
在一线城市,北上广深的程序员的工资肯定会比二三线城市的高很多(针对水平差不多的程序员来说), 当然,再重申那句话,除非你足够优秀!
如果你是公司HR
如果你是HR需要找人,面试到一个四年的程序员,也完全可以按照以上标准衡量。给他打分看看最终得分是多少,然后横向比较业内的工资水平,做一个上下的适度浮动即可。
有足够长的工作年限,并不能说明自己的能力强;除了面试技巧之外,最重要的就是要锻炼自己的技术能力和沟通交流能力。
所以,趁着年轻,提高单位学习时间内的效率,在尽量短的时间内掌握更多的技能,才是决定今后工资档位的一个最重要的手段。
希望我的回答能帮助到您,如果有错误敬请批评指正,谢谢!
从IT 行业数据看,选择的公司不同,价码是不一样的,行业内的平均工资20-30万都有,30-50万也大有人在,不过IT行业加班很多,干到凌晨也是常有的事,要意识到加班不是为公司加班,要从自身发展的角度考虑,今天的加班是为了自身发展,你就明白职场发展的意义。
对于程序员这个行业,工资取决于要入职的企业类型、个人技术能力、以往从业背景和教育背景。对于四年的程序员 泛泛而言最可能的范围在10K~25K ,具体情况需要根据这四方面的情况决定, 文末予以总结 。
入职的公司类型需要程序员的企业从类型上主要有传统企业信息化部门、互联网公司、计算机软件公司、通信系统研发公司、通信运营公司(在中国就是移动/联通/电信)。这几类公司对相同人员的薪资水平高低排序如下:
从规模上讲,分为头部公司、中小上市企业、小微企业、创业团队。薪资高低排序大致是这个顺序,但会有特殊情况是某些创业团队因为投资情况好、研发进度紧,会大幅高薪聘请人员。
个人技术能力
·四年是程序员一个重要的分水岭。很多程序员在这个年限仍然只具备编写业务逻辑模块的能力,但 优秀者已经具备独立从0到1完成一个系统技术架构设计的能 力。这个区别将极大地影响到薪资水平,两者的薪水至少会有30~50%的差异。
以往从业背景
程序员这个行业有一个潜规则 :假设前4年是在诸如BAT、华为等头部企业工作,跳槽到其他类型企业时的薪资要求会比没有这个经历的高许多,具体数值范围至少在20~50%之间。当然,这个也取决于招聘企业的要求,对于4年的人员到底要不要强调这个背景。
教育背景
四年的程序员,教育背景还会发挥一定的“带货”作用,当然较之1~3年的会低许多了。实际情况是,教育背景往往和从业背景紧密相关,比如985、双一流高校教育背景的一般从业背景都会很好,所以这个对薪资水平的影响往往还是要通过从业背景来体现。
总结
根据上述情况,可以对细分情况进行一个总结:
程序员的工资和一座城市的消费水平相关联,一线城市,二线城市,三线城市都是不一致的。
在 BAT 工作了三年的普通员工,按照每年 20% 的增幅可以达到 15*1.2*1.2*1.2=25k。年薪 25k*14(网络),25k*16(腾讯),25k*15(阿里)
如果在一些BAT之外的公司,在一线城市工作4年也差不多要达到25K左右才合适
二线城市18K,三线城市差不多15K才合适
程序员可以说是目前最火的岗位之一,其最主要的原因就是工资高,可以在短时间内让自己的工资达到一个相对高的水平,所以就导致很多人去学习软件开发,去做程序员,导致此岗位市场竞争激烈,特别是两年以内软件开发经验的,竞争可以说是残酷了,且有些供过于求的局面,以深圳地区为例,说一下程序员的工资标准:
1、刚刚毕业的大学生,工资大概在5000-7000左右。
2、一年左右工作经验的,工资大概在7000-8000左右
3、两年以内工作经验的,工资大概在8000-10000左右
4、两年至三年工作经验的,工资大概在10000-15000左右
5、三年以上工作经验的,大概在15000以上。
6、五年以上工作经验的,大概在18000以上。
上面只是一个大概情况,希望能够帮助到你。
我觉得程序员低于20k都不好意思抬头吧 ,昨天我们公司来一个45k的老编程
和城市、学历、能力、行业、公司性质、年龄、运气、工作时间、性别、是否结婚、是否能出差等等有关系,我朋友三四年的,从13到26k不等
这个可复杂了,包括城市,工种等等等原因。但4年左右一线基本2w+ ,二线肯定也要1.5w加。低于这个就别干了
我看了一堆人说这啊那的。
要我看,不是在秀,就是在卖焦虑。在我看来,薪资影响因素就两个:平台规模,和自身的硬实力。
1. 大公司大平台的薪资一般会比市面上的高一些,具体高多少,每个都有可能不一样。薪资倒挂,了解一下。——程序员是比较容易自然加班的,而薪资非常有诱惑力的话,会提升员工工作加班积极性,以及主动向薪资靠拢的自学积极性,同时也不容易离职,因为程序员其实心里都有个底。
2. 小公司更多的是考虑成本的,所以,你不符合他的要求,或者就算达到了要求,也会各种砍价,薪资水平自然没办法和大平台比。但是,为什么还是很多人去小公司呢?很简单,大公司大平台能进的话,谁去小公司呢?创业吗?画大饼吗?
3. 拿前端来说,甲工作5年,虽然会各种框架,各种配合协同开发;乙工作3年,不会太多框架,但是一手js玩的出神入化;丙工作2年,框架只会vue,但是vue的框架原理烂熟于心,项目架构也接触颇多。那么,问题来了,甲的薪资一定会很高吗?你作为老板,你敢开高吗?
说到底,薪资的因素就两个因素是最主要的:平台规模,和自身的硬实力。
说什么工作年龄在什么薪资范围,都是扯淡!
㈥ 滴滴程序员的100fintechstar是什么级别
100FintechStar是指由中国互联网金胡枝融协会和中国人民银行主办的金融科技企业评选活动。这一评选活动旨在推广和表彰在金融科技领域内具有创新能力和影响力的企业和个人,展现中国金融科技行业的发展成果,推动金融科技行业的裤空敏发展。
滴滴出行的程序员能够被评选为100FintechStar是说明该员工在金融科技领域拥有突出的创新能力和影响力亏悉,可能属于该评选活动中的高级别。但具体情况需要参考当年的评选标准、评选结果以及该员工在金融科技领域的贡献程度等多个因素来综合评估。
㈦ 根据大数据解析:程序员可以干到多少岁
开发者吃青春饭,编程这个事最多35岁,每次听到这样的言论都让人觉得无语。我们先看一篇论文 《Is Programming Knowledge Related to Age》,这篇论文是两个北卡罗纳州立大学计算机科学系的两个人对StackOverflow.com上的用户做了相关的数据挖掘得出来的一些数据。
数据全量是1694981用户,平均年龄30.3岁。
程序员年龄最高点在25岁左右,中点是29岁左右。
计算每个人每个月的Reputation,这样可以找到这个用户的真正的活跃时间,这样便于计算这个程序员的真实能力。 (总声望/活跃时间),可以得到他平均每个月得来的Reputation。
我们来看看程序员的能力和年龄段的分布图:
根据数据我们可以看出程序员能力从25岁是一个上升点,到50岁才会下降。
论文的作者用五年内比较流行的技术Tag然后用了一套比较严谨的算法查看所谓的年龄大的程序员是否能跟上新技术。
我们看下表:
以上可以看到年龄并不会影响新技术的学习,甚至有些项还超过了年轻的开发者。
论文最后得出结论是程序员技术能力是可以上升到50岁到60岁了,老程序员在获取新技术上的能力并不比程序员差。
虽然上面数据可以看出来,年龄不会成为程序员技术的绊脚石。但实际上,企业招聘更需要全面考虑,首先一般企业招聘的高级、中级、初级程序员就是有占比的。肯定是高级程序员占比是非常少的。
另外就是身体问题,我们知道开发是工作需要经常熬夜,动脑学习等。有些程序员到了35岁以后就会觉得身体跟年轻人拼不了,自己就找一个顾问工作退居二线了。你还能想到什么影响?欢迎评论。
㈧ 程序员基础知识满分是多少
满分为75分。程序员上午考试为基础知识,基础知识满分是75分,合格标准基本上稳定在45分合格。程序员考试需要各科目在一次考试中都及格才算合格。
程序员考试包含基础知识和应用技术,各科目满分均为75分,合格标准基本上稳定在45分。程序员各科目考试时间安排在一天,上午考基础知识,下午考应用技术。
程序员考试需要各科目在一次考试中都及格才算合格,单科及格的成绩不予保留,也不能转到下次考试时使用。根据原人事部、原信息产业部颁布的《关于印发〈计算机技术与软件专业技术资格(水平)考试暂行规定〉和〈计算机技术与软件专业技术资格(水平)考试实施办法〉的通知》(国人部发 [2003] 39 号),计算机资格考试纳入全国专业技术人员职业资格证书制度的统一规划。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务(技术员、助理工程师、工程师、高级工程师)。
温馨提示:因考试政策、内容不断变化与调整,猎考网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
下方免费复习资料内容介绍:2018下半年信息系统项目管理师论文真题汇总
格式:PDF大小:163.74KB 2022下半年程序员学习手册
格式:DO大小:1567.13KB
资格考试有疑问、不知道如何总结考点内容、不清楚报考考试当地政策,点击底部咨询猎考网,免费领取复习资料
㈨ 一个标准的程序员,它的代码应该是怎样分层次的
每个代码的层次都是不一样的,都是非常缜密的,除此之外,不光是要会写代码,还要成为一个好的程序员才是最重要的。
程序员,随着计算机和软件行业的发展,基数越来越大。如何在茫茫的程序员中脱颖而出呢,来看看作为一个好的程序员的标准你都占了几条?
1.经常和其他的人交流
什么时间做什么事情,做事情按照一定步骤来,好的程序员从来不会在时间紧任务多的时候手忙脚乱。
7. 保持谦虚
技术永无止境,技术范围很广,技术水很深。即使在一个领域是专家,到了其他领域还是需要其他人的指点。好的程序员总是把姿态放低,虚心请教。
㈩ 阿里p1-14职位薪资
阿里巴巴工资等级对照表2021
最近对阿里羡慕嫉妒恨的同学可不少,静态中国工资给大家分享下阿里巴巴工资等级对照表。
1、全球员工总数
截至2019年12月31日,员工总数为116,519人。
2、岗位职级
阿里巴巴集团采用双序列职业发展体系:
一套体系是专家路线【P序列=技术岗】,程序员、工程师,某一个专业领域的人才,一共分为 14 级,从 P1 到 P14,目前校招最低从 P4 开始。
一套体系是M路线,即管理者路线【M序列=管理岗】,从M1到M10。
一般来说,应届毕业生刚入职到阿里为P5,工作1-3年之后升职到 P6,阿里一般到 P7 才给配股票。
目前阿里需求量最大的职级范围分布在 P6-P8,这也是阿里集团占比最大的级别。P6 级别的程序员 title 是高级工程师,P7 便已经是专家级别,P8 则是高级专家。一般而言,江湖上行走小有名气的阿里程序员至少也是 P8 级别。P10 级别的存在就是传说中的大神级别,这个级别的程序员无一不是业界鼎鼎有名的存在,比如褚霸、毕玄等等。
3、岗位薪酬
阿里薪资结构:一般是12+1+3=16薪。
年底的奖金为0-6个月薪资,90%人可拿到3个。
股票是工作满2年才能拿,第一次拿50%,4年能全部拿完。
说到股票,就要普及一下常识了:股票是公司用来奖励员工忠诚度的,所以阿里分年限行权,想要离职套现真的是难,更不要提高额税收了。首先,归属要收高达45%的个税,然后得到的还是限制性股票,还不能马上卖呢。
好不容易可以出售的时候,还得交20%股票增值部分的个人所得税哦!更重要的是,你必须先缴税,才能归属,缴税还必须用现金!所以,拿的越多,先拿出的cash就越多,这里面的流动性风险不容小觑。
4、绩效考核
考核内容:业绩和价值观各占50%
考核频次:季度考核为主
部门排序:2-7-1排序
个人排序:3-6-1排序
考核工具:KPI 主导
淘汰标准:连续两个季度,成为末尾10%
晋升条件:上年度 KPI 达3.75
评价形式:三对一的考核,比如你是个经理,上级是总监,总监的上级是副总。那总监在考核经理的时候,副总要参加,还要加上相应部门的人力资源,这样防止“一言堂”。条莱垍头
绩效评分标准,分为六档,分别是:
5、晋升条件
晋升资格:上年度KPI达3.75
主管提名:一般KPI不达3.75主管不会提名
晋升委员会面试:晋升委员会组成一般是合作方业务部门大佬、HRG、该业务线大佬等
晋升委员会投票
如果员工想要升级别,比如从 P6 升级到 P7,则需要进行述职,通过晋升委员会的面试,晋升委员会组成一般是你的直属领导、合作方业务部门领导、HRG、所在业务线领导等。
晋升至P8及以下,子公司内部评定;晋升到P9,集团专业委员会进行评审;M不得自主提名,M3及以下公司内one over one plus HR评审;晋升至M4进集团管理委员会评审。
P5升P6相对容易,再往上会越来越难,一般到P7都是团队技术leader了,P6到P7非常难,从员工到管理的那一步跨出去不容易