腾讯程序员面试题

腾讯程序员面试题

ID:17365676

大小:16.12 KB

页数:5页

时间:2018-08-30

腾讯程序员面试题_第1页
腾讯程序员面试题_第2页
腾讯程序员面试题_第3页
腾讯程序员面试题_第4页
腾讯程序员面试题_第5页
资源描述:

《腾讯程序员面试题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、腾讯程序员面试题  今天小编给大家带来的是腾讯的面试题,希望大家多加练习。  const用来说明所定义的变量是只读的。  这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。  到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?  由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。  假设开始时花了x元,那么可以买到x+x/2+x/4+...的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)如果使用优

2、惠券买东西不能获得新的优惠券,那么总过花去了200元,可以买到200+100元的商品,所以实际折扣为200/300=67%.  accept发生在三次握手之后。  第一次握手:客户端发送syn包(syn=j)到服务器。  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。  三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。  可以

3、在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。  发送方在发送数据时将此ID和发送时间记录在本地。  接收方在收到数据后将ID再发给发送方作为回应。  发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。  一天总共有3600*24=86400秒。  定义一个长度为86400的整数数组intdelta,每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。  然后依次读入每个

4、用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。  这样处理一遍后数组中存储了每秒中的人数变化情况。  定义另外一个长度为86400的整数数组intonline_num,每个整数对应这一秒的论坛在线人数。  假设一天开始时论坛在线人数为0,则第1秒的人数online_num=delta。第n+1秒的人数online_num=online_num+delta。  这样我们就获得了一天中任意时间的在线人数。  不妨假设10G个整数是64bit的。  2G内存可以存放256M个64bit整数。  

5、我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。  如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。  1.读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。

6、  2.读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。  通过更改map中的值,避免了将同样的值输出两次。  申请10w个bit的空间,每个bit代表一个数字是否出现过。  开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。  然后依次读入已经打乱循序的数字,并将对应的bit设为1。  当处理完所有数字后,根据为0的bit得出没有出现的数字。  首先计算1到10w的和,平方和。  然后计算给定数字的和,平方和。  两次的到的数字相减,可以得到这两个数字

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

8、 第一只小白鼠喝第1到2^(x-1)瓶,第二只小白鼠喝第1到第2^(x-2)和第2^(x-1)+1到第2^(x-1)+2^(x-2)瓶....以此类推。  回到此题,总过1000瓶水,所以需要最少10只小白鼠。  根据上排给出十个数,在其下排填出对应的十个数,要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。