下面给大家分享腾讯实习生招聘笔试题目以及答案,本文共10篇,欢迎阅读!本文原稿由网友“牛蛙煲牛蝎子锅”提供。
篇1:腾讯实习生招聘笔试题目以及答案
腾讯实习生招聘笔试题目以及答案
· 32 位机上根据下面的代码,问哪些说法是正确的?
1. signed char a = 0xe0;
2. unsigned int b = a;
3. unsigned char c = a;
A. a>0 && c>0 为真 B. a == c 为真 C. b 的十六进制表示是:0xffffffe0 D. 上面都不对
· 下面哪些选项能编译通过?
1. int i;
2. char a[10;
3. string f;
4. string g(string &str);
A. if(!!i){f();} B. g(f()); C. a=a+1; D. g(“abc”);
· int a[10]; 问下面哪些不可以表示 a[1] 的地址?
A. a+sizeof(int) B. &a[0]+1 C. (int*)&a+1 D. (int*)((char*)&a+sizeof(int))
·
· 问下面的数据都存放在哪些存储区?
1. int main()
2. {
3. char *p = “hello,world”;
4. return 0;
5. }
A. ... B. ... C. 栈和常量区 D. 栈和堆
分析:“hello,world” 是常量,赶脚应该就是 C 吧,应该大家感觉都一样,这里不涉及什么堆的事。
· 假设在一个 32 位 little endian 的机器上运行下面的程序,结果是多少?
1. #include
2. int main()
3. {
4. long long a = 1, b = 2, c = 3;
5. printf(“%d %d %d\\n”, a, b, c);
6. return 0;
7. }
A. ... B. ... C. ... D. ...
分析:貌似问题没有想的那么简单。如果说运行结果,很简单,有人是 1 0 2;有人是 1 2 3。涉及到 little/big endian 和参数入栈的问题。
· 下面哪些函数调用必须进入内核才能完成?
A. fopen B. exit C. memcpy D. strlen
·
分析:有些无能为力。A 是要打开文件的,貌似涉及很多内核操作;exit 是退出进程,结束进程,应该也要深入内核。memcpy ,me 一直犹豫用户区的数据拷贝要不要通过内核。strlen me 感觉关系不大。
·
· 内存管理中的 LRU 方法是用来管理神马的.?
A. 虚拟内存的分配 B. 虚拟内存的释放 C. 物理内存的分配 D. 物理内存的释放
·
分析:貌似是用来管理物理块的,后面的填空题正好有说,O__O“…
·
· 关于DMA 的说法,哪些是错误的?
A. DMA,Direct Memory Acess 直接存储器访问,使得不同速度的硬件设备可以直接通信,不通过 CPU 干预;
B. DMA 访问的时候需要从 CPU 那里夺得总线控制权,然后...
C. DMA 速度快;
D. DMA 不需要中断控制,...
·
· 死锁发生的必要条件?
A. 互斥条件 B. 请求和保持 C. 不可剥夺 D. 循环等待
·
分析:ABCD 就是死锁的四个必要条件,操作系统书上貌似说的很明确。
·
· 有两个线程,最初 n=0,一个线程执行 n++; n++; 另一个执行 n+=2; 问,最后可能的 n 值?
A. 1 B. 2 C. 3 D. 4
·
分 析:D 顺序执行以下,就可以,
B 的话,让后面一个执行到+2,但不要写结果,然后前一个执行完,然后写结果,为 2。C 3 的话,也好分析。A 不可能!肿么可能呢?肿么可能结果只为 1 呢?两个线程都会 +2,+1 何从谈起?先 +1,然后让后面的加法错了,然后结果写进去?前一个 ++n 都没执行的话,后一个又肿么会执行呢?总之不可能是 1 !不可能!O__O”…(坚决不相信它可以。)
·
· 下面哪些说法正确?
A. 数组和链表都可以随机访问
B. 数组的插入和删除可以 O(1)
C. 哈希表么法范围检查
D. ...
·
分 析:总之 ABD 给人的感觉是显而易见的错丫,有木有,所以排除法还是能用的!至于 hash 结构,确实也不可以范围检查,因为 key 映射为 value,根据的是 hash 函数,而这个函数一般不满足原来的单调性,实际上就不应该满足!因为 hash 函数的设计是要 value 的映射尽可能滴随机、均匀!
·
· 基于比较的排序的时间复杂度下限是多少?
A. O(n) B. O(n^2) C. O(nlogn) D. ...
·
分析:貌似是数据结构上面的一个结论,基于比较的排序的时间复杂度不能比 O(nlogn) 低,而快速排序平均复杂度就是 O(nlogn),而且常量系数更低一些。
·
· 下面图的拓扑排序可能是?
A...
·
分析:对于知道拓扑排序的,应该很容易作答(me 有时候在怀疑自己理解的是否正确?!)。
·
· 求 n 个数中的最大值和最小值,最少的比较次数是?
A. 4n/3 B. 2n-2 C. n-1 D. 3n/2
·
分 析:虽然 me 不知道很高深的算法,但是 me 想丫,如果是 2 1 3 4 5 6 这样的序列,u 认为最少是多少次呢?me 感觉是 n-1 。但是,题目也许是另外一个意思,也就是对于普通的序列,求最大值和最小值,能将比较次数降到多少?(me 貌似见到过一些方法,但是忘了,O__O“…)
·
· 一棵二叉树的先序遍历是 f b a c d e g h,中序遍历是 a b d c e f g h,问后序遍历是神马?
A. ... B. ... C. ... D. ...
·
分析:构建二叉树,然后看看后序遍历是神马?a d e c b h g f,O__O”…,突然感觉一不小心 g f 和 f g 就写反了,me 应该没有吧?!
·
· 网卡、交换机、路由器和 UDP 分别工作网络的哪些层?
A. ...
B. ...
C. ...
D. ....
·
分析:只根据 UDP 在传输层,me 就选出答案了:物理层、数据链路层、网络层和传输层。
·
· 子网掩码 25..255.255.224 可以将网络 x.x.x.x 分成多少个子网?
A. ... B. ... C. 8 D. 32
·
分 析:224 = 128+64+32 = 1110 0000 B,me 一看,后面 5 个 0 ,就是 2^5 = 32 吧?shit !子网数?不是主机数丫,有没有,O__O“…,主机数貌似还得 -2 丫,有没有,当时 me 还奇怪来着,O__O”… x.x.x.x 貌似是个 C 类地址?这样的话,应该是 2 ^ 3 = 8 !
·
· TCP协议栈的定时器有哪些?
A. ... B. ... C. ... D. ...
·
分析:不会的路过。
·
· 高内聚和低耦合,下面哪个耦合度最高?
A. 通过函数参数传递...
篇2:腾讯实习生笔试题目
腾讯实习生笔试题目
一、单项选择题
1) 给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()
Int a1=x+y-z; int b1=x*y/z;
Int a2=x-z+y; int b2=x/z*y;
Int c1=xz; int d1=x&y|z;
Int c2=x>>z<
A) a1一定等于a2
B) b1一定定于b2
C) c1一定等于c2
D) d1一定等于d2
2) 程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()
A)死代码删除指的是编译过程直接抛弃掉被注释的代码;
B) 函数内联可以避免函数调用中压栈和退栈的开销
C) For循环的循环控制变量通常很适合调度到寄存器访问
D)强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令
3) 如下关于进程的面熟不正确的是()
A)进程在退出时会自动关闭自己打开的所有文件
B) 进程在退出时会自动关闭自己打开的网络链接
C) 进程在退出时会自动销毁自己创建的所有线程
D)进程在退出时会自动销毁自己打开的共享内存
4) 计算表达式x6+4x4+2x3+x+1最少需要做()次乘法
A)3
B)4
C)5
D)6
5) 在如下8*6的矩阵中,请计算从A移动到B一共有多少种走法?要求每次只能向上挥着向右移动一格,并且不能经过P;
A)492
B)494
C)496
D)498
6) SQL语言中删除一个表的指令是()
A)DROP TABLE
B) DELETE TABLE
C) DESTROY TABLE
D)REMOVE TABLE
7)某产品团队由美术组、产品组、client程序组和server程序组4个小组构成,每次构建一套完整的版本时,需要各个组发布如下资源。美术组想客户端提供图像资源(需要10分钟),产品组向client组合server提供文字内容资源(同时进行,10分钟),server和client源代码放置在不同工作站上,其完整编译时间均为10分钟切编译过程不依赖于任何资源,client程序(不包含任何资源)在编译完毕后还需要完成对程序的统一加密过程(10分钟)。可以请问,从要完成一次版本构建(client与server的版本代码与资源齐备),至少需要多少时间()
A)60分钟
B)40分钟
C)30分钟
D)20分钟
8)如下关于编译链接的说法错误的是()
A)编译优化会使得编译速度变慢
B) 预编译头文件可以优化程序的性能
C) 静态链接会使得可执行文件偏大
D)动态链接库会使进程启动速度偏慢
9)如下关于链接的说法错误的是()
A)一个静态库中不能包含两个同名全局函数的定义
B)一个动态库中不能包含两个同名全局函数的定义
C)如果两个静态库都包含一个同名全局函数,他们不能同时被链接
D)如果两个动态库都包含一个同名全局函数,他们不能同时被链接
10)某火车站要通过一条栈道(先进后出)来调换进入车站的列车顺序,若进站的列车顺序为A、B、C,则下列哪个出站顺序不可能?()
A)ABC
B)ACB
C)CAB
D)CBA
11)栈是一种智能在某一端插入和删除的特殊线性表,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,若6元素为A、B、C、D、E、F出栈顺序为B、D、C、F、E、A,则S栈的最小容量为()
A)3
B)4
C)5
D)6
12)找工作的季节马上就到了,很多同学去图书馆借阅《面试宝典》这本书,现在图书馆外有6名同学排队,其中3名同学要将手中的《面试宝典》还至图书馆,有3名同学希望从图书馆中可以借到《面试宝典》,若当前图书馆内已无库存《面试宝典》,要保证借书的3名同学可以借到书,请问这6位同学有多少种排队方式()
A)60
B)120
C)180
D)360
13)若完全二叉树的节点个数为2N-1,则叶节点个数为()
A)N-1
B)2×N
C)2N-1
D)2N
14)排序算法的稳定是指,关键码相同的记录排序前后相对位置不发生改变,下面哪种排序算法是不稳定的()
A)插入排序
B)冒泡排序
C)快速排序
D)归并排序
15)下列说法中错误的是:()
A)插入排序某些情况下复杂度为O(n)
B)排序二叉树元素查找的复杂度可能为O(n)
C)对于有序列表的排序最快的是快速排序
D)在有序列表中通过二分查找的复杂度一定是O(n log2n)
16)在程序设计中,要对两个16K×16K的多精度浮点数二维数组进行矩阵求和时,行优先读取和列优先读取的区别是()
A)没区别
B)行优先快
C)列优先快
D)2种读取方式速度为随机值,无法判断
17)在下图的多边形ABCDE中从哪一点出发,可以遍历图上的每条边一次,而且仅遍历一次
A)A点
B) B点
C) C点
D)D点
18)字符串所有非空子串(两个子串如果内容相同则只算一个)个数是()
A)1024
B)1018
C)55
D)50
19)TCP的关闭过程,说法正确的是()
A)TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态
B)对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
C)主动发送FIN消息的'连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
D)在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据,
20)操作系统的一些特别端口要为特定的服务做预留,必须要root权限才能打开的端口描述正确的是()
A)端口号在64512-65535之间的端口
B)所有小于1024的每个端口
C)RFC标准文档中已经声明特定服务的相关端口,例如http服务的80端口,8080端口等
D)所有端口都可以不受权限限制打开
二、填空题
21)除了10进制、2进制之外,16进制表达式在计算机领域中也经常使用(例如各种字符集的定义描述),下式:()10+(AF1)16的结果是( )(请用10进制表示)。
22)仔细阅读以下一段递归的函数定义:
in tack(int m,int n)
{
if(m==0)
{
return n+1;
}
Else if(n==0)
{
return ack(m-1,1);
}
else
{
retrun ack(m-1,ack(m,n-1));
}
}
请问ack(3,3)的返回值是( )。
23)某互联网产品(例如,一款网络游戏)同时在线曲线(Average Concurrency Users,ACU)24小时数据如下图所示。现已知全天平均在线人数为5000人,玩家每次登陆后平均在线时长为2小时。请你估计一下,平均下来每分钟约有( )个玩家登录。
24)如下SQL语句是需要列出一个论坛版面第一页(每页显示20个)的帖子(post)标题(title),并按照发布(create_time)降序排列:
SELECT title FROM post( )create_time DESC( )0,20
25、为了某项目需要,我们准备构造了一种面向对象的脚本语言,例如,对所有的整数,我们都通过Integer类型的对象来描述。在计算“1+2”时,这里的“1”,“2”和结果“3”分别为一个Integer对象。为了降低设计复杂度,我们决定让Integer对象都是只读对象,也即在计算a=a+b后,对象a引用的是一个新的对象,而非改a所指对象的值。考虑到性能问题,我们又引入两种优化方案:(1)对于数值相等的Integer对象,我们不会重复创建。例如,计算“1+1”,这里两个“1”的引用的是同一个对象——这种设计模式叫做( );(2)脚本语言解析器启动时,默认创建数值范围[1,32]的32个Integer对象。现在,假设我们要计算表达式“1+2+3+…+40”,在计算过程需要创建的Integer对象个数是( )。
26)A、B两人玩猜字游戏,游戏规则如下:
A选定一个 [1,100]之间的数字背对B写在纸上,然后让B开始猜;
如果B猜的偏小,A会提示B这次猜的偏小;
一旦B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提示,只回答猜对与否。
请问:B至少要猜( )次才能保证猜对?在这种策略下,B第一次猜测的数字是( )。
27)仔细阅读以下函数
Int fuc(int m,int n)
{
if(m%n)==0
{
return n;
}
else
{
return fuc(n,m%n)
}
}
请问func(2012,2102)的结果是( )。
三 、加分题
28)给定一耳光数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在构造过程中,不允许使用除法:
要求O(1)空间复杂度和O(n)的时间复杂度;
除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、堆空间和全局静态变量等);
青铜程序(主流编程语言任选)实现并简单描述。
29)20世纪60年代,美国心理学家米尔格兰姆设计了一个连锁信件实验。米尔格兰姆把信随即发送给住在美国各城市的一部分居民,信中写有一个波士顿股票经纪人的名字,并要求每名收信人把这封信寄给自己认为是比较接近这名股票经纪人的朋友。这位朋友收到信后再把信寄给他认为更接近这名股票经纪人的朋友。最终,大部分信件都寄到了这名股票经纪人手中,每封信平均经受6.2词到达。于是,米尔格兰姆提出六度分割理论,认为世界上任意两个人之间建立联系最多只需要6个人。
假设QQ号大概有10亿个注册用户,存储在一千台机器上的关系数据库中,每台机器存储一百万个用户及其的好友信息,假设用户的平均好友个数大约为25人左右。
第一问:请你设计一个方案,尽可能快的计算存储任意两个QQ号之间是否六度(好友是1度)可达,并得出这两位用户六度可达的话,最短是几度可达。
第二问:我们希望得到平均每个用户的n度好友个数,以增加对用户更多的了解,现在如果每台机器一秒钟可以返回一千条查询结果,那么在10天的时间内,利用给出的硬件条件,可以统计出用户的最多几度好友个数?如果希望得到更高的平均n度好友个数,可以怎样改进方案?
篇3:腾讯实习生笔试题目
腾讯实习生笔试题目
1、计算表达式x6+4x4+2x3+x+1最少需要做次乘法
A、3 B、4 C、5 D、6
2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()
int a1=x+y-z; int b1=x*y/z;
int a2=x-z+y; int b2=x/z*y;
int c1=xz; int d1=x&y|z;
int c2=x>>z<
A、a1一定等于a2
B、b1一定定于b2
C、c1一定等于c2
D、d1一定等于d2
3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()
A、死代码删除指的是编译过程直接抛弃掉被注释的代码;
B、函数内联可以避免函数调用中压栈和退栈的开销
C、For循环的循环控制变量通常很适合调度到寄存器访问
D、强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令
4、如下关于进程的描述不正确的是()
A、进程在退出时会自动关闭自己打开的所有文件
B、进程在退出时会自动关闭自己打开的网络链接
C、进程在退出时会自动销毁自己创建的所有线程
D、进程在退出时会自动销毁自己打开的共享内存
5、在如下8*6的矩阵中,请计算从A移动到B一共有多少种走法?要求每次只能向上挥着向右移动一格,并且不能经过P;
A、492
B、494
C、496
D、498
6、SQL语言中删除一个表的指令是()
A、DROP TABLE
B、DELETE TABLE
C、DESTROY TABLE
D、REMOVE TABLE
7、某产品团队由美术组、产品组、client程序组和server程序组4个小组构成,每次构建一套完整的版本时,需要各个组发布如下资源,美术组想客户端提供图像资源(需要10分钟),产品组向client组合server提供文字内容资源(同时进行,10分钟),server和client源代码放置在不同工作站上,其完整编译时间均为10分钟切编译过程不依赖于任何资源,client程序(不包含任何资源)在编译完毕后还需要完成对程序的统一加密过程(10分钟)。可以请问,从要完成一次版本构建(client与server的版本代码与资源齐备),至少需要多少时间()
A、60分钟
B、40分钟
C、30分钟
D、20分钟
8、如下关于编译链接的说法错误的是()
A、编译优化会使得编译速度变慢
B、预编译头文件可以优化程序的性能
C、静态链接会使得可执行文件偏大
D、动态链接库会使进程启动速度偏慢
9、如下关于链接的说法错误的是()
A、一个静态库中不能包含两个同名全局函数的定义
B、一个动态库中不能包含两个同名全局函数的定义
C、如果两个静态库都包含一个同名全局函数,他们不能同时被链接
D、如果两个动态库都包含一个同名全局函数,他们不能同时被链接
10、排序算法的稳定是指,关键码相同的`记录排序前后相对位置不发生改变,下面哪种排序算法是不稳定的()
A、插入排序
B、冒泡排序
C、快速排序
D、归并排序
11、下列说法中错误的是:()
A、插入排序某些情况下复杂度为O(n)
B、排序二叉树元素查找的复杂度可能为O(n)
C、对于有序列表的排序最快的是快速排序
D、在有序列表中通过二分查找的复杂度一定是O(n log2n)
12、在程序设计中,要对两个16K×16K的多精度浮点数二维数组进行矩阵求和时,行优先读取和列优先读取的区别是()
A、没区别
B、行优先快
C、列优先快
D、2种读取方式速度为随机值,无法判断
13、字符串www.qq.com所有非空子串(两个子串如果内容相同则只算一个)个数是()
A、1024
B、1018
C、55
D、50
14、TCP的关闭过程,说法正确的是()
A、TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态
B、对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
C、主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
D、在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据,
篇4:腾讯笔试题目及答案
深圳市腾讯计算机系统有限公司简称腾讯,成立于11月,是中国服务用户最多的互联网企业之一。本文将介绍腾讯笔试题目及答案。
腾讯笔试题目及答案:
1、计算表达式x6+4x4+2x3+x+1最少需要做次乘法
A、3 B、4 C、5 D、6
2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项
int a1=x+y-z; int b1=x*y/z;
int a2=x-z+y; int b2=x/z*y;
int c1=xz; int d1=x&y|z;
int c2=x《z《
A、a1一定等于a2
B、b1一定定于b2
C、c1一定等于c2
D、d1一定等于d2
3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是
A、死代码删除指的是编译过程直接抛弃掉被注释的代码;
B、函数内联可以避免函数调用中压栈和退栈的开销
C、For循环的循环控制变量通常很适合调度到寄存器访问
D、强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令
4、如下关于进程的描述不正确的是
A、进程在退出时会自动关闭自己打开的所有文件
B、进程在退出时会自动关闭自己打开的网络链接
C、进程在退出时会自动销毁自己创建的所有线程
D、进程在退出时会自动销毁自己打开的共享内存
5、在如下8*6的矩阵中,请计算从A移动到B一共有多少种走法?要求每次只能向上挥着向右移动一格,并且不能经过P;
A、492
B、494
C、496
D、498
6、SQL语言中删除一个表的指令是
A、DROP TABLE
B、DELETE TABLE
C、DESTROY TABLE
D、REMOVE TABLE
7、某产品团队由美术组、产品组、client程序组和server程序组4个小组构成,每次构建一套完整的版本时,需要各个组发布如下资源。美术组想客户端提供图像资源(需要10分钟),产品组向client组合server提供文字内容资源(同时进行,10分钟),server和client源代码放置在不同工作站上,其完整编译时间均为10分钟切编译过程不依赖于任何资源,client程序(不包含任何资源)在编译完毕后还需要完成对程序的统一加密过程(10分钟)。可以请问,从要完成一次版本构建(client与server的版本代码与资源齐备),至少需要多少时间
A、60分钟
B、40分钟
C、30分钟
D、20分钟
8、如下关于编译链接的说法错误的是
A、编译优化会使得编译速度变慢
B、预编译头文件可以优化程序的性能
C、静态链接会使得可执行文件偏大
D、动态链接库会使进程启动速度偏慢
9、如下关于链接的说法错误的是
A、一个静态库中不能包含两个同名全局函数的定义
B、一个动态库中不能包含两个同名全局函数的定义
C、如果两个静态库都包含一个同名全局函数,他们不能同时被链接
D、如果两个动态库都包含一个同名全局函数,他们不能同时被链接
10、排序算法的稳定是指,关键码相同的记录排序前后相对位置不发生改变,下面哪种排序算法是不稳定的
A、插入排序
B、冒泡排序
C、快速排序
D、归并排序
11、下列说法中错误的是:
A、插入排序某些情况下复杂度为O(n)
B、排序二叉树元素查找的复杂度可能为O(n)
C、对于有序列表的排序最快的是快速排序
D、在有序列表中通过二分查找的复杂度一定是O(n log2n)
12、在程序设计中,要对两个16K×16K的多精度浮点数二维数组进行矩阵求和时,行优先读取和列优先读取的区别是
A、没区别
B、行优先快
C、列优先快
D、2种读取方式速度为随机值,无法判断
A、1024
B、1018
C、55
D、50
14、TCP的关闭过程,说法正确的是
A、TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态
B、对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
C、主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
D、在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据。
15、操作系统的一些特别端口要为特定的服务做预留,必须要root权限才能打开的端口描述正确的是
A、端口号在64512-65535之间的端口
B、所有小于1024的每个端口
C、RFC标准文档中已经声明特定服务的相关端口,例如http服务的80端口,8080端口等
D、所有端口都可以不受权限限制打开
16、找工作的季节马上就到了,很多同学去图书馆借阅《面试宝典》这本书,现在图书馆外有6名同学排队,其中3名同学要将手中的《面试宝典》还至图书馆,有3名同学希望从图书馆中可以借到《面试宝典》,若当前图书馆内已无库存《面试宝典》,要保证借书的3名同学可以借到书,请问这6位同学有多少种排队方式
A)60
B)120
C)180
D)360
篇5:腾讯笔试题目及答案
腾讯笔试题目及答案
1. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?
答案:2和3
2 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?论文联盟wWw.LWlm.coM
1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96
3, 计算 a^b << 2
答案:
运算符优先级:括号,下标,->和.(成员)最高;
单目的比双目的高;
算术双目的比其他双目的高;
位运算 高于 关系运算;
关系运算 高于 按位运算(与,或,异或);
按位运算 高于 逻辑运算;
三目的只有一个 条件运算,低于逻辑运算;
赋值运算仅比 , (顺序运算)高,
在此题中,位左移”<<” 优先级高于按位异或”^”,所以b先左移两位(相当于乘以4),
再与a异或。
例如: 当 a = 6; b = 4 时; 则 a^b<<2 = 22
4 如何输出源文件的'标题和目前执行行的行数?
答案: printf(”The file name: %d\\n”, __FILE__);
printf(”The current line No:%d\\n”, __LINE__);
ANSI C标准预定义宏:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 当要求程序严格遵循ANSI C标准时该标识符被赋值为1
__cplusplus__ 当编写C++程序时该标识符被定义
5 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)
答案: *(&a[1]+1)
a是数组的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。
6 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参?
答案:两个。
形式参数:在声明和定义函数时,写在函数名后的括号中的参数。
实参是调用参数中的变量,行参是被调用函数中的变量。
7. 希尔 冒泡 快速 插入 哪个平均速度最快?
答案:快速排序
快速排序、归并排序和基数排序在不同情况下都是最快最有用的。
8. enum的声明方式
答案:enum 枚举类型名 {
枚举常量1,论文联盟wWw.LWlm.coM
枚举常量2,
…
枚举常量n
};
For example:
enum weekday { sunday, monday, tuesday, wednesday, thursday, friday, saturda
y};
enum weekday week_day;//week_day 就是一个枚举类型变量
9. 频繁的插入删除操作使用什么结构比较合适,链表还是数组?
答案:链表
10. *p=NULL *p=new char[100] sizeof(p)各为多少?
答案:都为4,
因为都是指针类型,所占存储空间必然为4。
11. 顺序查找的平均时间
答案:(1+2+3+…+n)/n = (n+1)/2
12. for(i=0,sum=0; i<10; ++i,sum+=i);的运行结果
答案:sum = 55
13. 不能做switch的参数类型是:
答案:switch的参数不能为浮点型。
14.不使用其他变量,交换两个整型a,b的值
答案:x = x+y; y = x-y; x = x-y
15. 写出float x 与“零值”比较的if语句。
if(x>=0.000001 && x<=-0.000001)(x不为0的比较)
float: 6位精度
double: 16位精度
16. 有个表tableQQ,有整型的ID项和字符类型的Nickname项,这两个项都不允许为空
(1)写出建立该表的SQL语句
(2)找出Nickname为QQ的用户,按ID降序排列的SQL语句
(3)写出删除ID为1234用户记录的SQL语句
(4)写出添加ID为5555,Nickname为’1234′的SQL语句
答案:
(1) CREATE TABLE tableQQ
(
ID NUMBER(12) NOT NULL,
Nickname Varchar2(30) NOT NULL
);
(2) select * from tableQQ where Nickname = ‘QQ’ order by ID desc;
(3) delete from tableQQ where >
(4) insert into tableQQ values(5555,’1234′);
篇6:腾讯笔试题目及答案
腾讯笔试题目及答案
腾讯是中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一。下面是腾讯笔试题目及答案,请参考!
腾讯笔试题目及答案
1. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?
答案:2和3
2 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少?论文联盟wWw.LWlm.coM
1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96
3, 计算 a^b << 2
答案:
运算符优先级:括号,下标,->和.(成员)最高;
单目的比双目的高;
算术双目的比其他双目的高;
位运算 高于 关系运算;
关系运算 高于 按位运算(与,或,异或);
按位运算 高于 逻辑运算;
三目的只有一个 条件运算,低于逻辑运算;
赋值运算仅比 , (顺序运算)高。
在此题中,位左移”<<” 优先级高于按位异或”^”,所以b先左移两位(相当于乘以4),
再与a异或。
例如: 当 a = 6; b = 4 时; 则 a^b<<2 = 22
4 如何输出源文件的标题和目前执行行的行数?
答案: printf(”The file name: %d ”, __FILE__);
printf(”The current line No:%d ”, __LINE__);
ANSI C标准预定义宏:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 当要求程序严格遵循ANSI C标准时该标识符被赋值为1
__cplusplus__ 当编写C++程序时该标识符被定义
5 a[3][4]哪个不能表示 a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4)
答案: *(&a[1]+1)
a是数组的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。
6 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参?
答案:两个。
形式参数:在声明和定义函数时,写在函数名后的括号中的参数。
实参是调用参数中的变量,行参是被调用函数中的变量。
7. 希尔 冒泡 快速 插入 哪个平均速度最快?
答案:快速排序
快速排序、归并排序和基数排序在不同情况下都是最快最有用的。
8. enum的'声明方式
答案:enum 枚举类型名 {
枚举常量1,论文联盟wWw.LWlm.coM
枚举常量2,
…
枚举常量n
};
For example:
enum weekday { sunday, monday, tuesday, wednesday, thursday, friday, saturda
y};
enum weekday week_day;//week_day 就是一个枚举类型变量
9. 频繁的插入删除操作使用什么结构比较合适,链表还是数组?
答案:链表
10. *p=NULL *p=new char[100] sizeof(p)各为多少?
答案:都为4。因为都是指针类型,所占存储空间必然为4。
11. 顺序查找的平均时间
答案:(1+2+3+…+n)/n = (n+1)/2
12. for(i=0,sum=0; i<10; ++i,sum+=i);的运行结果
答案:sum = 55
13. 不能做switch()的参数类型是:
答案:switch的参数不能为浮点型。
14.不使用其他变量,交换两个整型a,b的值
答案:x = x+y; y = x-y; x = x-y
15. 写出float x 与“零值”比较的if语句。
if(x>=0.000001 && x<=-0.000001)(x不为0的比较)
float: 6位精度
double: 16位精度
16. 有个表tableQQ,有整型的ID项和字符类型的Nickname项,这两个项都不允许为空
(1)写出建立该表的SQL语句
(2)找出Nickname为QQ的用户,按ID降序排列的SQL语句
(3)写出删除ID为1234用户记录的SQL语句
(4)写出添加ID为5555,Nickname为’1234′的SQL语句
答案:
(1) CREATE TABLE tableQQ
(
ID NUMBER(12) NOT NULL,
Nickname Varchar2(30) NOT NULL
);
(2) select * from tableQQ where Nickname = ‘QQ’ order by ID desc;
(3) from tableQQ where >
(4) into tableQQ values(5555,’1234′);
篇7:腾讯实习生招聘笔试经验
腾讯实习生招聘笔试经验
早上八点起床,从学校去华科,在华科的教十二楼前面等到10点,过去霸王笔的人还不在少数,估计腾讯也预料到了,简单的登记了一下之后,很顺利的进入了考场,从十点到十二点,两个小时的时间,出来后感觉自己做的还算可以。后来面试的时候看到自己的成绩第一个数字是7。
试卷分两三个题型:选择题(20*3),填空题(10*4),选做题。
选择题:
第一题:UML类图,A、B、C三个类,类A中包含类B的一个实例和类C的多个实例。画出ABC三者的UML类图。
第二题:段页式虚拟存储管理方案的特点。
空间浪费小、存储共享容易、存储保护容易、能动态连接。
段页式管理是段式管理和页式管理结合而成,兼有段式和页式管理的优点,每一段分成若干页,再按页式管理,页间不要求连续(能动态连接);用分段方法分配管理作业,用分页方法分配管理内存(空间浪费小)。
段页式管理采用二维地址空间,如段号(S)、页号(P)和页内单元号(D);系统建两张表格每一作业一张段表,每一段建立一张页表,段表指出该段的页表在内存中的位置;地址变换机构类似页式机制,只是前面增加一项段号。所以存储共享容易、存储保护容易。
第三题:校园网用户无法访问校外站点,在windows下,用什么命令判断故障时发生在校园网内还是校园网外。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
该诊断实用程序通过向目的地发送具有不同生存时间 (TL) 的 Internet 控制信息协议 (CMP) 回应报文,以确定至目的地的路由。路径上的每个路由器都要在转发该 ICMP 回应报文之前将其 TTL 值至少减 1,因此 TTL 是有效的跳转计数。当报文的 TTL 值减少到 0 时,路由器向源系统发回 ICMP 超时信息。通过发送 TTL 为 1 的第一个回应报文并且在随后的发送中每次将 TTL 值加 1,直到目标响应或达到最大 TTL 值,Tracert 可以确定路由。通过检查中间路由器发发回的 ICMP 超时 (ime Exceeded) 信息,可以确定路由器。注意,有些路由器“安静”地丢弃生存时间 (TLS) 过期的'报文并且对 tracert 无效。
参数
-d
指定不对计算机名解析地址。
-h maximum_hops
指定查找目标的跳转的最大数目。
-jcomputer-list
指定在 computer-list 中松散源路由。
-w timeout
等待由 timeout 对每个应答指定的毫秒数。
target_name
目标计算机的名称。
第四题:Internet中域名与IP地址之间的翻译:DNS服务器。
第五题:最小生成树(差点算出,漏掉一条边,汗...)
第六题:给定以有限自动机的状态转换图,请写出其正则表达式。
首先要对有限自动机进行简化,利用两状态等价的条件,将非终态和终态集合分别进行分割,得到{0,1}和{2}(将状态2和3合并)。这个题貌似没有正确选项,应该是(a|ab)*bb(a|b)*。
第七题:快排,基础题。
void QuickSort(Datatype a[], int low, int high)
{
int i, j;
Datatype temp = a[low];
i = low;
j = high;
while( i < j)
{
while( i < j & temp.key < a[j].key) j--;
if(i < j ) a[i++] = a[j];
while( i < j & a .key < temp.key ) i++;
if( i < j ) a[j--] = a;
}
a = temp;
if( low < i ) QuickSort(a, low, i-1);
if( j < high ) QuickSort(a, j+1, high);
}
第八题:SQL语言题,
第九题:RISC的特点。
第十题:采用线性探测的开放定址解决冲突,够着哈希表。
第十一题:sizeof的值
#include
using namespace std;
void Fun(char a[200])
{
cout << sizeof(a) << endl;
}
int main
{
char str[] = “jfakd”;
char* p = str;
cout << sizeof(str) <
cout << sizeof(p) << endl; //4
Fun(str); //4
return 0;
}
输入结果为:6 4 4。
第十二题:活动图,就最小完成时间。
第十三题:页式存储管理中,由逻辑地址求物理地址。
第十四题:软件测试,路径覆盖法进行测试至少需要多少个测试用例。
第十五题:系统可靠度计算。
第十六题:已知中序遍历和后续遍历求中序遍历。这个题差点没做出来...
第十七题:为进程分配内存的算法。
最佳适应,最差适应,首次适应,循环首次适应
第十八题:linux系统中的Chmod命令。
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
第十九题:面向对象的概念。
第二十题:银行家算法。
填空题:
第一题:貌似是二分查找的程序,记不清楚了,比较简单。
第二题:就公交路线的最小换成次数,Dijkastra算法。
加分题:写出手机输入法程序的简单思路。
篇8:腾讯PHP实习生笔试题目
腾讯PHP实习生笔试题目
腾讯笔试题:const的含义及实现机制分析:
const的含义及实现机制,比如:const int i,是怎么做到i只可读的?
const用来说明所定义的变量是只读的,
这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。
初探编译器static、const之实现原理
腾讯笔试题:买200返100优惠券,实际上折扣是多少?
到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?
分析:
由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。
假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)
如果使用优惠券买东西不能获得新的优惠券,那么
总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.
腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?
分析:
accept发生在三次握手之后。
第一次握手:客户端发送syn包(syn=j)到服务器。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。
腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包
用UDP协议通讯时怎样得知目标机是否获得了数据包?
分析:
可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。
发送方在发送数据时将此ID和发送时间记录在本地。
接收方在收到数据后将ID再发给发送方作为回应。
发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到,
腾讯笔试题:统计论坛在线人数分布
求一个论坛的在线人数,假设有一个论坛,其注册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]。
这样我们就获得了一天中任意时间的在线人数。
腾讯笔试题:从10G个数中找到中数
在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
分析:
不妨假设10G个整数是64bit的。
2G内存可以存放256M个64bit整数。
我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。
如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。
腾讯笔试题:两个整数集合A和B,求其交集
两个整数集合A和B,求其交集。
分析:
1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。
2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。
篇9:腾讯PHP实习生笔试题目及答案解析
腾讯笔试题:const的含义及实现机制分析:
const的含义及实现机制,比如:const int i,是怎么做到i只可读的?
const用来说明所定义的变量是只读的,
这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。
初探编译器static、const之实现原理
腾讯笔试题:买200返100优惠券,实际上折扣是多少?
到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?
分析:
由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。
假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的.上限)
如果使用优惠券买东西不能获得新的优惠券,那么
总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.
腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?
分析:
accept发生在三次握手之后,
第一次握手:客户端发送syn包(syn=j)到服务器。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。
腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包
用UDP协议通讯时怎样得知目标机是否获得了数据包?
分析:
可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。
发送方在发送数据时将此ID和发送时间记录在本地。
接收方在收到数据后将ID再发给发送方作为回应。
发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。
腾讯笔试题:统计论坛在线人数分布
求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
分析:
篇10:[PHP技术]腾讯PHP实习生笔试题目及答案解析
腾讯PHP实习生笔试题目及答案解析
腾讯笔试题:const的含义及实现机制分析:
const的含义及实现机制,比如:const int i,是怎么做到i只可读的?
const用来说明所定义的变量是只读的。
这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。
初探编译器static、const之实现原理
腾讯笔试题:买200返100优惠券,实际上折扣是多少?
到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?
分析:
由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。
假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)
如果使用优惠券买东西不能获得新的优惠券,那么
总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.
腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?
分析:
accept发生在三次握手之后。
第一次握手:客户端发送syn包(syn=j)到服务器。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。
腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包
用UDP协议通讯时怎样得知目标机是否获得了数据包?
分析:
可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。
发送方在发送数据时将此ID和发送时间记录在本地。
接收方在收到数据后将ID再发给发送方作为回应。
发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。
腾讯笔试题:统计论坛在线人数分布
求一个论坛的在线人数,假设有一个论坛,其注册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]。
这样我们就获得了一天中任意时间的在线人数。
腾讯笔试题:从10G个数中找到中数
在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。
分析:
不妨假设10G个整数是64bit的。
2G内存可以存放256M个64bit整数。
我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。
如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要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的空间,每个bit代表一个数字是否出现过。
开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。
然后依次读入已经打乱循序的数字,并将对应的bit设为1。
当处理完所有数字后,根据为0的bit得出没有出现的数字。
首先计算1到10w的和,平方和。
然后计算给定数字的和,平方和。
两次的到的数字相减,可以得到这两个数字的和,平方和。
所以我们有
x + y = n
x^2 + y^2 = m
解方程可以得到x和y的值。
腾讯笔试题:需要多少只小白鼠才能在24小时内找到毒药
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?
分析:
最容易想到的就是用1000只小白鼠,每只喝一瓶。但显然这不是最好答案。
既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢?
首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的?
由于每只小白鼠都只有死或者活这两种结果,所以x只小白鼠最大可以表示2^x种结果。如果让每种结果都对应到某瓶水有毒,那么也就可以从2^x瓶水中找到有毒的那瓶水。那如何来实现这种对应关系呢?
第一只小白鼠喝第1到2^(x-1)瓶,第二只小白鼠喝第1到第2^(x-2)和第2^(x-1)+1到第2^(x-1) + 2^(x-2)瓶….以此类推。
回到此题,总过1000瓶水,所以需要最少10只小白鼠。
腾讯笔试题:根据上排的数填写下排的数,并满足要求。
根据上排给出十个数,在其下排填出对应的十个数, 要求下排每个数都是上排对应位置的数在下排出现的次数。上排的数:0,1,2,3,4,5,6,7,8,9。
腾讯笔试题:判断数字是否出现在40亿个数中?
给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?
分析:
unsigned int 的取值范围是0到2^32-1。我们可以申请连续的2^32/8=512M的内存,用每一个bit对应一个unsigned int数字。首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1。当需要查询时,直接找到对应bit,看其值是0还是1即可。
[[PHP技术]腾讯PHP实习生笔试题目及答案解析]
- 微软暑期实习招聘笔试题目2025-12-01
- 望海康信研发招聘笔试题目2024-06-18
- 供电局笔试题目2023-12-15
- 壳牌笔试题目2023-04-21
- 中国银联笔试题目2024-01-18
- 经历的笔试题目2024-08-04
- uc笔试题目2025-03-05
- Java笔试题目2022-12-11
- 网新恒天校园招聘笔试题目2022-12-15
- 银行招聘实习生2024-06-30