腾讯公司程序员面试题及答案详解.docVIP

腾讯公司程序员面试题及答案详解.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
腾讯公司程序员面试题及答案详解 2015-12-19:2035?手机版   小伙伴们~又见面啦!小编这厢有礼啦!今天给大家带来的是腾讯的面试题,觉得有用的亲,赏个脸呗。   1、腾讯笔试题:const的含义及实现机制   const的含义及实现机制,比如:const int i,是怎么做到i只可读的?   const用来说明所定义的变量是只读的。   这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。   2、腾讯笔试题:买200返100优惠券,实际上折扣是多少?   到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?   由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。   假设开始时花了x元,那么可以买到 x + x/2 + x/4 + ...的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)   如果使用优惠券买东西不能获得新的优惠券,那么总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.   3、腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?   accept发生在三次握手之后。   第一次握手:客户端发送syn包(syn=j)到服务器。   第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。   第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。   三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。   4、腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包   用UDP协议通讯时怎样得知目标机是否获得了数据包?   可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。   发送方在发送数据时将此ID和发送时间记录在本地。   接收方在收到数据后将ID再发给发送方作为回应。   发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。   5、腾讯笔试题:统计论坛在线人数分布   求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。   一天总共有 3600*24 = 86400秒。   定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。   然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。   这样处理一遍后数组中存储了每秒中的人数变化情况。   定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。   假设一天开始时论坛在线人数为0,则第1秒的人数online_num[0] = delta[0]。第n+1秒的人数online_num[n] = online_num[n-1] + delta[n]。   这样我们就获得了一天中任意时间的在线人数。   6、腾讯笔试题:从10G个数中找到中数 在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。   不妨假设10G个整数是64bit的。   2G内存可以存放256M个64bit整数。   我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。   如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。   7、腾讯笔试题:两个整数集合A和B,求其交集   两个整数集合A和B,求其交集。   1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。   2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。   通过更改map中的值,避免了将同样的值输出两次。   8、腾讯笔试题:找出1到10w中没有出现的两个数字

文档评论(0)

cjyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档