您的位置:首页 > 职场人生

腾讯面试准备

2015-09-02 11:32 417 查看
1.const的含义及实现机制,比如:const int i,是怎么做到i只可读的?

答:const用来说明所定义的变量是只读的,这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用

2.到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

答:由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券,假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限),如果使用优惠券买东西不能获得新的优惠券,那么总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.

3.tcp三次握手的过程,accept发生在三次握手哪个阶段?

答:第一次握手:客户端发送syn包(syn=j)到服务器。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

4.用UDP协议通讯时怎样得知目标机是否获得了数据包

用UDP协议通讯时怎样得知目标机是否获得了数据包?

5.统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。

答:http://blog.csdn.net/cywosp/article/details/6724567 学习了,方法很简单,利用数组就可以。

6.从10G个数中找到中数

在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。

答:http://blog.csdn.net/cywosp/article/details/6724568没太看懂,基础不行了,大牛人的博客还是要观摩的。

/article/8603848.html

7.两个整数集合A和B,求其交集

答:集合A,B交集,第一想法就是给两个排序,从头遍历找到相等的就存下来,第二个想法就是求集合范围,就是求A{min,max},B{min, max}如果A包含B,那么就把A的集合范围缩小成B,反之亦然,如此,最终会确定一个较小的范围得到交集

8.找出1到10w中没有出现的两个数字

有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?

答:x+y = n, x^2 + y^2 = m,按照这个思路能求出x,y缺的那个数,第二种方案,利用hash数组

9.需要多少只小白鼠才能在24小时内找到毒药

有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?

答:10只,二分法

10.判断数字是否出现在40亿个数中?

给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?

http://blog.csdn.net/cnnumen/article/details/5781333
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: