腾讯qq|腾讯43亿QQ号码用完后怎么办?

腾讯qq|腾讯43亿QQ号码用完后怎么办?

文章图片

腾讯qq|腾讯43亿QQ号码用完后怎么办?

文章图片

【腾讯qq|腾讯43亿QQ号码用完后怎么办?】腾讯qq|腾讯43亿QQ号码用完后怎么办?

文章图片


最近有读者提问:听说腾讯QQ号码的理论最大值是43亿左右 , 那么用完后会怎样呢?
今天 , 来聊一聊与腾讯QQ号码相关的三个问题 , 相信大家会有一个比较完整的认识 。

  • QQ号的范围是多少?
  • QQ号用完后会怎样?
  • QQ号和bitmap渊源?
关于第一个问题 , 看完如下的有趣动图之后 , 肯定就会知道QQ号的最小值和最大值 。

一. QQ号的范围是多少?相信多数朋友都用过QQ , 不过估计有些人很久没登录过了 。 你还记得自己的QQ号码吗?你知道QQ号码有多少位数吗?你知道QQ号码的大小范围吗?
别着急 , 我们会一一来解答 。 大家的微信号是字符串形式的 , 带有一些数字和字母 , 但QQ号是纯数字 。 在腾讯QQ后台的程序中 , 经常看到这样的代码:
unsigned int uin = getFromCookie(cookie \"uin\") ;
if ( uin < 10001 )
{
  log.Error(\"invalid uin %u\" uin) ;
  return INVALID_UIN ;


从这段简单的代码中 , 我们可以看出很多端倪 。 其中uin指代的就是QQ号码 , 有人说uin是unsigned int的缩写 , 有人说是user ID number的缩写 。
不管怎样 , uin表示的就是QQ号码 , 且是unsigned int类型 , 故QQ号就是4字节无符号整数 , 共32bit 也就是说 , QQ号的取值范围是:[0 2^32 - 1

然而 , 这只是理论情况 , 从上面代码的判断可知 , QQ号码的最小值是10001 ,为什么腾讯要做这种限制呢?其实没有为什么 , 仅仅是早期的一个设定而已 。
对于QQ号码而言 , 从10001开始 , 号越小 , 就大致表明申请时间越早 , 是一个尊贵号 。 那么 , 10001是谁的QQ号呢?很容易猜 , 不过他实际不用这个号 。
2^32 - 1的值是4294967295 是一个10位的整数 , 大约是43亿 , 这就是QQ号码的理论最大值 , 你肯定没有见过11位的QQ号 , 至少目前是不可能存在的 。
到目前为止 , 大家肯定就能理解下图中的数字含义了 。 在后续面试腾讯时 , 如果再问到QQ号码相关的问题 , 一定要意识到QQ号码的大小范围 , 会有帮助的 。

二. QQ号用完后会怎样?既然QQ号码的值是有范围的 , 那么自然有疑问:如果这么多QQ号码都被申请完后 , 结果会怎样呢?这是一个有趣的问题 , 但别替腾讯担心这些根本问题 。
对于很多互联网公司而言 , 账号体系就是生命线 , 对腾讯尤其如此 。 最近几年 , 微信的势头超过QQ QQ的月活远低于10亿 , 注册了的QQ也远小于43亿个 。
所以 , 完全不用担心QQ号会超过43亿 , 在相当长的一段时间内 , 43亿是达不到的 。 而且 , 腾讯现在做了各种限制 , 并不会允许一个人无限地注册QQ号码 。
另外 , 如果一个QQ号被注册了 , 但长期不登录 , 那么就相当于占着茅坑不拉屎 , 浪费资源 。 此时 , 腾讯也会考虑对QQ号进行回收 , 具体的逻辑就不说了 。
然而 , 凡事总有万一 , 如果有一天QQ号码突破了43亿 , 那也可以 , 对腾讯来说 , 意味着业务蓬勃发展 , 也是好事 。 那么 , QQ后台很多代码就需要重构了 。

三. QQ号和bitmap渊源在腾讯的面试题中 , 经常以QQ号码为背景进行考察 。 比如典型题目:文件中有40亿个QQ号码 , 如何进行去重?