论坛首页 招聘求职论坛

QQ最新面试题

浏览 3019 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-26  
1、有一个2G的文件,如果只有300m内存,应该怎么反置文件?
2、如何在内存中快速从2亿QQ用户中通过号码快速得到用户的信息?
3、很多用户进行查询和更新用户信息的操作怎么办?
4、同时有10W个连接请求,该如何处理?

我觉得:
1、NIO内存映射
2、Cache,哈希表(Map接口)
3、缓存,事务处理
3、线程池+I/O多路复用+集群均衡负载
大家一起讨论下啊.
   发表时间:2008-10-26  
分机器。qq我觉得其实是最容易扩容的,按照qq号分就可以了。每10万个号进入一组,分组处理,硬件几乎可以无限增加,毫无性能问题可言。
0 请登录后投票
   发表时间:2008-10-26  
1、NIO内存映射
2、Cache,哈希表(Map接口)
3、缓存,事务处理
3、线程池+I/O多路复用+集群均衡负载

这个回答基本是靠谱的,如果你面试的普通程序员, 应该是很优秀的回答了。 但是, 对于一个架构师级别的面试, 这个回答, 可能是不满意的。

如果使用一个不存在的QQ号码进行冲击系统, 这个是很严重的问题, 去看看BloomFilter. 对于问题3, 事务一般不会使用,可以考虑使用日志类事务检查, 或者使用事务规范, 自己完成分布式事务。

同时有10W个连接请求,该如何处理? 这是个10K问题, 不是问你怎么做, 而是问你系统对于大规模连接, 对于单一机器的处理办法, 以及规模扩展的办法。
http://www.kegel.com/c10k.html 这个有兴趣的可以看看, 这个很经典的文章。
   实际上, 这些问题都是目前QQ在大规模环境下真实问题。 这些问题不是回答的来就成的, 关键是是否一定的某些问题的实际操作解决能力。


0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics