笔试加面试总共进行了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分钟,其实就是个冒泡排序算法,没几分钟就做完了,却等了半个小时,然后慌张的回来后说让我把具体结果写出来,然后又慌张的去了,又等了将近二十分钟才回来,这时候已经很晚了,然后看了看算法就让我回去了,然后就等通知吧。我心里想,腾讯的主管真的有这么忙么?