日期:2014-05-19  浏览次数:20472 次

腾讯面试题
昨天刚面试腾讯QQ公司,感觉QQ公司气氛很好,而且环境不错。。
我两点去的,等到3点就轮到我了。面试的人很多,有很多是研究生,很多是资历很深的人。听说我算是幸运的,有的很早来了,但是一直没有轮到他们。

首先面试你的工作经验,问一些工作上的问题。
然后笔试,ASP。NET,C#,JS,SQL,ADO。NET,算法,委托,事件都考了,主要是注重你的基础,对C#,ASP。NET的内核的了解。。
然后面试一些智力题。
最后面试一些考察你的思维能力的题。。

有几个题大家可以看看:(欢迎大家讨论)
QQ数据库的用户信息表现在有5亿多条记录,现在请给出怎么样设计,使通过QQ号码查询QQ用户信息的速度更快。。用怎么样的算法算出查询大概需要多少的系统开销。。

这栋楼有很多公司,大家多是9点上班,只有4部电梯,如果你是电梯管理员怎么样合理安排他们上楼。。


------解决方案--------------------
QQ数据库的用户信息表现在有5亿多条记录,现在请给出怎么样设计,使通过QQ号码查询QQ用户信息的速度更快。。用怎么样的算法算出查询大概需要多少的系统开销。。

-------------------
按QQ位数分段存储

等待更好的办法
------解决方案--------------------

QQ数据库的用户信息表现在有5亿多条记录,现在请给出怎么样设计,使通过QQ号码查询QQ用户信息的速度更快。。用怎么样的算法算出查询大概需要多少的系统开销。。

-------------------
按QQ位数分段存储

等待更好的办法


------

同意。。最好再分细点。。。
------解决方案--------------------
把每个QQ用户的信息按照固定的大小储存,并且为每一个QQ用户保留固定大小的空间,这样的话,就可以直接按偏移量来检索。这是最快的方式,牺牲空间换效率。

加入一个索引层进行地址空间变换,那么就可以节省空间。

QQ号码是一个整形的数字,最多也就是12位,很好解决的。
------解决方案--------------------
昨天我也去滕讯了,咋这些乱七八糟问题一个都没问呢?难道是看人的?


我考的都是很实际的。。。需求变更呀,设计模式呀,页面模型呀,垃圾收集机制呀。。。。。


MS滕讯只招3个.Net的,一个岗位1人一个岗位2人。。。。可我看见这个帖子去过的就。。。。哈哈哈哈。。。 有意思,觉题目没什么难度都考不出水平差别的~~~~

------解决方案--------------------
分段查找+把qq号倒过来找,这样可以减少开销!
两个相差较大的数字不在一个数据段!