华为面试改革:程序员不仅需要网上编程,还要现场编程
就在五一前夕,也就是在 4 月 29 日,华为的轮值董事长徐直军撰写的改革面试招聘流程,并向全员发出了这份邮件。
华为轮值董事长徐直军认为:
软件类人才面试要以考察软件工程能力与编码能力为核心,用真正懂软件的编程高手来面试考察软件类人才,识别出真正的软件开发与设计高手。
华为创始人任正非还给邮件写了按语:
我们要改变过去大呼隆的招聘方法,真正的专家、主管不上前线,HR 看简历面试又不深刻,导致大规模进人、大规模走人。不仅对公司不负责任,而且对员工也不负责任。一个青年的青春是有限的,耽误人家几年,对得起人家吗?我们要不断充实队伍,也要选对需要的人,人家也需要选对人生的道路,请各招聘机构适当整风。
以前大家都在网上吐槽程序员的面试是:面试造航母,工作拧螺丝。
现在华为率先开头,程序员的面试要以实战为前提,以考擦软件工程能力与编码能力为核心,用真正懂软件的编程高手来面试考察软件类人才,识别出真正的软件开发与设计高手,开启网上和现场两轮实战编程面试。
面试流程大致是:
- 应聘人员首先进行网上编程,时间 90 分钟,网上编程符合要求的进入面试环节。
- 应聘人员可以选择一种编程语言,进行两轮面试,每轮约 45 分钟。面试官均独立进行面试考察,提前根据岗位要求设计编程考察题目,通过当面或视频编程的方式,考察实际编程能力及相关知识技能掌握程度。候选人现场编程 30 分钟,面试官提问与讨论 15 分钟。每位面试官给出独立评价意见。
- 两轮面试的意见若一致,则给出相应面试结论。若意见不一致,则追加一轮面试并给出独立评价意见,然后,由面试官集体评议给出结论。若有面试官坚持认为候选人不符合要求,按 “一票否决” 的原则处理。
以上面试流程都需要签署 NDA,承诺不泄露网上考试和面试内容。
不知道大家看到后,有什么感想呢?
我记得我刚工作的时候,尤其是对于一些初入职场的程序员来说,都需要经过好几轮面试,其中就有笔试,而工作了几年的程序员,非常有经验的程序员在面试的时候,很多都是不屑于进行笔试的,有些人认为笔试是对于他们有经验程序员的侮辱,更何况上机实战面试了。
现在可好,华为率先实行了网上编程和现场编程的双向规则和门槛,不知道那些以为笔试是对有经验程序员侮辱想法的同学看后有什么感想?我个人感觉考察编程能力,不管是网上编程还是现场编程,都是非常考验能力的,也非常考验大家的心理素质。
从这次改革的角度来看,我个人认为:华为不是为了招天才,而是更加注重实际工作能力了,还是需要招能干活的人,而不是理论好的人,能干活才是根本啊。但是,现场编程对于程序员来讲难度不小,算是升级了。
我现在非常好奇的是:网上 90 分钟的编程,通过后,才能进入面试环节?而这 90 分钟的编程,华为会出什么样的题目呢?90 分钟,可以让面试的同学实战写两到三个算法题,而如果实战考察算法题跟笔试考察算法又会有什么区别呢?如果不考察算法,90 分钟能让面试者去做一个什么样的程序呢?
另外 30 分钟的现场编程面试,30 分钟够让程序员做一个什么实战能力的模块呢?写一个功能模块需要了解项目逻辑,30 分钟的时间也不够啊?
我实在想不透,华为会出什么样的实战编程面试题?除了算法之外。
但是,有一点我很确定,在这么短的时间内,实战编程最可以考察出程序员的编码规范。而这一点对于在工作中也有举足轻重的地位。所以,我感觉前期不知道华为编程考什么的同学,要想去尝鲜,去华为面试的话,一定要注重编码规范。
大家开脑洞一下,想一想,华为在这么短的时间内,现场编程会考什么问题,能够考察出程序员的实战能力来?欢迎大家留言,一起探讨,交流。
关注公众号:非著名程序员,对话框回复关键字 “1024”,免费领取 30 本经典编程书籍。