一个二三线城市的开发团队,可能不适合来自北上广深或者BAT团队的开发人员,请自行绕过。
对于新手
对于新手基础知识是最重要的,比学历更重要,对于没有大学文凭的同学其实不用自卑;记得之前一个小伙子,我问他简历上怎么没有学历信息,他有点激动地说道我没有上过大学,如果公司要求大学学历那就算了,说完做出了要起身离开的姿势;我连忙安抚他坐下说不是,只是问下。当然他的基础知识实在太过一般。
对于这些开发者,我还是侧重技术知识胜过项目经历,通常这些人在项目中所扮演的角色可有可无。
基础只是包括但是不限于徒手写sql语句的能力, 徒手写js代码的能力,jquery选择器的认知能力,面向对象的三大特性,一些常用的spring的注解,ArrayList和LinkedList的区别。如果基础知识较好,人也不笨, 我一般不会拒绝。
总体来说,对于初级者,还是希望他有一个很好的基础,并且有可培养性。
对于中级开发
对于中级开发者,就是对于工程的理解;询问他所经历的项目,以及在项目中所扮演的角色,所承担的模块;针对他所负责的模块进行延伸看看他对于纵向和横向都掌握了解到什么地步。
当然绝不止这些,询问他最近有在读什么书籍,看看是不是一个技术性的人;
询问他在工程中遇到了哪些问题,不是通过百度,也不是通过询问同事;而是通过自己的逻辑推演或者调试来解决的,看看他是不是具有工程师思维。
总体来说对于中级开发,还是希望他能在项目中能独立承担一个模块。
对于高级开发
面对高级开发者,我还是比较虚的,可能自己也达不到一个高级开发者的水平;但是实际的面试过程中,也遇到过一些,也简单说下。
面对高级开发者,一般还是询问对于版本的控制;
对于mysql并发死锁方面的询问,有没有遇到这种情况,以及如何处理如何避免。
对于nginx的使用,如果某一个区的线缆被挖了,该如何解决这种突发情况,以及如何避免。
对于分布式的理解,随着客户增多,订单量的增大,如果不断分解,层层隔离让服务器承载更大的压力和并发。
等等