蘑菇街之行

说来也巧合,在内推网上投了阿里的内推,然后很机缘巧合的接到了蘑菇街的面试电话。 第一面是IM部门的负责人的面试,所以主要的交流都是在消息机制一块,因为之前写过一个消息机制的框架,可以看我得GitHub-Omniscient(顺风耳)。 然后再阐述了自己对消息中间件的理解,基本都是集中在消息的处理和传递的过程。之后也谈了一些Java的基本问题,也是几次面试下来我被面试的最多的 一个问题,就是Java的内存模型,也就是HotSpot虚拟机的分代垃圾回收机制。聊完之后,就是一个简单的算法题,然后其中还穿插者Java的集合源代码。 比如HashMap的线程问题,和HashTable的区别,然后ConcurrentHashMap和HashTable的联系和区别。等等,总之回答的也就是基于源代码的,感觉还不错。 于是就这样,一面算是过了。后来知道蘑菇街的IM团队是用C++的,而不是Java。这个工程师就是-子烨。 大概一周之后,二面的电话来了。是负责商铺入住的团队leader的电话,叫阿润。也就是我现在的头。主要就是先介绍了一下他们小组的工作情况,然后就是 一些对我的简单了解,比如个人博客的动机,GitHub上的代码等等,然后最关心的问题就是实习的时间问题,后来也知道,他们希望我入职,而不是简单的实习。 问了这些之后就是简单的一些算法,我只记得是一个简单的字符串匹配,我第一个想的是正则表达,然后就是KMP了,但是,感觉也用不到KMP这种高端的算法。 然后,就是讨论了下简单的项目。毕竟是有专利的,感觉就是高大上。然后聊了加入通过面试,会去哪一个部门,他当时就说会去他的部门。然后就是约时间现 场面试了。 当时是周五,所以约面试的电话到周二才打过来。当时正好是清明,所以约到了下周三。于是开始了远征。 到了杭州,本来以为就是两面就可以得结果了,然后没想到会面四次。第一次是阿润和铁塔,二面是技术部的负责人和阿润,然后三面是HR,最后就是传说中的 创始人面试,面试我的是CFO,大饼。当然,我也是后来找资料的,不过确实感觉,蘑菇街的气氛很好。 第一面,阿润接了个电话出去了,然后就是我和铁塔一对一,主要聊的是Java NIO,但是这一块我才刚刚开始看,所以不是很熟悉,然后两个人沉默了一会,就开始 聊开了,我喜欢Netty,他也是,然后就开始扯Netty的源代码,还有Netty的性能,然后还问我除了Netty还有没有其他的NIO框架,我就说了MINA,然后两个人又开始 扯MINA,最后他也扯开了,说自己之前的经历,之前的坑跌的代码。然后也扯了HTML5。最后,愉快的结束了一面。当时感觉就不错。其中我还给他看了我得一些项目的 视频,他也感觉很有兴趣。 第二面就是阿润和技术部的负责人了。一开始就是一个下马威,我说我看过Tomcat的源代码,于是他们就说给他们科普下Tomcat,这正中我下怀。然后我就开始扯了,…