前段时间一猎头联系我说对腾讯上海Android开发的职位感兴趣不,其实自己并不想换工作,但想着就顺便投份简历试试,也没怎么当回事,要知道去年的时候投过腾讯,但是人家压根没鸟我。没想到这次腾讯还真打电话给我了,还真是有点小激动的,约好了时间,也就在昨天下午2:30去面试了。
面试地点在田林路397号腾云大厦,这里必须要说下坑爹的百度地图,让我做9号线在桂林路下,然后步行过去,路线完全不对,绕了一圈最后还是害得我打车过去的。正确的路线是9号线漕河泾下,附近直接就走过去了,腾讯在上海有两个地方,一个是腾讯大厦,一个是腾云大厦,其实就在田林路的两边。
网上搜了下说腾讯面试好好几轮,而且可能要好几天才能面完,但是是现在制度变了还是我比较幸运,一个下午直接面完了,笔试加面试总共进行了4轮笔试加面试。
第一轮是笔试,时间45分钟,题目大多数都是关于Android的,难度说难也不太难,说简单也不简单,而且全是大题目,没有什么填空选择之类的小题目,总共貌似有11大题,自己凭印象记得大多数题目如下:
如何画出一个印章的图案;
如何实现一个字体的描边与阴影效果;
同一个应用程序的不同Activity可以运行在不同的进程中么?如果可以,举例说明;
Java中的线程同步有哪几种方式,举例说明;
说说对Handler, Looper, 以及HandlerThread的理解;
dp, dip, dpi, px, sp是什么意思以及他们的换算公式?layout-sw600dp, layout-h600dp分别代表什么意思;
写出Activity的几中启动方式,并简单说说自己的理解或者使用场景;
如何设计一个文件的断点续传系统;
一个关于xml的布局问题,大概意思就是如何让两个TextView在一个RelativeLayout水平居中显示;
设计一个从网络请求数据,图片,并加载到列表的系统,画出客户端架构并简单的分析下;
45分钟的时间做完不是太充裕,所以如果你想用手机搜寻答案的话时间还是不太能来及的,除了断点续传那个没有太多了解外其他都还是掌握的知识点,自己感觉笔试做的还是不错。
笔试做完就有面试官来面试,应该是一个Android的一个Leader,先和你聊了下笔试的问题,毕竟有些知识点自己答得不是很细,然后又跟你聊项目经验,基本全是聊Android方面的知识,全程聊的比较愉快,感觉人也蛮随和的,如果你的项目是你脚踏实地完成的,这一轮应该没问题。
之后下一轮面试又来个应该是Team Leader,这人应该不怎么懂Android,全程主要和你聊聊你项目的架构以及实现思路,然后项目中遇到过的困难以及有没有可改进的地方,这轮聊的也比较愉快,然后直接让我进入下一轮,和他们的主管面试。说他们主管在开会,要等等。我心想应该是最后一轮的,没想到一等就等了比较久,然后主管出来了,寒暄几句说给我出个题目吧,直接给我出个二叉树,我说我是数学专业的,没学过数据结构和算法,然后感觉他脸色不太对,稍后又给我改了一个算法题,说是给我15分钟,其实就是个冒泡排序算法,没几分钟就做完了,却等了半个小时,然后慌张的回来后说让我把具体结果写出来,然后又慌张的去了,又等了将近二十分钟才回来,这时候已经很晚了,然后看了看算法就让我回去了,然后就等通知吧。我心里想,腾讯的主管真的有这么忙么?
总的来说腾讯上海这边Android的研发实力不怎么强,中间和第一个Android Leader聊的时候发现他竟然不知道ActivityGroup, 聊到笔试题最后一题的时候,我刚好有一篇Blog讲到了架构,地址在这里:再看薄荷,期间谈到了REST,谈到了Volley,ORM之类的,看着他似懂非懂的,不知道是否真的懂。再说最后一轮的主管面试吧,听到我说没学过数据结构和算法,感觉就对我印象不太好了,其实我觉得客户端更注重的是体验和交互,那些算法可能会对后端大数据的处理比较重要,但大公司貌似都有这种默认的要求。最后说这次招聘的是上海SNG部门,其实说白了就是腾讯上海这边的一个小部门,主要产品目前是“天天P图”和“水印相机”,可以算的上是腾讯可有可无的一个部门。虽然现在来看拿到offer的可能比较小,即使真的给我offer了,出于以上种种原因,可能也不会对这个职位感兴趣了,希望能给对此职位感兴趣的人一些帮助吧!