上一篇说到笔试结束,这一篇就从面试开始说。阿里巴巴是4月2号笔试的,百度笔试是在4月19号,然后阿里巴巴一周就会给一个结果,不管你过不过,百度就不会了,尤其是简历赛选环节,根本不会给你通知,都不知道是还在筛选还是没过,非常坑…我去年投的的一个实习生,现在简历还在筛选中,我一个同学和我一起投的,只是岗位不一样,到现在百度都还没给通知,都不知道是什么问题。
说一个题外话,我的情况可能和各位要去实习的不一样,我是大四的,今年九月份是要上研究生的,想趁毕业到开学这段时间去实习,所以我是不符合公司招聘的条件的,因为我还有三年后才工作(可以看我的上一篇文章,里面说了公司为什么招实习生http://blog.csdn.net/tangbo713/article/details/45876629),在我网申百度实习生的时候,我的一个师兄(他在百度上班两三年了,今年和我一届,他来和我老师读博士,以后想回高校任教)让我不要去,说还不如好好呆在所里做研究(我的研究生是在中科院),因为去做实习生就是做一些无聊的工作,比如擦桌子之类的。然后他给我说了一个列子,他部门以前招了个实习生,女的,由于我师兄是是图像组的,主要负责百度图片,然后就让这个实习生去审图片,主要是审核色情图片,结果还没一个周,这个女的就没来了。听完后,感觉有点难过,因为如果我以后去了,让我做这个我也不愿意。但是这个时候对百度影响还是很好的,里面有好多大牛,包括吴恩达,余凯…
回来,讲正事,虽然我师兄建议我不去实习,但是我还是报了百度的实习生,答完百度笔试题,感觉没什么希望了,但是后面还是收到了百度复试的通知。
面试
基本上都是笔试一周结束后,就收到了阿里巴巴和百度复试的通知,收到复试通知以后就开始准备复试,就上网查了一下各大公司的面试题,把自己以前做的项目拿出来看一下,说实话,都快半年没写Android了,有点陌生了,但是经过一个周的复习,都基本上捡起来。
28号阿里巴巴面试
阿里巴巴有十来个面试地点,大家可以根据自己的情况选择面试的地点,我选择的是北京,面试地点在北京国家广告园区,在大望路,好远…到地点以后,阿里巴巴会有员工指导进入面试区,有身份认证啊之类的,感觉好正规,员工指导进入面试大厅,阿里巴巴有一个排队系统,如果有空闲的面试官他就会通过叫号的方式叫你去面试,我当时比较幸运,一进大厅就叫我去面试,进入面试大厅,感觉好大(阿里巴巴面试大厅是一块非常开阔的地方,然后放满了小桌子,每一个座子就是有两把椅子,一把是面试官做,一个就是应聘人员做)…结果我坐下面试官就来一句,这是我第一次参加这么大的面试,有点逗。大厅应该有80位面试官,每一个都在自己面试自己的人,所以大厅有点吵,但是我感觉挺好,这样面试的人可以减少不少压力。
面试开始,面试官让自我介绍,然后我就介绍了一下自己的基本情况,还有自己做过的项目,然后重点介绍了我在大三自己创业的一个项目——《饭小桶》http://www.fanxiaotong.com,这个是一个成熟的商业项目,面试官比较感兴趣,详细问了一下这个项目,又问了一下这个项目用到的技术和遇到的问题,以及如何推广之类,接着面试官问了一下我的基础知识,面试的问题如下:
1,什么是ANR,如何避免ANR?
2,什么是深拷贝和浅拷贝
3,Android 中常用的数据存储方式
5,图片的缓存技术
6,bitmap的recycle的底层的实现
7,bitmap对象的理解
8,android系统有什么不好的,需要怎么改进
9,周边餐馆是怎么做的
10,java的容器有哪些,他们有什么区别
11,java堆和栈在内存中的分配情况
12,java序列化方式有几种?android用的是哪一种,为什么?
这几个问题都非常基础,基本上你上网搜的面试题都会包含这几个问题,也是做项目经常遇到的,除了6和12没答上来,基本都答的差不多。6确实没用过,12也是,因为我序列化一般都用serialize,除了这个,我真的没用过其他的序列化方法。后来查了一下,还有通过实现Parcelable接口序列化对象,实现Parcelable接口稍微复杂一些,但效率更高,推荐用这种方法提高性能。面试官非常友好,如果答不上来,他会提示你,如果实在是还答不上了,他就说没事,我们聊下一个问题。一面就很轻松的过了。因为面试官对我做的自主创业项目很感兴趣。刚出面试大厅,就收到一面通过的通知。然后就是通过网上预约二轮面试,5月5号。我面试阿里巴巴结束,回学校就收到百度的电话通知,让30号去面试。
30号百度面试
百度面试是在公司总部,西二旗,我早上十点到百度,我以为会和阿里巴巴一样有人引导,也会有很多人面试,结果就发现我一个人,然后打电话联系之前打电话给我的那个人,他从楼上下来,把我带上4楼,里面所有人都在编代码,根本没有阿里巴巴招实习生那种场面,我都怀疑我是不是来错地方了,然后,接着一件让我无法理解的事情发生了,带我的那个人走到一个程序员的旁边,问了一句你有空吗,结果那人说没空,然后又找了一个人,然后那人问,有什么事,带我上去的那个人说“我这有一个想来实习的学生,你帮我面一下他怎么样。”然后这个程序员就拿了一张纸和一支笔,找了一个休息的地方坐下,叫我坐下,一开头就是一个算法题,题目大致如下:
我们定义两个字符串相等,如果这两个字符串内容一样,也就是不需要要求顺序,比如”aabcd”就和”abcda”相等,请写一个算法来验证两个字符串相等,要求效率是最优的。
问完问题,这个面试官就开始玩手机,一点都不尊重人,差不多两分钟后我说了一下我的想法,然后他就说不对,然后就把他认为正确的答案说给我听:就是我们先把两个字符串按照一定的规则排序,所有字符按ask码来排序,最后调用equals()方法判断两个字符相不相等,接着又问了一下java的基础知识,比如finally里面的代码什么时候执行之类的,很少问Android,最后就说可以了,我们这边过几天通知你,我可以说我到现在都没有收到相关通知吗…因为对百度的面试方式很不爽,所以百度的面试题我就没怎么记住。整个过程有一种很不尊重人的感觉,整个过程面试官就是一副我欠他几百万的感觉,根本没有和我好好说话。虽然我不是什么很厉害的人才,但是也没有这么随意的,包括面试官都是随便选一个程序员来面试我,感觉这个方面百度差阿里巴巴差太多了。如果百度的所有面试都这样,那么百度将会失去好多优秀的人才,希望李厂长能够改进一下他们的面试方案。
面试结束,我就去找我同学了,他在百度上班,然后和他吐槽了一下百度的面试,宣泄一番,心情有点改观,哈哈。然后又去找了一下ORACLE的朋友,在ORACLE转了一圈,改变了一些看法,那就是之前听说谁在ORACLE和IBM上班,感觉好NB,但是从这以后听到,就不会感觉他有多NB了,我是说在中国的ORACLE和IBM,而不是总部…如果大家认真看我上面百度的那道算法题,你回发现百度面试官说的并不对,因为我们还有线性时间内能完成的算法,那就是把所有字符全部放到HashMap<,String,integer>里面,然后遍历另一个字符串,有一个就从HashMap里面减去一个,结束后看HashMap为不为空,如果是空,那么就是相等。哎,对百度的面试官装B的行为简直是无法理解,如果你说对了我还可以理解,毕竟大牛性格都有点怪,关键你又不是大牛,因为他的算法不是最好的….
5号阿里巴巴面试
复试地点还是同一个,我是下午一点半到的,今天就没有之前幸运了,等了一个小时才叫我去面试,这个面试官还是和第一个面试问的问题差不多:
1,自我介绍
2,什么是深拷贝和浅拷贝的区别?
3,Android事件拦截原理。
4,自定义view如何做?
5,服务的开启方式。
6,Finally什么时候执行,什么情况不执行。
7,Double和float的区别。
8,广播如何开启
9,listview优化
10,事件分发
11,这个是算法题:我有一个500M的数据(数据格式是电话号码+归属地)需要和apk打包发布,如何存储这些数据,才能最小?写一个算法查询一个电话号码的归属地(这些电话号码都在这500M数据里)。
除了11这个算法题我没答上来,其他的都OK,因为都是常规问题,平时都用,很简单。11确实不知道怎么进行压缩存储,才能更小,网上也没有查到,如果大家有想法可以在下面留言。面试结束在大厅等候,收到二面通知是通过,又过了十分钟,通知面试,和上一个面试官一样,让自我介绍,介绍结束后问了一下职业规划,还有平时的学习习惯,有没有写blog的习惯之类的,没有问技术。同样问了一个算法题:
有8个球,除了一个球重一点之外,全部一样,给你一个天平,问最快能几次找出这个球。
我当时说3次,用二分法,面试官说还有更快的,然后没想出来。后面我回来想了一下,想出来了,两次,我们不先称4个,而是三个,两边就是6个,剩下2个,如果天平平衡,那么重的那个必然在剩下那两个里面,如果不平衡,就在重的那一边里面,随便选两个再称一次,就能选出来。
三面结束,通过,又过了十分钟,开始交叉面试,我觉得就是HR面试,这个面试官什么都问,从我大一参加数学建模俱乐部开始,怎么管理俱乐部,如何和学校领导交流,这一面注重的是个人的软技能,你这个人未来的可塑性。和HR聊了差不多一个半点,矿泉水喝了两瓶,一直在讲,以至于后来,我感觉我自己都不知道自己在说啥(包括想工作的地点,部门)…面试结束,HR问我有什么问题,我就说我不符合招聘的条件,阿里巴巴之前给我发邮件,内容如下:
亲爱的同学,您好
谢谢您参加阿里巴巴实习生招聘,从您的投递简历时填写的毕业时间发现您并不符合阿里巴巴本次实习生招聘毕业时间(2015.9.1-2019.12.31)的限制噢。 然而,阿里巴巴是一个爱才的公司,我们依然欢迎亲通过官网个人中心预约现场面试。但是由于阿里巴巴针对2015届毕业生的招聘已经结束,无论您的面试结果如何,我们都无法承诺您能加入阿里巴巴。所以也请亲慎重考虑,谢谢!(如您已经预约面试想取消,也可随时登陆校招官网点击“去预约”来取消您之前的预约;如您未预约面试,无需做任何操作)
如有疑问,欢迎咨询客服MM:http://service.taobao.com/support/minerva/robot.htm?source_id=1406135106。
我把邮件给HR看了,然后HR就给总部打完电话,说这个没有问题,说如果都通过,我们会录取你的。然后一整天的面试就结束了,出来的时候六点半,从一点半到六点半..好长,这就是我整个面试过程,感觉阿里在招聘方面确实比百度专业太多,太多。至少在阿里的招聘过程中完全体现了他邮件里面说的“阿里巴巴是一个爱才的公司“,虽然我不是什么很NB的人,但是在这里我能体会到人文的关怀,百度的话,我除了感受到被鄙视之外,我没有什么好感,而且是无缘无故的鄙视,希望李厂长能在这方面,改进一下,这样百度才能有更多优秀的人进入百度。另外感谢这个过程中帮助过我的同学和师兄师姐们,谢谢你们!
阿里巴巴,我来了!