腾讯程序员笔试题及答案.docx

上传人:rrsccc 文档编号:9721299 上传时间:2021-03-20 格式:DOCX 页数:11 大小:73.11KB
返回 下载 相关 举报
腾讯程序员笔试题及答案.docx_第1页
第1页 / 共11页
腾讯程序员笔试题及答案.docx_第2页
第2页 / 共11页
腾讯程序员笔试题及答案.docx_第3页
第3页 / 共11页
腾讯程序员笔试题及答案.docx_第4页
第4页 / 共11页
腾讯程序员笔试题及答案.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《腾讯程序员笔试题及答案.docx》由会员分享,可在线阅读,更多相关《腾讯程序员笔试题及答案.docx(11页珍藏版)》请在三一文库上搜索。

1、腾讯程序员笔试题及答案腾讯是国内数一数二的 IT 企业了。那么每年想要进入腾讯公司的应聘者也是络绎不绝。 那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。腾讯笔试题: const 的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到 i 只可读的?const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。更多阅读:.92ask./Archive/?action=show&id=18初探编译器 static、const 之实现原理腾讯笔试题:买200 返 100 优惠券,实际上折扣是多少

2、?到商店里买 200的商品返还 100优惠券(可以在本商店代替现金) 。请问实际上折扣是多少?由于优惠券可以代替现金,所以可以使用 200 元优惠券买东西,然后还可以获得 100 元的优惠券。假设开始时花了x 元,那么可以买到x + x/2 + x/4 + .的东西。所以实际上折扣是50%(.当然,大部分时候很难一直兑换下去,所以 50%是折扣的上限)如果使用优惠券买东西不能获得新的优惠券,那么总过花去了 200 元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.腾讯笔试题: tcp 三次握手的过程, aept 发生在三次握手哪个阶段?aept发生在三次握手之后。

3、第一次握手:客户端发送syn 包(syn=j) 到服务器。第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1 ),同时自己也发送一个 ASK包( ask=k)。第三次握手: 客户端收到服务器的 SYNACK包,向服务器发送确认包 ACK(ack=k+1)。三次握手完成后,客户端和服务器就建立了 tcp 连接。这时可以调用 aept 函数获得此连接。腾讯笔试题:用UDp协议通讯时怎样得知目标机是否获得了数据包用 UDp协议通讯时怎样得知目标机是否获得了数据包?可以在每个数据包中插入一个唯一的 ID,比如 timestamp 或者递增的 int 。发送方在发送数据时将此ID

4、 和发送时间记录在本地。接收方在收到数据后将ID 再发给发送方作为回应。发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失, 需要重复上面的过程重新发送一次,直到确定对方收到。关于 UDp协议的简单介绍,可以参考baike.baidu./view/30509.htm腾讯笔试题:统计论坛在线人数分布求一个论坛的在线人数,假设有一个论坛,其ID 有两亿个,每个ID 从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。一天总共有 3600*24 = 86400秒。定义一个长度为 86400

5、的整数数组 int delta86400 ,每个整数对应这一秒的人数变化值, 可能为正也可能为负。 开始时将数组元素都初始化为 0。然后依次读入每个用户的时间和退出时间,将与时间对应的整数值加 1,将与退出时间对应的整数值减 1。这样处理一遍后数组中存储了每秒中的人数变化情况。定义另外一个长度为 86400的整数数组 int online_num86400 ,每个整数对应这一秒的论坛在线人数。假设一天开始时论坛在线人数为0,则第 1 秒的人数 online_num0= delta0 。第 n+1 秒的人数 online_numn = online_numn-1 + deltan 。这样我们就获

6、得了一天中任意时间的在线人数。腾讯笔试题:从10G个数中找到中数在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。不妨假设 10G个整数是 64bit 的。2G 内存可以存放256M个 64bit整数。我们可以将 64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边 10G 整数后,我们便知道中数在那个范围内出现, 以及这个范围内总共出现了多少个整数。如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小

7、的范围( 256M=228,所以最多需要 3 次就可以将此范围缩小到 1,也就找到了中数)。腾讯笔试题:两个整数集合A 和 B,求其交集两个整数集合 A 和 B,求其交集。1. 读取整数集合 A 中的整数,将读到的整数插入到 map中,并将对应的值设为 1。2. 读取整数集合 B 中的整数,如果该整数在 map中并且值为 1,则将此数加入到交集当中,并将在 map中的对应值改为 2。通过更改 map中的值,避免了将同样的值输出两次。腾讯笔试题:找出1 到 10w中没有出现的两个数字有 1 到 10w这 10w个数,去除 2 个并打乱次序,如何找出那两个数?申请 10w个 bit的空间,每个bi

8、t代表一个数字是否出现过。开始时将这 10w个 bit 都初始化为 0,表示所有数字都没有出现过。然后依次读入已经打乱循序的数字,并将对应的bit设为 1。当处理完所有数字后,根据为0 的 bit得出没有出现的数字。首先计算 1 到 10w的和,平方和。然后计算给定数字的和,平方和。两次的 到的数字相减,可以得到这两个数字的和,平方和。所以我们有x + y = nx2 + y2 = m解方程可以得到x 和 y 的值。腾讯笔试题:需要多少只小白鼠才能在24 小时内找到毒药有 1000 瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在 24 小时时鉴别出那

9、瓶水有毒?最容易想到的就是用 1000 只小白鼠,每只喝一瓶。 但显然这不是最好答案。既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢?首先让我们换种问法, 如果有 x 只小白鼠,那么 24 小时内可以从多少瓶水中找出那瓶有毒的?由于每只小白鼠都只有死或者活这两种结果,所以 x 只小白鼠最大可以表示 2x 种结果。如果让每种结果都对应到某瓶水有毒, 那么也就可以从 2x 瓶水中找到有毒的那瓶水。 那如何来实现这种对应关系呢?第一只小白鼠喝第1 到 2(x-1) 瓶,第二只小白鼠喝第1 到第2(x-2) 和第 2(x-1)+1到第 2(x-1) + 2(x-2)瓶

10、.以此类推。回到此题,总过1000 瓶水,所以需要最少10 只小白鼠。腾讯笔试题:根据上排的数填写下排的数,并满足要求。根据上排给出十个数,在其下排填出对应的十个数 , 要求下排每个数都是上排对应位置的数在下排出现的次数。 上排的数: 0,1,2,3,4,5,6,7,8,9。腾讯笔试题:判断数字是否出现在40 亿个数中?给 40 亿个不重复的 unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40 亿个数当中 ?答案:unsigned int 的取值范围是 0 到 232-1 。我们可以申请连续的232/8=512M的内存,用每一个 bit 对应一个 unsigned int 数字。首先将 512M内存都初始化为 0,然后每处理一个数字就将其对应的bit设置为 1。当需要查询时,直接找到对应bit ,看其值是 0 还是 1即可。【腾讯程序员笔试题及答案】相关文章:1.xx腾讯笔试题答案2. 腾讯笔试题 13.程序员面试题及答案4. 转腾讯笔试题目汇总5.php笔试题及答案6.java笔试题及答案7.公司面试题之:腾讯PHP工程师笔试题8. 百度笔试题及答案内容仅供参考

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1