梅沙科技的技术合伙人Martin来自腾讯,是BLUES以前在QQ秀产品中心的同事,高级架构师。这篇文章来自Martin多年来面试程序员的经验总结,也有梅沙科技程序员Mask、Lemon一起作为面试官参与面试之后的总结思考。
Martin把这份开发团队的招聘文章写完,发给BLUES的时候,顺便说了一句,做好了被喷的心理准备。
这年头,观点比较鲜明的文章总会有不同看法,这是正常现象,正如互联网公司不可避免的进行需求PK。
其实,每个创业公司的奋斗过程,都不容易,我们想把在这个过程中的探索进行总结分享,但愿对更多的创业团队有帮助。
在团队组建过程中,产品经理的招聘,相对顺利。程序员的招聘,则经历了所有创业团队遇到的各种困难,并且,我们还是在一个办公地点相对偏远的创意园区,所幸,在质量第一的前提下,我们的招聘进度符合预期。
对加入梅沙团队的每一位同事,都很感激,在团队还很小的时候,能加入进来,一起做一件对教育有价值的事情,但愿更多的小朋友都能在梅沙教育体系下快乐成长。
从5月份招聘以来,直到8月上旬,招聘历时3个多月,后端开发的招聘比较幸运,很快就招到,或许也是因为我们的技术合伙人Martin本身是后端开发,他在招聘过程中的面试官评价,一直获得应聘者很高的认可。
iOS开发,简历很多,但简历质量不高。或许因为前两年的APP创业大潮之下,很多程序员开始iOS开发之,不少新的程序员也选择了iOS之,今年创业遇冷,不少iOS程序员被出来。
从最终通过率来看,前端的通过率是比iOS要高的。原因是前端的简历确实比较少,我们只能尽量从可培养性方面考察。
的简历筛选中,包括iOS与前端,大体类似。前端的简历,转专业的情况比较多,下面也作一个专业上的统计。
前端这个岗位有个特点,应聘者中有20%的人是先从事过其它行业,如化学、机械、电子等,再通过自学或者培训转业到前端开发。
从总体的面试结果分析,一般计算机科班出身的人无论从基础上还是深度上来说,都会比非计算机专业的应聘者要优秀。当然,也有非科班出身的牛人,只是概率比较小,所以从所学专业来看也可以从一个角度反映出简历的水平。
项目描述是指,面试的时候让应聘者描述自己做过的项目,自己在项目中担任的角色和职责,自己在项目中做了什么,有什么效果。一般对自己所做的东西描述不清楚,我们就不考虑了。
无论做前端、后端,还是终端。如果有扎实的计算机基础,如进程与线程知识,TCP/IP协议,数据与结构等,那会是很大的加分项。
有很多人认为计算机基础知识只是做后端,做服务器开发的人才需要,像前端开发,根本不需要,这是绝对错误的。
对于只应付日常业务编码的普通工程师来说,扎实的计算机基础知识,是锦上添花的东西,但对于优秀的前端工程师来说,基础知识是必不可少的。
操作系统的基础知识 ,能更好的掌控代码,避免性能上不必要的开销,或者对其有所,同时也能避开一些逻辑上的问题。
清楚特定的基础数据结构的可以处理的问题,如果已经知道这些算法,那可以跳过很多耗时的技术选型阶段,这就是知识的广度带来的优势。
TCP/IP等网络协议知识,到应用层的HTTP/HTTPS等,对这些协议的深入理解,可以解决web页面在移动网络下的访问耗时长等疑难杂症,提出优化方案。
一般来说,做后端要求对计算机基础知识掌握得非常扎实。才能应对像编译、网络连接、高并发访问下的各种问题与疑难杂症。
一般要求有C、C++基础,精通如但不限于C/C++/PHP/Java/Go等至少其中一种后端语言
主要分为两大部分:前端代码技能部分(html、css和javascript),前端架构部分(构建工具,新生框架,优化以及安全性)。
如果把一张网页比喻为一栋楼房,那么html相当于搭建一个主体结构,css相当于来做粉刷,javascript发挥的作用就是类似于水泥的粘合剂。其中任何一个环节出现问题,都会可能导致房屋出现问题。
得熟悉最基础的布局方式和一些常用定位的作用和区别和css的一些常用的选择器以及选择器的权重,另外就是css的浮动部分,掌握浮动的应用场景和消除浮动的一些常用方法。
看是否熟悉响应式布局这块,对最新的css3的知识掌握熟练程度以及移动端这块的经验,这块属于面试之中比较看重的一块,css3中出现了很多的新的浏览器特性和效果,使用熟练程度之余还要知道它的兼容性。
进阶部分包括得熟悉使用javascript的流行mvvm框架(vue,angular,avalon等等)其中的一种到两种,构建工具(webpack,fis,gulp等等),以及系统后期的一个优化过程(包括静态资源压缩,合并,按需加载,分流)
首先要对系统如何启动App,App如何运行有一个整体的了解,这里就包含App启动过程,沙盒机制的目的,实现原理等。
App说到底就是一个可以运行在手机操作系统上的程序与资源的集合,所以对于操作系统中进程与线程的知识点,App怎样处理图片与外部网络资源,也要有一个整体的认识。
这里涉及到业余时间怎么安排分配,如下班后,就只有在家里/寝室通宵玩游戏,看电影,从来没有想过要为自己的发展加一把油,充电学习的人,会被判断为没有进取心,得过且过的人。
当然,不是要求没有娱乐,从不休息,但至少有过学习的安排,所谓学无止境,没有人敢说自己的知识是足够的。如果只靠工作时间学习充电,是没有多少时间去深入反思和总结的。
在面试场景里,如果见面是给面试官的第一印象的话,那么是否能准时是给面试官的第一印象。参加面试不准时,留给人的评判空间有:
不尊重面试官。时间对真正想做事情的人来说,是很宝贵的,面试者迟到,其实是浪费了面试官的等待时间。虽然这时候面试官也可做工作上的其它事情,但时间也是碎片的,而且不能投入。
参加面试都不能按时,那么以后的工作任务也不一定能按时完成。参加面试是获得工作机会的一个相当重要的步骤,不准时参加面试,要么是没有分析能力,不知轻重,要么是时间把握能力太差。
万一真的是迟到,怎么办。有如下补救方法,提前告知会迟到,让面试官可以做其它事情;见到面试官后,要表明一下歉意。这样给人的感觉是有时间观念的,不至于被扣分扣得很么严重。
如何找到面试的地点,这其实也是一个。如果连找一个地点的能力都没有,那如何做好工作上的事情。
曾经遇到一个面试者,直到约好的面试时间,才打电话来问,坐车到哪一个地铁站。过一会又打电话问,到地铁站后从哪个出口,坐哪一公交车到哪一个站。
解决方案是:提前查好线,规划好时间。像坐什么车这种事情,自己动动手指在地图上搜索一下的事情就真的不要打电话问了。如果确实找不到地点,可以打电话表明一下自己的歉意,寻求面试官(或公司招聘联系人)的帮助,因为面试官没有义务为你指。
面试毕竟是一个比较正式的会话场合,坐姿和行为举止都需要有分寸。如果应聘者坐姿不正,对面试官不尊重,那么这场面试基本没戏了。曾遇到个应聘者,工作5年,一副老成的姿态,本来工作经验和知识尚可,但行为和表现非常没有分寸,除了坐姿不正,空隙期间还翻动办公室器材。兄弟公司团队的人都看不过去了,结果自然是让他回去了。
有句话说招聘就像相亲一样,很难找到合适的。的确,从应聘方和招聘方来说,要找到合适的公司职位/候选人都不容易。虽然像BAT这样的高帅富很容易吸引大批人才,但要在上千的应聘者中挑选出合心意的人才也要花费很大的成本。招聘说到底是信息匹配的过程,如果能做到信息的透明化,做到精准匹配,当然可以节约大量成本,也有招聘网站在做,但实际上依然很难做到完全匹配。
另外一点,无论从应聘方还是招聘方,要收获到高质量的职位或人才,都要不断的提升自己的价值,符合对方的标准,才能达到自己的目标。