今天的面试等待真是让我倍受煎熬,本来该十一点半的,结果被一直拖到一点才开始,当时真是又困又饿,不过塞翁失马,发现接待的一位姐姐居然是同一个学校的学姐,人还不错哦~
我面的终端开发,一进去后面试官都没要我简历,就直接跟我说面试流程分三部分,第一是两道数据结构算法可能带点智力题,第二部分是一个开放性的题,第三部分是你有什么想要知道的关于腾讯的问题可以交流。
首先他让我说了一下我近期做过的项目,然后我简单介绍了两个,他也随便问了一下问题,不过没问很技术的。然后他就开始出问题了,首先他说QQ有一个异常登录的功能,假如说在五分钟之内同一个QQ号在不同的IP登录,就会提示,那么假如每分钟有五万个QQ号码登录,你怎样设计数据结构或者方法来实现一个快速的查找,这个题目因为只关注五分钟内的数据,所以同时你还要考虑淘汰五分钟以外的数据。
我本来就属于没什么面试经验的,所以这是我第一次被问到这种问题,所以考虑的时间有点长,不过面试官还好,一直有在给我提示,我考虑了一下说可以先把QQ号码按照号码的多少位做一个分组,这样方便查找,他说这个可以的,然后让我继续想,然后我想可以把每组QQ号按特性做成链接链表的形式,指向每一组,组里面可以用队列,每一秒钟新进来数据的时候淘汰老数据,面试官说如果用队列的话,查找的效率就会很低,让我再想,不过后来我思维有点发散不了了,没能想到又能方便快速查找,又能有效淘汰老数据的方法,他就结束了这个题。。这个题有人知道解决方法么~望回复~~
然后第二题是说有一千个苹果,有无数个箱子,怎样将这一千个苹果放到最少数量的箱子里,使的我随意说出一个一千以内的数字,都能用箱子组合起来使得苹果数量等于那个数字。
这题我一开始又短路了(各位鄙视我吧)。。然后面试官给了我各种提示,先是说各种箱子有不同种组合,然后有的数字比如说3 和1,2重复,而有重复肯定不是最优解,最后我实在还是没想到,他又说你看比如1,2,4,三种了,这样3,5,6,7都能被表示出来,看到1,2,4,8,我想到说那我后面可以16,32,64,按照2是幂次方放。他说你能证明下么,然后我又想了想突然恍然大悟,数字都能写成二进制形式,所以按照二进制到十进制的转化过程就是能够写成2的幂次方相加的形式,所以按照这样放能够表示出所有数字,而且箱子最少。
第一部分算结束了,然后他开始问一个开放性的题,他说如何评估2010年世博会给上海带来的总的收益,类似于GDP一样的。我没看过这种关于评估的东西,所以回答的也不怎么好,不过面试官还是给了我很多参考,比如考虑世博园旁边一家小餐馆,平时一天赚2000,世博的时候一天赚2万,后来他去买了辆车,剩下的钱沉淀了,汽车厂商得到了钱,又去做相应的投资怎样怎样的。。反正我觉得我没答好,这这种评估类的问题真不知道怎么答,有谁有经验么~
最后他说我可以问他一些问题,然后我就随便问了一些关于微信和手机QQ的,面试官跟我说的蛮多的,从他说的话我感觉他是手机QQ团队的,聊完后就把简历给了他,结束了面试。。出门后看时间,差不多一小时二十分钟,饿死了。。。
这次面试的感受就是平时有去准备技术面试,比如语法细节,数据结构之类的,但是这次几乎完全没考,主要是要给出解决问题的方案,其实在考虑第一个问题的淘汰QQ号码的时候,脑袋里冒出操作系统的缺页中断淘汰算法,不过感觉都没用,所以再这方面还很欠缺。然后评估数据那种也需要大概了解一下吧,这种分析的能力 还是很有必要的。
PS:最后文字功底不大好,让你见笑了。。
为我后面的保研考试还有其他面试攒rp~