腾讯一面有感(移动开发岗位)

来到了大族大厦后,很快轮到我去会议厅面试了。进去后看到一个戴着眼镜的面试官。他开着电脑坐在靠窗的椅子上。进去之后我先进行了简单的自我介绍,但是心里还是有点小紧张,因为听说秋招比春招难。然后就开始了。

1他先看了看我的简历,由于我简历上有一些IOS的项目,他就开始问。我就打开我的笔记本,因为我IOS主要也是在前端耕耘,所以给他看了我做一个类似Forest开始界面的一个时钟计时器,菜单动画等等。他看了看,问我这里有什么难度吗?我就回答说这里有个UI更新的难度。因为我的时钟UI当你拖动它的时候,指针会转动,并且下面会显示你希望定时的时间。有的人使用 [NSThread ....]启动了一个新线程来刷新时钟,但是那样做我认为不好,我说了我是直接检测每当用户拖动的时候都会用到[set needdisplay]来更新UI。他说为什么?不是启动一个新线程更好么?接着说了一些同步异步的话。我回答得很牵强,我说那样每时每刻都在刷新UI,但是时间上这个UI相当长时间不需要更新,所以只要检测到有手指拖动它就通知它更新就好啦。

2接着他问了我内存优化的问题,这个问题我也回答的非常牵强。我说我的项目里用的是Coredate 框架优化内存的,接着把Coredate 说了一通。

3他接着看了看我的简历后,开始问一个奇怪的问题,"你是什么专业的?软件工程吗?和计算机科学有啥区别?” 我就随便回答一下课程上的区别,比如算法分析是选修在软工但必修在计算机科学。他引到了算法优化。我于是说了我对于排序算法的优化并且用电脑给他展示了一些图表啥的。就是快速排序和另一个算法结合起来。

4他问我你对面向对象有什么理解吗?常规问题,我随便扯了一下,并且附上了一些我对设计模式的理解。

5他问我对手机QQ的好友列表有什么数据结构可以推荐的? 对于这个问题我马上想到了散列表,因为他此时拿出他的手机QQ界面,我看到了好多分类列表。根据分类列采用链式解决冲突法的散列表比较合适,因为手机QQ的好友顺序排序不容易变。但是他提了说,但是手机QQ加好友和删好友的机率比较低哦,你觉得散列表好吗?

 我蛋蛋隐隐作痛,他不满意了。于是我想到了另一个思路,我说随着好友数目越来越多,人们更加倾向用搜索功能,于是用树,词典树,trie树。百度用的数据结构。查找好友更加方便了呢!

6于是他笑了,但是没有说啥,盯着他的电脑开始说“你觉得TCP 和 HTTP”的区别是啥?我说TCP都是发生在HTTP后头的,乱七八槽说了一通。最后他说我猜错了,是层的区别TCP是传输层,HTTP是应用层。HTTP建立在TCP之上的。

7他开始有点聊家常的味道,问我为什么选IOS不选安卓,他说他知道对于学生来说入手一个苹果电脑有门槛。于是我说正是因为有门槛,就成了优势嘛顺便扯了一下INS。于是他此时说了一通意味深长的话,说“腾讯里,大家都有很贵的电脑,所以也不是什么优势啦其实,而且基础知识好了。让别人带一带IOS很容易上手啦。”没错,我心里知道这是一种暗示,"暗示本公司不缺IOS搬砖的。IOS辣么简单直接后台人员兼职" 我的虎躯开始颤栗起来。

8后面一段时间他也不知道问啥了?但是他好像还想问问我问题的样子,最后看着我的简历,说其实看得出来你很积极学习。也做过很多项目。但是你笔试网络没有一道对的,而且操作系统只对一道。你的基础还是很不牢固哇  我也知道啊大哥,我面试前都不知道看了多少基础知识啊。于是我只好厚脸皮地说,我很有毅力,如果给我一次机会我相信自己能够很快上手这些基础知识的!

9最后的最后了,我问他我能提两个问题吗?我问“腾讯有几次面试?“他说有时4次有时3次,1面部门经理,2面总监,3面HR,4面大佬(看心情)

我再问"那请问我刚刚面试有什么不足的吗?”他说有两个!1基础嘛不够扎实 2就是项目没有难度。关于项目没有难度他说,你的项目做了那么多,但是没有一个是完整的,解决了某个难题。比如迅雷当年解决了多线程下载的难题。还有微信等等。他说他的工作经常编程遇到的问题,上百度上谷歌问大牛都没有用,这样难度的BUG或问题,“而你的项目没有展示出你有这个解决难题的能力出来!”

1珍视基础,尤其网络,操作系统。

2做的项目要很有难度,衡量标准是百度和谷歌都无法帮你完成该项目。以此体现自己解决问题的价值。

原文地址:https://www.cnblogs.com/zzzPark/p/5968269.html