2017年腾讯移动客户端面试总结-失败经验

想不到第一次的简书就交给了这次面试经验总结(CSDN同步上线!),在正式参加面试之前,我也看了很多大牛们发表的面试经验总结,虽然我不是大牛,但是我希望后来的人也能够看到我的面试足迹,对他们面试BAT有些许的帮助,就好。

首先先放上自己的面试结果:终止于第一轮面试,虽然走的不远,但是我觉得自己仅仅缺乏一些运气而已,下面会说到为何我会这样看。总之,这一次面试对自己的帮助也是挺大的,说完这么多废话后,接下来,就是正文总结啦。

## 笔试总结 ##

首先总结一下BAT三家以及其他一些知名互联网公司的校招比较,就笔试而言,最难的是A、其次是B、T,其余的公司我觉得最难的是网易、京东、去哪儿等等。A注重知识深度,B不评价、T注重知识的广度(T笔试会考IOS和Android,T的笔试刷人最少),我也去参加过一些其他非互联网公司的校招,关于笔试如何去准备,首先应该了解公司的性质再去进行准备,打个比方,深信服公司做的事情是偏底层应用的嵌入式产品,那么他们的Android笔试题(对!我是一名Android程序员!)就几乎全是C/C++,就连编程题都是考的JNI应用和Java、C/C++方法代码互用。所以当大家准备去参加某个公司的校招时,一定要明白他们的大体业务再进行相应的笔试准备,否则是真的徒劳!就面试来说的话,其实我也只参加了腾讯的面试,嘿嘿嘿。

## 面试经验 ##

接下来我就介绍自己的腾讯面试经验啦!由于我是在重庆某985大学读书,在周末前一通电话后收到腾讯的面试邀请是十分惊喜的,然后就屁跌屁跌的跑来成都准备面试,面试的整体流程,包括T的整体校招流程是特别让人喜爱的!反正我是觉得腾讯是真的重视各位应聘学生,甚至在面试候场区设置了“霸面简历区”(所以笔试没过的同学别气馁!厚着脸皮上!),下午两点面试,我下午一点便到达了酒店,然后就是一系列的等待,我发现了一个比较惊奇的现象,就是全场只有我一个人穿了正装,其实对于研发岗来说,正装不是必须的,甚至有人打趣的说道:“穿着拖鞋和背心扣着鼻屎来面试的才是真正的大佬!”,说实话我是觉得这样是在歧视研发人员,我个人更想做一名“穿着西装的开发工程师”,而不是“程序猿”;好了好了,话题回来,关于是否穿西装这个问题,我觉得应该看个人情况,反正我觉得西装是体现对面试官的尊重,也能提升自己的形象和自信度,当然我不保证大家也能像我一样。。。不觉得自己是一个奇葩。。。。哼!喝。下面进入正题:面试房间是一家五星级大酒店的楼顶房,请原谅我这短浅的见识,反正我是惊呆了,整体给我的感觉是很放松,包括面试官其实也是十分好说话的,但是这并不代表你能放肆哦!

首先面试官让我进行自我介绍,我按照事前准备说了一些创业经历啊,特长啊之类的。然后便是根据简历的情况进行一些深入的询问,比如我创业做什么等等话题。。。接下来,就是聊简历中提到的APP项目,让我展示给他看,然后指着我的ListView,开始了问题:“如何优化ListView?如何解决ListView复用?”相信这些问题都很基础哈,然后问了一个让我懵逼的问题:“convertView复用的原理是什么”,讲真,我很懵逼,炒鸡懵逼!我自认为看源码还是很多的,什么Activity启动流程源码啊,View绘制流程啊,Handler原理啊等等我都能准确说出,但是这个convertView我还真不知道,甚至还真没想过居然会问这个!但是面试官还是很好,说不知道就不知道,没关系是吧(毕竟LIstView优化我描述的很好)、然后问了我一些问题,大家可以参考一下:1.线程池。2.JavaGC回收机制(我昨晚突击!)3.如何用不加锁的方式用保证hashmap数据的线程安全性(没回答出来,欢迎大家探讨)等等一些问题。。。

接下来的问题就主要是算法类问题,由于我是非计算机专业的,算法底子很薄弱,所以自我介绍我也直接认怂,委婉表示“我算法不行,考简单点”这层意思,所以其实算法考的也不算太难,但是无奈我还是准备不充分(太菜),中招了,我想大概失败原因在这里吧。首先,第一道算法题:多维数据排序(一个电话簿以名字进行排序,电话号码不同,名字可能相同),我又懵了!你存个电话薄为什么不用数据库!然后我就再次认怂,哇涩,遇到这种情况,我都是用数据库的咧,把名字设主键,电话号码设为外部键的咧;然后他说的确现实生活中用数据库多,但是就想让我排序,让我写代码或者想法也行。“好的,骚等我几分钟~”。。。大脑CPU高速运转,然后想出来了一个办法:hashcode值排序,如果hash相同再判断电话号码,以此判断是否有效。然后说我思路是对的,还是让我写代码,我怕露馅,直接说了不会。。。(我傻了!)第二道算法题:判断质数。这个简单啊!然后我写了,然后问我能不能继续优化?能不能继续优化?for循环需要修改吗?—其实我之前看过一点质数判断的方法,也知道个大概,装作沉思了一分钟后,先文字描述质数的特点,判断思路,然后写代码。然后迫不及待的提交代码了,都没检查。。。。漏洞百出,哎!

最后,按照常规,让我问一个问题,我当然是问特别的问题:“我是一名非计算机学院的学生,面试官能够给我的面试提一些建议吗,我想提高”,原话我忘了,但是意思差不多,然后面试官就说了我的问题:1.多看源码,要知其然,更要知其所以然,不能浮于表面(我冤枉啊!)。2.算法是基础,多练习算法,要领悟严谨的重要性。(嗯,好的,谢谢面试官哥哥。T T );

## 一些建议 ##

面试流程就是这样啦,我现在也没收到短信,所以也就知道自己失败了,但是不气馁,因为我知道自己的差距了,之后也有目标去弥补自己的知识漏洞。总之,本次面试后,我想给大家一些建议,尤其是非计算机专业的学生选择Android这条路的同学:

1.请坚定你热爱Android的心,这不是一句废话;

2.算法基础很重要!一定要很严谨地对待!

3.知其然,知其所以然。

4.很弱的地方,先认怂,你懂的。

5.不会的问题,一定不要认怂!就算不会,也要想办法说一些和问题有关的知识!最后说关于XXXX,我的确不了解,之后会去了解之类的。

6.简历突出自己的特点。

7.不管做什么,都必须要做得完美无缺,因为参加面试的都是大佬,一个问题没回答上,就是很大的差距,毕竟岗位就只有那么多,当然也不必多大心理包袱,要学会与面试官博弈—面试官想得到什么答案。

好啦,总结的差不多啦,希望对大家有些帮助,最后附上一些我认为比较好的书:

1.《第二行代码》

2.《Android开发艺术探索》

3.《Android高级进阶》

4.《深入理解Android系统》

5.《嗨呀!算法》

## 故事 ##

对了,有人问,为什么我说自己只是欠缺一点运气呢?其实这不是我的自负,是我的直觉,这是一个比较奇葩的故事,也是应届同学应该注意的问题,请备好瓜子听我讲故事。。。准备秋招我只用了一个星期不到,对!一个星期不到!秋招准备其实真的不难,应该校招笔试就考那么一点知识和那么一堆常识。。。多看看经验之类的就能弥补,但是也需要时间去准备,重点复习算法和语言基础。(越大的公司,考的东西越接近底层,google就完全考高数之类的了),那为什么我不多准备时间呢!其实我也想,但是在决定参加秋招之前。。。我被某个公司“坑”了一把,我去参加了实习生,说好实习生能转正,我每天七点五十到岗,晚上八点离岗,哪有时间复习,错过了好多投递机会。。呜呜呜,结果公司不要我,哎,都是泪。所以,敲黑板!大家一定要提前至少三个月关注各大互联网企业校招!并且利用好自己的假期!

面经到此结束,欢迎与我联系!我是一名业余码农选手,我为自己带盐!

推荐阅读更多精彩内容