@jjfujj 我昏倒,你除了在 lagou 上留言还到这里来这么吐槽,是有多大仇。既然如此我就从头到尾说一下情况。
上周五下午 HR 告知我先找你做电话面试,然后我就打了电话过去,过程中你提出,电话面试不严谨。我说没有问题,你方便的话可以过来面试。然后我约了一下你的时间,你说周二有空,我说那就周二下午,然后我告知 HR 说约了周二面试。
本周一 HR 告知我,说你周二上午十点半有时间,我更新了我的时间表。然后今天早上十点半你到公司时我问你,时间上好像出了问题,你表示很诧异,说一直都是十点半。我说没问题,我们进入面试流程好了。
第一个问题,我问你从一个运维转到开发,感受有什么不同。你的回答是,也有很多人问我类似的问题,我觉得没什么不同。我接着问,是不是说 rails 开发也是在做一些运维的工作,你说对的。那么这个问题就算是过去了。这只是对你简历背景的摸排。
第二个问题,我问你,了解不了解三范式。我的意思是,如果你只是从运维工具入手做 rails,那么数据库这一块你要怎么设计,有什么指导思想。你表示没听说过,能不能举出具体的例子,我说比如说一对多,多对多,一对一,为什么要这么设计。你用了 activerecord 里的 has one 和 has many 来回答,我追问,那么为什么 has one 和 has many 一样,外键都在从表上。这样设计有什么好处。你回答,这样在具体的情况下会有具体的好处。我接着问,能不能举出例子。你对我的 rails 能力提出了质疑,说,我不知道面试官你的 rails 水平如何,但是这个问题问的非常业余。然后我回答你,我的 rails 水平其实一般。
第三个问题,我问你,对 HTTP 协议掌握程度如何,你说有所了解。我问接着问你,简单描述一下 200/300/400/500 系列状态码的意思。再次表现出不知所谓。并且表示,你对这个不了解,你做 rails 的时候不需要考虑这个。我觉得面试没有办法进行下去,我说,请你说一下你熟悉的领域吧。你告诉我说 TCP/IP,三次握手,比较熟悉。我说你做过 socket 编程么?但是我们做 web 还是跟 http 协议打交道比较多。所以我们还是从这里入手。
第四个问题,我问你,rails5 里面添加了什么新内容,你反问我,rails5 已经出来了?不是 4.2 么?我说 edge,你说没了解过。我继续问,rails4 里面,active job 跟之前的有什么区别,你说没听说过。然后我问你异步都是怎么做的,你表示没理解,我进一步问,sidekiq 用过么?你说用过,我说 sidekiq 背后依赖了什么实现了异步。你觉得我是在问你依赖了什么 gem,我又一进一步提示你,是 mq,redis 还是 cornjob,到这里,你觉得我是在故意打击你。表示面试无法进行,主动提出不要浪费大家时间,结束了这次面试。
我自认为问的这四个问题,有两个是基础知识部分,一个数据库,一个 HTTP 协议。最后一个是问你对 rails 的掌握细节。但是很遗憾,你没有回答出来,而且不知道什么原因,你认为我是对你态度不友好。
恩,说老实话,你电话面试和现场面试时表现出的态度确实挺让人火大,我是觉得如果你确实能搞定事情,牛气一点无可厚非,哪个大牛没有脾气。但是结果挺让人失望的。我不知道你的底气来自哪里,你在对我抗拒什么。我从头到尾没有视图激怒你,我本来就是要 Build 一个团队来完成我们的业务工具,何必打击面试的工程师找优越感。