tx面试题集

 1、有一个2G的文件,如果只有300m内存,应该怎么反置文件?
2、如何在内存中快速从2亿QQ用户中通过号码快速得到用户的信息?
3、很多用户进行查询和更新用户信息的操作怎么办?
4、同时有10W个连接请求,该如何处理?

 

我来发答案:
一、
1、我觉得:
1、NIO内存映射
2、Cache,哈希表(Map接口)
3、缓存,事务处理
3、线程池+I/O多路复用+集群均衡负载
 

二、分机器。qq我觉得其实是最容易扩容的,按照qq号分就可以了。每10万个号进入一组,分组处理,硬件几乎可以无限增加,毫无性能问题可言。



三、1、NIO内存映射
2、Cache,哈希表(Map接口)
3、缓存,事务处理
3、线程池+I/O多路复用+集群均衡负载

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值