记一次薄荷面试

一次印象深刻的面试。

今天下午去了薄荷面试,结束后赶着去听一波带着浓浓文艺气息的演唱会,去年手一抖,买了寂静如海的门票,差点忘记这茬,短信提醒才想起,哈哈,这算是用音乐抚慰下受伤的心吗?

可能因为面试的整个过程自己很不满意,所以听歌的时候脑子里还时不时复现一些面试的画面,于是,回来后决定写一写这次面试。

周一收到薄荷面试通知的时候,真的挺激动的,之前follow了该公司的大牛Vincent,也看过他的博客,想着如果可以去更多rubyist的公司,而且还有大牛,那会是一件多棒的事儿!随后不久,薄荷的一位工程师来电话了,问了我一些基础的问题,那时候脑子有点懵,我还在想着怎么在后台弄一个类似CMS的文章管理系统,结果几个小问题都回答的不是很满意,还很实诚地交代了自己在数据库并发处理这块比较薄弱,天,我是不是上帝派来的逗逼?!不过工程师真的很nice,对于我问的一些问题耐心的解答,特别是之前曾困惑rubyist为什么会青睐go,结束完电话面试,原本以为这下没戏了,好好的机会就这么被我给毁了,没成想竟然有面试的机会,真的是很惊喜!

因为周一的时候,同时接到了另一家的面试通知,定在了周二上午,所以我把薄荷的定在了周三下午,想着留些时间再复习下可能会被问到的知识点。今早跑步的时候,跑到一半,脑子里想着还有什么是我很困惑的,最后干脆不跑了,回去把rails的一些知识点又过了下。下午去面试的时候,见到了电话面试我的那位工程师,是个有点呆萌的程序员小哥哥,为了不侵犯姓名权,用程序员小哥哥来称呼吧。前面的两个问题,其实都涉及到ruby元编程,虽然我回答的不是很好,但是我真心喜欢这两道题,让我注意到之前没有思考的点,发觉原来我在元编程上还有很多需要提升的地方,至少在实战上很欠缺。然后问到了sort的实现,一些基本的排序算法,比如快排,算法的时间复杂度,设计模式以及内存,缓存的一些知识,这些基本都没回答好。去年我刷过一些算法方面的视频教程,但是很显然,工作中没用到,已经不记得了,而设计模式这一块,我之前看过秦小波的那本《设计模式之禅》,只是看到了第三章就搁浅了,有些概念不是很理解,看着有点懵逼,无法继续,小哥哥提到了工厂模式,我知道这个名词,但我却想不起来这个概念的定义。后面小哥哥问到还有什么其他想问他的,我提到之前对于polymorphic associations的困惑,小哥哥给我解惑了,是的,没有什么东西是过时的,不要一味求新,为了求新而求新其实挺傻的,新的不也是旧的组装或改进而来的吗?最后小哥哥又反复问了还有什么其他想问的,其实准备面试的时候,我去玩过他们的app,看过他们的版本记录,还发现一些小bug,比如给自己点赞或者评论的时候会弹出not found,可是由于前面那些问题我都没有回答好,挫败感很强,当然也是由于我事先没想到会有算法的考察,这是我疏忽了,情绪一低落,就没啥心情继续了,更没有信心继续问小哥哥问题了。因为没有问题再问,这场面试也就到此结束了。

整场面试下来,有两点感触最深,一是自己在计算机专业基础知识上很薄弱,虽然自己是半路出家的野路子,但既然你选择了这行,该补的坑,还是要好好静下心来补,要按照科班出身的程序员的标准来要求自己;二是这位小哥哥,我发现他会在我没有回答出来的情况下,告诉我这些问题的解答,每一题都会,这种为他人解惑的品质真的很赞!

总的来说,这是一次收获满满的面试!后面继续努力填坑吧!