还剩4页未读,继续阅读
文本内容:
年腾讯公司程序员面试题及答案详解2024腾讯公司程序员面试题及答案详解小伙伴们又见面啦!我这厢有礼啦!今天给大家带来的是腾讯的面试题,觉得有用的亲,赏个脸呗〜L腾讯笔试题const的含义及实现机制const的含义及实现机制,比如const inti,是怎么做到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刁)到服务器第二次握手服务器收到syn包,必须确认客户的SYN(ack句+1),同时自己也发送一个ASK包(ask二k)第三次握手客户端收到服务器的SYN+ACK包,向服务器发送确认包ACKack=k+l三次握手完成后,客户端和服务器就建立了tcp连接这时可以调用accept函数获得此连接
4、腾讯笔试题用UDP协议通讯时怎样得知目标机是否获得了数据包用UDP协议通讯时怎样得知目标机是否获得了数据包?可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的into发送方在发送数据时将此ID和发送时间记录在本地接收方在收到数据后将ID再发给发送方作为回应发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到
5、腾讯笔试题统计论坛在线人数分布,求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒一天总共有3600*24=86400秒定义一个长度为86400的整数数组int delta
[86400]每个整数对应这一秒的人数变化值,可能为正也可能为负开始时将数组元素都初始化为o0然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减lo这样处理一遍后数组中存储了每秒中的人数变化情况定义另外一个长度为86400的整数数组int online_num
[86400],每个整数对应这一秒的论坛在线人数⑼假设一天开始时论坛在线人数为0,则第1秒的人数nline_num=delta
[0]第n+1秒的人数oonline_num[n]=online_num[n-l]+delta[n]o这样我们就获得了一天中任意时间的在线人数
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中的整数,将读到的整数插入到m叩中,并将对应的值设为L
2.读取整数集合B中的整数如果该整数在m叩中并且值为1,则将此数加入到交集当中,并将在m叩中的对应值改为2通过更改map中的值,避免了将同样的值输出两次
8、腾讯笔试题找出1到10w中没有出现的两个数字有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?,申请10w个bit的空间每个bit代表一个数字是否出现过开始时将这10w个bit都初始化为0,表示所有数字都没有出现过然后依次读入已经打乱循序的数字,并将对应的bit设为1当处理完所有数字后,根据为0的bit得出没有出现的数字首先计算1到10w的和,平方和然后计算给定数字的和,平方和两次的到的数字相减,可以得到这两个数字的和,平方和所以我们有x+y=nxA2+yA2=m解方程可以得到x和y的值
9、腾讯笔试题需要多少只小白鼠才能在24小时内找到毒药有1OOO瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?最容易想到的就是用1000只小白鼠,每只喝一瓶但显然这不是最好答案既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶那每只应该喝多少瓶呢首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的?由于每只小白鼠都只有死或者活这两种结果,所以X只小白鼠最大可以表示2八x种结果如果让每种结果都对应到某瓶水有毒,那么也就可以从2Ax瓶水中找到有毒的那瓶水那如何来实现这种对应关系呢?第一只小白鼠喝第1到2人x-1瓶,第二只小白鼠喝第1到第2人仅-2和第2八a-1+1到第2人x-1+2八x-2瓶….以此类推回到此题,总过1000瓶水,所以需要最少10只小白鼠
10、腾讯笔试题根据上排的数填写下排的数,并满足要求根据上排给出十个数,在其下排填出对应的十个数,要求下排每个数都是上排对应位置的数在下排出现的次数上排的数0,1,2,3,4,5,6,7,8,91L腾讯笔试题判断数字是否出现在40亿个数中?给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?答案unsigned int的取值范围是0至(J2八32-1我们可以申请连续的2八32/8=512M的内存,用每一个bit对应一个unsigned int数字首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1当需要查询时,直接找到对应bit,看其值是0还是1即可0更多互联网相关面试题分享、1百度、阿里、腾讯40道面试题、22015腾讯C++方向程序员面试腾讯一面二面终面真题
4、腾讯超难面试试题、5百度Web开发工程师笔试题、6腾讯公司介绍及面试经验(附笔试题)、7腾讯微信产品经理面试题、8百度校园招聘数据挖掘工程师面试题集锦、92016校招阿里巴巴运营面试试题本文来源网络收集与整理,如有侵权,请联系作者删除,谢谢!。